Старый 29.06.2010, 18:07   #1   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Wink С чего начать делать комп. игры?

Прочёл это:
bvf.ru/forum/showthread.php?t=286672&highlight=directx
и решил написать мануал.

А ведь далеко не праздный вопрос – как это может показаться. Многие люди тратят массу времени чтобы разобраться в том, что я опишу ниже, а на программирование самой игры в результате не остаётся ни сил ни времени.

На подавляющем большинстве ресурсов это всё либо вообще не объясняется, либо показано в форме несистематизированных статей и кусков, которые способны создать настоящую кашу в вашей голове. Возможно, такое положение вещей является следствием давно известной закономерности – люди делятся на гуманитариев и техников. Гуманитариям легко объяснить что-то другим, но они не могут разобраться в сложнейших системах, с которыми постоянно приходится иметь дело программистам игр. Сами программисты игр имеют технико-математический склад ума, но из-за этого объяснить что-то другим им, как правило, очень сложно. Дело в принципах мышления.

Но к делу. Попробуем ответить на заданный вопрос. «Что нужно для создания компьютерных игр?»
1. Нужен программист, а лучше 2-3 программиста.
2. Художник/текстурировщик.
3. Специалист по 3-х мерному моделированию и анимации.(правда 2 и 3 иногда можно совмещать)
4. Композитор/специалист по звуку и работе с ним в DirectX желателен, но не обязателен. Встроить звук не так уж и сложно, а начинающие могут на первых порах вообще обойтись без звука.
5. Инструментарий.(данная статья посвящена преимущественно этому пункту)
Это по минимуму.

И с уточнением. 3D моделирование необходимо в том случае, если вы делаете 3-х мерную игру. Если же вы делаете 2-х мерную игру, то будет достаточно программиста и художника. Однако, делать 3D игры не намного сложнее. Например, при текстурировании моделей особых задатков художника и не требуется(большая сложность в самом моделировании, настройке скелета, анимировании). Так что минимальная команда «ядро» – 2 человека. Программист и художник или программист и 3D моделировщик.
Остальной состав может меняться или работать удалённо.
Хотя, конечно, желательно иметь полное «ядро» в 5-6 человек в локале(т.е. чтобы общались в живую). Это значительно повысит эффективность работы над проектом.
Более подробно смотрите:
Сколько человек нужно для создания игры?
www gamedev.ru/faq/?id=3593

Можно ли делать игры удалённо?
www gamedev.ru/code/faq/?id=3594

Ели нет денег, как набрать интузиастов?
www gamedev.ru/faq/?id=3595

Однако, в основном эта статья посвящена пункту 5(инструментарию). Но сейчас скажу пару слов и касательного всего остального.

Теперь попробуйте ответить себе на вопрос: «Сумеете ли вы в одиночку освоить все вышеозначенные профессии на должном уровне»? Ответ, к сожалению, в большинстве случаев НЕТ. Ведь, например, «Специалист по 3-хмерному моделированию» – это очень широкое понятие. Это значит, что помимо трёхмерщины(и 3D математики – векторной и матричной, спецификаций основных 3D форматов) вы должны знать 3D Studio Max скрипты потребные для создания каких-то анимаций, эффектов, анимаций водопадов и эффектов, взрывов, для конвертирования модели из одного формата в другой. И всё это не исключает знания C++ потребного для работы с 3D Studio Max SDK к примеру. Так что «специалист по 3D моделированию» это скорее моделировщик-программист-художник. Программисты тоже могут делиться на программистов физики, графики, эффектов и т.д. Однако, если вы работаете в команде, то ответ в большинстве случаев ДА.

Отсюда вывод: полноценную современную игру в одиночку создать невозможно. Без всяких «но» и «если». Другое дело «морской бой», тетрис или офисная миниигрушка(в порядке возрастания сложности) или казуальные. Но уже офисную игрушку сделать не так-то просто. Однако есть промежуточный выход. И выход этот – использовать КОНСТРУКТОРЫ ИГР. Конструкторы игр – это достаточно качественная заготовка игры, содержащая вспомогательный инструментарий. Практически этого каркас готовой игры, но без сюжета и с возможностью добавления своих текстур, моделей. Найти информацию по конструкторам игр или скачать их можно с тематических сайтов. Но об этом после, а пока, ввиду вышеприведённого делаем выводы:

1. Если вы собираетесь делать игру в одиночку или малой командой или у вас в команде нет программистов, то: конструктор игр – это единственный выход для вас. Кроме того, конструктор игр нужен для того, чтобы ознакомиться с азами игростроения и создать базовый «запас» моделей(есс-но анимированных – это самое важное), эффектов, понять, что вам нужно. В любом случае целесообразно начать знакомство с разработкой игр с конструкторов.
2. Если вы работаете командой и у вас есть программист и вы желаете сделать полноценную игру, то далее перед вами встаёт дилемма:
2.1 Что лучше – OGL, DirectX или движок? А если движок, то какой?
2.2. Какой компилятор использовать?

Ответ по OGL и DirectX здесь следующий:
OGL и DirectX – это низкоуровневые, профессиональные библиотеки и наборы заголовков. Из этого следует, что:
Они дают максимальные возможности программистам, сводят ограничения к минимуму. Но при этом программировать игры на «низком уровне» практически невозможно. В любом случае вам либо придётся взять платный или бесплатный движок под свою игру, либо написать движок самому. Подробнее смотрите здесь:
Стоит ли пользоваться движками или нужно писать своё?
www gamedev.ru/faq/?id=3595

Прелесть OGL и DirectX в том, что может сложиться так, что у вас родится идея прекрасного игрового проекта, но вы не знаете ни одного движка, который бы ему соответствовал. В таком случае вы сможете написать движок «с нуля» используя OGL или DirectX. При этом движок будет соответствовать конкретно вашему проекту на 100%.

Что ещё нужно знать:
— OpenGL – это библиотека для ВЫВОДА ГРАФИКИ. Она и расшифровывается как OGL = Open Graphic Library. Т.е. Открытая ГРАФИЧЕСКАЯ Библиотека.
— А DirectX – это полный набор инструментария для разработчика игр.

Их даже сравнивать некорректно. Так как OGL НЕ имеет, например, библиотеки отвечающей за работу с клавиатурой, то можно комбинировать DirectX(управление, пользовательский ввод) и OGL – вывод графики. А можно комбинировать их с любым движком! Хотя для этого потребуются определённая ловкость, знания.

Корректно сравнивать лишь ЧАСТЬ DirectX отвечающую за вывод графики с OGL. Это хорошо видно – OGL «в чистом виде» представляет собой всего одну *.dll библиотеку(она всегда лежит в папке windows). И несколько заголовочных файлов с расширением *.h входящих в комплект Platform SDK, Windows SDK(это расширенный набор Platform SDK) или в пакет поставки некоторых компиляторов(НЕ во все пакеты и НЕ всегда входящий...) В частности урезанная версия Win SDK входит в 9 версию Visual C++(VC++ 2008), поставляется на дисках к 8 версии(VC++ 2005). Но НЕ входит в комплект экспресс версии VC++ 8/2005. Экспресс версия это та, которую можно скачать с сайта компании Майкрософт.
Далее, некоторые заголовки OGL НЕ входят в комплект Windows SDK, поэтому их надо качать отдельно. Например, с сайта компании NVIDIA.(ох, и сколько я труда потратил, пока всё это узнал)
Где взять OGL
www gamedev.ru/code/faq/OpenGL_download

Заголовки OGL
www opengl.org/registry/#headers

Где взять заголовки и либы к OGL
www gamedev.ru/code/faq/?id=3566

Ещё о OGL SDK будет сказано ниже.

Короче, что нужно, чтобы программировать что-то с использованием OGL? Ответ: заголовочный файл GL.h. Поищите среди папок своей среды разработки. Если его там нет, то придётся качать с Интернета Windows SDK(или Platform SDK), устанавливать и подсоединять заголовки и либы.

А DirectX – это огромный пакет библиотек и заголовков самой различной спецификации. От вывода графики до библиотек работы с частицами и ускоренной работы с клавиатурой. Скачать DirectX можно с сайта компании Майкрософт или с иных источников в сети Интернет. Ищите в www google.ru по запросу DirectX SDK download и будет вам счастье. Текущая версия DirectX SDK 10. (таким же образом ищите Windows SDK).

Более подробно – что/где искать скажу ниже.

Да, кстати, – новичкам будет полезно знать, что есть DirectX. А есть DirectX SDK – и это ОЧЕНЬ РАЗНЫЕ ВЕЩИ.
SDK – это Software Development Kit. По русски – ИНСТРУМЕНТАРИЙ РАЗРАБОТЧИКА. А DirectX без SDK – это набор библиотек обеспечивающих запуск и работу игр и программ на основе DirectX на вашем компьютере. Без него большинство игр не запустится. Но и разрабатывать с его помощью вы ничего не сможете.

Аналогично прочие «SDK». Platform SDK(он же Windows SDK) – инструментарий системного программиста ОС(операционной системы) Windows. 3D Studio Max SDK – комплект разработчика написанный на С++ позволяющий писать плугины и дополнения к 3D Studio Max.

В общем, моё личное мнение таково: для разработчика игр более полезен DirectX SDK. Это полный набор инструментария для разработки игр. По DirectX и литературы в Инете навалом. Хотя считается, что графическая часть OGL – лучше. В общем DirectX и OGL – одно другому не мешает!

Теперь касательно движков.
Бесплатных движков на сегодняшний день достаточно много. Но хороших среди них всего три: это Огре(Ogre) и Иррлихт(irrlicht) на C++(огр с Borland C++ Builder НЕ совместим). И GLScene под Delphy(язык паскаль).

Ogre.
Лучшим считается Огре(Ogre), но его даже корректно запустить под вашу операционную систему не всегда получается. Кроме этого, Огре это не вполне движок. Это подобно OGL система для качественного вывода графики. Никаких вспомогательных инструментов свойственных другим движкам(например встроенных механизмов расчёта столкновений), ни чего подобного в Огре нет. Только – высококачественный вывод графики. И модульность. Модульность означает, что Огре написан так, чтобы к нему максимально облегчённо можно было подсоединить любую «внешнюю» библиотеку. Разработчики Огре сделали ставку на универсальность. К Огру можно подцепить OGL, DirectX. Любую физическую библиотеку – PhisX, ODE и т.д. Прелесть Ogre в универсальности. Помните, что я говорил о совместном использовании DirectX и OGL? – К Огре как раз и можно подцепить как OGL, так и DirectX. OGRE – Open Graphic Engine. Открытый ГРАФИЧЕСКИЙ движок. Т.е. – графика супер. Но больше ничего. Только модульность – подключай внешние «прибамбасы» и программируй что-то помимо суперграфики. Но не иначе.

Отрицательная сторона Огра – огромная сложность настройки корректной работы самого Огра и всех его внешних дополнений. Вообще сложность работы с ним.
Огромным преимуществом Огра является большое количество доступной документации в Инете, сайт поддержки(Ogre3d.org, Ogre3d.ru), даже выпущены книги по Огру.

Irrlicht.
Прост. Очень прост(хотя всё необходимое есть, просчёт столкновений, некоторые эффекты, загрузка моделей в распространённых форматах). Но это же и отрицательное качество. Всё, что ради упрощения недоделали разработчики, придётся доделывать вам. Например, игровой цикл не содержит расчета фактора deltatime(используется для задания задержки между тактами цикла, чтобы игровое время текло независимо от быстродействия «железа»). Значит, этот расчёт придётся организовать вам. Но для этого надо знать, что такое deltatime и как/где его рассчитывать.
Огромным недостатком движка является отсутствие документации на русском языке. Почти все мануалы и источники по Иррлихту на английском языке.

GLScene.
OGL + Delphy. Вообще-то прекрасный движок. Мог бы быть. Но не стал. Очень универсальный, насыщенный разнообразными технологиями, имеется поддержка большого числа трёхмерных моделей, тесно встроенный в среду разработки дльфи, блендинг анимации в формате SMD чего нет в Иррлихте(когда руки и ноги анимированные отдельно движутся синхронно), в результате чего можно создавать объекты как обычные элементы формы дельфи. Есть сайт поддержки GLScene.ru.
Но...
Первый минус в том, что Delphy среда не очень-то подходящая для разработки игр. Иногда её «ловят» очень труднопонятные глюки. Особенно при работе с динамическими массивами, ссылками и указателями. Например, вы создали камеру и динамический массив пушек косм. корабля. И действия с массивом почему-то оказывают влияние на камеру. Хотя они меж собой никак не связаны. А всё потому, что – при создании камеры тоже была задействована динамическая память и... в общем Delphy не всегда правильно работает с динамической памятью. Т.е. даже если вы всё правильно написали в коде, всё продумали, всё равно это не даёт гарантии работоспособного кода.

Следующий минус такой: при передаче переменных функциям(особенно float или double) теряется «хвост после запятой». И это бывает очень чувствительно – вы задали одно значение переменной, и оно работало как надо. Но вы перенесли эту переменную «ниже» по иерерхии, в более низкоуровневую функцию – и значение переменной изменяется! Дельфи как бы самопроизвольно округляет переменную. Например, было 0,372638476354, а стало 0,37263847 – и это уже достаточно чувствительно отражается на поведении игры. Выход здесь – пользоваться ссылками и указателями, а не переменными, но у дельфи с этим проблемы. Вообще пользоваться ссылками и указателями в дельфи сложнее, чем в C++.

Следующий минус GLScene – разработчики обожают в каждой новой версии движка менять названия модулей и рабочих функций. Переносить функции из одного модуля в другой. Из-за чего вам постоянно приходится переписывать все свои программы под новую версию. Что особенно ужасно при работе с проектом более 1-2-х лет...
Т.е. создаётся такое впечатление, что разработчики GLScene стремятся НЕ дать людям разработать масштабный проект. Мол «у нас получился слишком хороший движок для бесплатного, и теперь мы ищем способ как бы его подпортить, а то кто ж с такими бесплатными будет покупать платные?» Чтобы максимум что можно было сделать на GLScene – красивые офисные игрушки(для таких GLScene подходит очень хорошо).
Так что мой личный совет вам – обойдите этот движок стороной.
Кстати, я сам на нём пытался делать игры.

Мой нынешний выбор Irrlicht. Почему? Потому, что мне так и не удалось запустить Огра. Вторая причина в том, что комп старый, новейшую суперграфику всё равно не поддерживает. Третья причина в том, что Irrlicht прост и прекрасно подходит для обучения начинающих программистов игр. И последнее – все профессиональные программисты игр советуют начинать программировать с C++, чтобы потом избежать великого множества проблем. Однако, если вы знаете паскаль, но совершенно не знаете C++ можете попробовать и GLScene. Действительно, хороший движок, не смотря ни на что.

Теперь касательно компиляторов.
Выбор компилятора зависит от предпочтений программиста и ограничений накладываемых той или иной средой разработки. Наиболее распространённые компиляторы это Delphy, Borland C++ Builder, Visual C++.
Visual C++(экспресс версию) можно «бесплатно» скачать с Интернета, с сайта компании Майкрософт. Подробнее смотрите здесь:
forum.sources.ru/index.php?showtopic=158978

Цитата:
Сообщение от mo3r
Цитата:
Сообщение от Winston
Подскажите где можно скачать бесплатный компилятор С++ до 50 МБ (желательно микрософтский).
Микрософтовский компилятор можно скачать на сайте микрософта. Поиск рулит. Поищи гуглом "visual c++ express download" и найдешь msdn.microsoft.com/vstudio/express/visualc/download/.
Только студия, по-моему, весит более 100 метров.
В качестве более оптимального решения можно выбрать Code::blocks (IDE, использующая компилятор gcc). Весит 13 метров в полной поставке codeblocks.org/downloads.shtml
Примечание:
VS 2005 «весит» около 2гб. Но в Интернете есть диски с конкретно компилятором VC++ 2005(без всяких VS «примочек») – он как раз весит около 50мб. Но после установки занимает около 450 мб.(VS это Visual Studio помимо компилятора VC++ включающая компилятор C#, бейсика и ещё кучу всякого негодного хлама)
VS 2008 «весит» около 4-5гб.
Так что не каждый сможет качать их из Интернета.

Какие бесплатные C++ компиляторы и IDE к ним существуют?:
www gamedev.ru/code/faq/?id=3569

Какой бесплатный движок выбрать?
www gamedev.ru/code/faq/Free_Engines

Мой личный выбор VC++.

Далее.
OGL и DirectX изначально написаны на C++ и их можно «подцепить» к Borland C++ Builder или Visual C++. Правда есть специальные разновидности DirectX адаптированные конкретно под Builder C++ подробнее в статье:
Builder 6 + DeirectX SDK
www gamedev.ru/code/faq/?id=3624

Где-то в Инете была библиотека DirectX написанная под дельфи. Называлась она DelphyX. Кажется на jedy-org. Но я всё же рекомендую вам DirectX на «родном» С++.
С игровыми движками сложнее. Ogre не совместим с Borland C++ Builder. А вот с VC++ совместимы все. Модуль GL входит в стандартную поставку Delphy7 и выше. Но можно отдельно скачать его из Инета. Ссылки с ответами по библиотекам OGL на сайте gamedev.ru даны выше(там среди прочего есть – где брать библиотеки для дельфи).

Касательно Иррлихта:
Более подробное описание иррлихта на русском
www gamedev.ru/code/terms/Irrlicht

цитата
Цитата:
Поддерживаемые платформы

Win95/98/2000/NT/XP, Linux, Mac, Sun Solaris/SPARC. Ведутся работы по портированию на КПК.

Работает с Microsoft VisualStudio6.0™, VisualStudio.NET 7.0-8.0™, Metrowerks Codewarrior, Bloodshed Dev-C++ (с компилятором g++3.2-4.0), Code::Blocks.

Есть порт движка под .NET, так что теперь его можно использовать со всеми .NET-языками, как то: C#, VisualBasic, Delphi.NET, etc.
(«etc.» – это английский аналог нашего «и т.д.»)
************************************************** *******

Фух, и это только теория. А теперь я надеюсь, что вы поняли «в общем и целом», так что приступаем к практике.

Конструкторы игр.
Касательно конструкторов игр. Вы ещё не забыли в чём разница между конструктором игр и игровым движком? Добро пожаловать на сайт:
gcup.ru/

Это огромный ресурс, посвящённый игровым конструкторам. И движкам тоже. Но преимущественно всё же конструкторам. Штамповать игры «под шаблон» конструктора можно даже не владея программированием. Совсем. Тут себя могут попробовать художники, специалисты по 3D моделям, дизайнеры, сценаристы. Но почти все(а хорошие – все без исключения) конструкторы игр помимо вспомогательного инструментария содержат ещё и скриптовые системы. Т.е. программировать всё равно можно, но не обязательно(или даже обязательно в некоторых конструкторах). Больше советов вам дать не могу, ибо моё знакомство с разработкой игр началось уже с программирования.(хотя может быть мне просто не повезло?)

Недостатком конструкторов игр является то, что большинство из них платные(большинство хороших). И бывает легче купить конструктор на диске, чем скачать из Инета.
Всё же есть несколько приемлемых «бесплатных» конструкторов, которые можно скачать. Подробнее смотрите на gcup.ru/
или здесь:
gamer-club.ucoz.com/
или поищите на google.ru по запросу «конструкторы игр».

Далее.
Скачиваем профессиональный инструментарий разработчика игр.

1. Скачиваем VC++. Как угодно. Можно в форме Visual Studio, можно в форме конкретно компилятора Visual C++. Как у вас получится. Почему именно VC++? Во-первых, потому, что он бесплатный(хотя, если у вас медленный Интернет – дешевле купить на диске . Во-вторых, потому, что 90% примеров на DirectX, OGL, Ogre, Irrlicht в Интернете написано под него. Либо под совместимые с ним компиляторы.
msdn.microsoft.com/vstudio/express/visualc/download/

Ну, или устанавливаем с диска купленного у электроники или ещё где.

2. Если вы скачали VS/VC++ 2005(8 версия), то вам понадобится ещё и скачать и установить из Интернета Platform SDK(меньше по объёму) или Windows SDK(последние версии инструментария системного программиста). Это понадобится даже для программирования в DirectX или OGL(хотя и не необходимо). А вот для Иррлихта или Огре – это уже НЕОБХОДИМО(не только в OGL дело, просто эти движки используют некоторые библиотеки Win SDK).
НО:
Если вы поставили VC++ 2005 или 2008 с диска, то у вас уже имеется всё необходимое. В экспресс версии VC++ 2008 так же имеется всё необходимое.
Как бы то ни было, скачали ли мы Win SDK из Инета или поставили с диска вместе с VC++ – теперь у нас имеется OGL заголовки(единственный либ и так всегда лежит в папке с windows), а так же заголовки и библиотеки, необходимые для работы большинства движков.

«На вскидку» в Инете я нашёл следующее:
Сайт майкрософта. Размер Win SDK 1330.0 MB(примерно 1,3 гб)
www microsoft.com/downloads/details.aspx?familyid=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en

Ещё одно место
soft.mydiv.net/win/download-Microsoft-Windows-SDK.html

Сайт Майкрософт, Platform SDK размер около 400 мб
www microsoft.com/downloads/details.aspx?familyid=a55b6b43-e24f-4ea3-a93e-40c0ec4f68e5&displaylang=en

Описание на русском
msdn.microsoft.com/ru-ru/windows/bb980924.aspx

Тоже интересная страничка
www thebestsoft.com.ru/Programming/SDK-and-DDK/index.html
Например, тут:
www thebestsoft.com.ru/Programming/SDK-and-DDK/8450-microsoft-windows-xp-service-pack-platform-sdk-rc.html

Или тут посмотреть можно
software.informer.com/getfree-windows-sdk-windows-xp/

А если вам по каким-то причинам не нравится это – ищите ещё!(всё найдено на google.ru)

3. Качаем Иррлихт. Во-первых, он самый маленький, а во-вторых, самый простой.

«Домашний» сайт движка, с которого можно скачать Иррлихт
irrlicht.sourceforge.net/

Более подробное описание Иррлихта на русском
www gamedev.ru/code/terms/Irrlicht

Форум по Иррлихту(на английском)
irrlicht.sourceforge.net/phpBB2/index.php

Форум по иррлихту на gamedev.ru на русском:
www gamedev.ru/community/irrlicht/forum/

Так же смотрите одноимённое сообщество на www gamedev.ru/ и статьи с пометкой этого сообщества.

4. Хотя разрабатывать игры под Иррлихт уже можно, качаем DirectX SDK. Ни один уважающий себя разработчик игр не может без него обойтись. Кажется, на сайте Майкрософт есть проверка – и если у вас нелицензионная версия скачать DirectX SDK не удастся. Зато можно скачать его НЕ с сайта Майкрософт... но в таком случае опасайтесь вирусов.

Инстраллер с сайта НВИДИА. Хмм я даже раньше этого не видел – DirectX SDK и OGL SDK!!! OGL SDK – первый раз такое вижу.
Инсталлер DirectX SDK почему то меньше майкрософтовского. 350 мб вместо 520 мб:
developer.nvidia.com/object/sdk_home.html

Простые примеры от НВИДИА к DirectX SDK
developer.download.nvidia.com/SDK/10/direct3d/samples.html

Страничка майкрософта с DirectX SDK
www microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15

Версия директ икс
usde.ru/warez/113830-directx-software-development-kit-9-10-sdk.html

А если вам по каким-то причинам не нравится это – ищите ещё и да обрящете!(всё найдено на google.ru животворящем)

5. Далее качаем или не качаем Огра. Это уж как вам угодно. Я его запустить не сумел(ошибок компиляции небыло, но была ошибка, вероятно при попытке считать символы с некой библиотеки).
Он представляется в двух формах – в форме уже скомпонованных файлов(небольшой размер. Кто не знает компилятор ваш исходный код сначала 1.компилирует/анализирует затем 2.компонует(обычно в объектные файлы), а потом 3.собирает в исполнимый(*.exe, например) файл).

Или в форме исходного кода(огромный размер, в общей сложности вместе с VS под 10гб).

В уже скомпонованном виде запустить Огра легко, но очень часто он выдаёт какую-то ошибку, связанную с невозможности что-то подгрузить из библиотеки(у меня так и получилось). Говорят – компоновка уже у вас на компьютере из исходного кода даёт много более стабильный и безотказный результат. Но я этот способ не проверял – у меня столько места нет.

Сайт с которого можно скачать огра
www ogre3d.org

Русскоязычный сайт посвящённый огру
www ogre3d.ru

(особое внимание раздел справки, там есть все необходимые мануалы)

6. Где скачать GLScene можно узнать тут:

Русскоязычный сайт движка GLScene
glscene.ru

На этом же сайте, в разделе статей есть подробное описание – как устанавливать движок на дельфина(дельфи).

Но имея VC++, DirectX, OGL, irrlicht/Ogre он уже НЕ нужен.

Продолжение следует...
  Ответить с цитированием
Старый 29.06.2010, 18:08   #2   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Продолжение, которое следует

Устанавливаем и отлаживаем то, что скачали.
1. Устанавливаем VC++.
Тут варианты. Современные пакеты Windows SDK предлагают установить ещё и компилятор(и создают файл-установщик). Сам я этим не пользовался, поэтому ничего определённого сказать не могу. Но возможно, следует начать с установки именно Windows SDK и по ходу будет установлен и VS.

В любом случае устанавливаем VC++. Либо как отдельный сегмент, либо как часть VS, либо как часть Win SDK(как получится). Где-то на www gamedev.ru/ была статья посвящённая установке этой среды разработки. Ищите там. Но вот лично я при установке никакими мануалами не пользовался – только «Сократом персональным»(переводчкиком). И всё нормальной установил. И ещё – установка из Интернета и с диска несколько отличаются. Для проверки работоспособности, после установки, запустите VC++. Если запустится без проблем – переходите к следующему шагу.

2. Устанавливаем Windows SDK (если GL.h отсутствует в папках VS/VC++).
Если это старая версия Platform SDK, то нужно просто распаковать архив.
В противном случае запускаем инсталлер. Далее – выбираем, что устанавливать и куда, и жмём далее. Если выбирать неохота и места очень много, то просто жмём далее. Если предложат присоединиться к каким-то «сообществам разработчиков» – отказываемся. На мой взгляд, более целесообразно установить Windows SDK в папку с VS. Хотя многие мануалы рекомендуют ставить в «мои документы».

Далее варианты. Если у вас новая операционная система(например Windows 7), то всё необходимое уже должно быть подключено к VC++(это происходит автоматически в процессе установки). Но проверить не помешает. Кроме того, Platform SDK в любом случае необходимо подключать вручную.

Запустите VC++. Tools->Options->Project and solutions->VC++ directories. В открывшемся окошке, вверху справа, под надписью «Show directories for» есть выпадающий список. Откройте его. Здесь выбираем «Include files».
Смотрим, нет ли здесь пути к заголовкам(к папкам-сборникам файлов *.h включая GL.h). Например: C:\Program Files\Microsoft Visual Studio 8\SDK\v6.1\Include (в моём случае). Если нет – добавляем этот путь.

Если вы ставите Platform SDK, то там папки «Include» нет. Поэтому указываем путь в папку «bin».

Теперь, здесь же меняем вкладку «Include files» на вкладку «Library files». И если здесь нет, например: C:\Program Files\Microsoft Visual Studio 8\SDK\v6.1\Lib (в моём случае), то задаём путь к библиотекам.

Если вы ставите Platform SDK, то там папки «Lib» нет. Поэтому опять же указываем путь в ту же папку «bin».

Это то, что нужно обязательно сделать.

Нажимаем «OK» подтверждая изменения.

Тестируем результат.(проверяем – установлен ли Win SDK, видит ли его заголовки и библиотеки компилятор)
Создайте проект:
File->New->Project->General->Empty Project. Не забудьте вписать имя в поле Name вместо "<Enter_name>". Я вписал wndTst. Нажмите "ок". Справа в окне появится иконка, рядом с ней название вашего проекта и 3 папки.

Теперь:
Вариант1. Удалите все 3 папки(правой кнопкой на папке remove). Теперь щёлкните правой кнопкой мыши по названию проекта->Add->New Item->Visual C++->Code->C++ File(.cpp). Обратите внимание, что здесь же можно создавать файлы заголовков(Header File(.h)). Не забудьте вписать имя созданного файла проекта в поле "Name" вместо "<Enter_name>". Нажите "Add"(Добавить). Я написал "main", т.е. проекту был «добавлен» файл main.cpp.

Вариант 2. Щёлкните на папке "Source" правой кнопкой мыши и далее всё как выше. ->Add->New Item...
и далее, как в варианте 1.

Откройте файл "main.h" или какой создали(если он не откроется сразу)

и запендюрьте в него нижеследующий код:
Код:
#include "windows.h"

int main(){

//Где описана эта ф-ция msdn.microsoft.com/en-us/library/ms645505(VS.85).aspx
 int msgboxID = MessageBox( NULL, "Сообщение!", "Заголовок формы", MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON1);
//MB_DEFBUTTON1 означает, что по умолчанию будет выбрана 1-я кнопка.

    switch (msgboxID)
    {
     case IDCANCEL:
        MessageBox( NULL, "Вы выбрали отмена!", "Сообщение о выборе пользовтеля", MB_OK | MB_ICONWARNING | MB_DEFBUTTON1);
        break;
     case IDYES:
        MessageBox( NULL, "Вы выбрали YES!", "Сообщение о выборе пользовтеля", MB_OK | MB_ICONASTERISK | MB_DEFBUTTON1);
        break;
     case IDNO:
        MessageBox( NULL, "Вы выбрали NO!", "Сообщение о выборе пользовтеля", MB_OK | MB_ICONSTOP | MB_DEFBUTTON1);
        break;
	}

return 0;
}//end main()
После чего сохраните его, откомпилируйте и запустите на исполнение.
ctrl+s - сохранение.(всё при выделенном окне main.cpp проекта wndTst)
F7 компиляция без запуска.
F5 запуск проекта на исполнение(т.е. компоновка и линковка в плюс к компиляции).
Или нажмите зелёную стрелку вверху. Кстати, рядом с ней есть выпадающий список:
Debug – отладочный вариант проекта.
Release – релизный вариант проекта.
Если надо подсоединить какие-то библиотеки, придётся цеплять их к обоим вариантам проекта(к отладочному и релизному). Типа «Баден-Баден», как сказал один чувак. Это особенно важно при работе с DirectX.

Если не запустится убедитесь, что подключены библиотеки kernel32.lib user32.lib gdi32.lib
Тут:
Project->«Имя проекта» Properties->Configuration Properties->Linker->Input->Additional Dependencies.

Если проект у вас откомпилировался без ошибок – запустите его на исполнение. Если запустился – значит Windows SDK «фурычит»(и VC++ тоже).
Должно появиться маленькое окошко Windows с предложением выбрать «да», «нет», «выйти», после чего оно же сообщит вам – что вы выбрали.

Переходим к следующему «акту нашей драмы»(пока не запустите этот проект, переходить к следующему пункту не имеет смысла).

3. Устанавливаем irrlicht.
Это обычный архив, который можно разархивировать посредством WinRar. Разархивируем его, например в C:\Program Files\Microsoft Visual Studio 8\irrlicht
Здесь выполняем действия аналогичные уже проделанным в пункте 2.

Запустите VC++(или он уже у вас запущен).
Tools->Options->Project and solutions->VC++ directories. В открывшемся окошке, вверху справа, под надписью «Show directories for» выбираем те же вкладки. Создаём новые строки, указывающие на папки «includes» и «lib».
Например, на вкладке «Include files»:
C:\Program Files\Microsoft Visual Studio 8\irrlicht\include
И на вкладке «Library files»:
C:\Program Files\Microsoft Visual Studio 8\irrlicht\lib

Тестируем, правильно ли мы всё указали.
Теперь для проверки работоспособности Иррлихта зайдите в папку с ним. Закройте окно VC++. Сейчас оно всё равно откроется. Здесь есть папка «examples». Зайдёмте в неё. В общем, получается что-то вроде этого:
C:\Program Files\Microsoft Visual Studio 8\irrlicht\examples

Тут есть несколько *.sln файлов. Номер указывает, – для какой версии VC++ предназначены примеры. Для VC++ 2005 понадобится файл «BuildAllExamples_v8.sln». Вот и запустите его(если у вас VC++ 2005) или «BuildAllExamples_v9.sln», если у вас VC++ 2008 и т.д.
Откроется VC++. Слева ДОЛЖНО(но не обязано) появиться окно со списком доступных для компиляции проектов. НО:
а) Оно может не появиться. В таком случае откройте его. Это делает кнопка-иконка «Solution Explorer» вверху и справа(на иконке изображено окно, папка и увеличительное стекло). Если и иконок нет, то их надо открыть по щелчку правой кнопки мыши на пустой области в заголовке среды(где все меню типа файл, едит, виев и прочие) и поставьте галочку "Standart".
б) Обычно окно располагается слева. Но оно может оказаться и справа. В таком случае(для универсализма, ибо в большинстве примеров о нём написано «ищите слева») перенесите его влево. Как? Зажмите левой кнопкой мыши заголовок окна и перетаскивайте. На экране появятся артефакты-стрелки, если навести курсор(в момент перетаскивания, вестимо) на стрелку в левой части – то окно «устроится» слева. А если в правой части, тогда окно устроится справа. В общем, это хреново окно может быть где угодно.

Хорошо, рассчитываю, что вы открыли список примеров Иррлихта. Первый называется «01.HelloWorld_vc8». Щёлкаем по нему правой кнопкой мыши и в открывшемся меню выбираем «Set as StartUp Project»(выбрать как проект, который желаем запустись). Ну а теперь, собственно, запускаем. Как? Описано выше. Или зелёной стрелкой вверху или кнопкой F5. Если вы всё проделали как надо, то появится девушка и помашет вам ручкой. Можете бить в барабаны и бубны от радости – Иррлихт «пошёл», запустился. Теперь только остаётся писать на нём игры. Build->Build All запустит компиляцию ВСЕХ проектов.(правда не все откомпилируются, будут ошибки – не пугайтесь, это более-менее естественно)

4. Устанавливаем DirectX.
Тут практически всё аналогично установке Windows SDK. В процессе установки предложат присоединиться к сообществу разработчиков – отказываемся. Подключение к VC++ может быть автоматическим, а может не быть. Так что, то же самое:
Tools->Options->Project and solutions->VC++ directories. В открывшемся окошке, вверху справа, под надписью «Show directories for» выбираем те же вкладки. Смотрим, есть ли сроки на подобии этих.
На вкладке «Include files»:
C:\Program Files\Microsoft Visual Studio 8\Microsoft DirectX SDK\Include
И на вкладке «Library files»:
C:\Program Files\Microsoft Visual Studio 8\Microsoft DirectX SDK\Lib\x86

И если этих строк нет – создаём их. Обратите внимание, что у меня указано не просто «...Microsoft DirectX SDK\Lib», а «...Lib\x86». Выберите аутентичные «железу» библиотеки. Если ничего в этом не понимаете – то используйте метод научного тыка(как я, например). Т.е. подключаете первое попавшееся, смотрите работает ли? Если НЕ работает - подключаете следующее и т.д.

Тестируем – правильно ли всё настроили. Для этого заходим в
C:\Program Files\Microsoft Visual Studio 8\Microsoft DirectX SDK\Samples
Далее варианты. Можете зайти в папку:
...Microsoft DirectX SDK\Samples\C++
И попытаться откомпилировать пару проектов. Например, из папки Direct3D или Direct3D10. Тут самые красивые. DirectInput - библиотека ввода/вывода и работы с клавиатурой.
Или вы можете зайти в папку
C:\Program Files\Microsoft Visual Studio 8\Microsoft DirectX SDK\Samples\SampleBrowser
и запустить файл SampleBrowser.exe
Это откроет базу данных, которая помимо запуска файлов примеров(*.exe) имеет детальное описание механизма работы всех этих примеров. Что очень здорово – для обучения.

Я рекомендую вам сначала откомпилировать и запустить примеры – если откомпилируются и запустятся, значит, вы сможете работать с DirectX. Не пытайтесь компилировать примеры из папок с цифрой 11, если у вас ещё не установлен DirectX 11. А он на сегодняшний день ни у кого не установлен.(по крайней мере я о таких не слышал)

Если DirectX откомпилировался(может не весь, но если хотя бы по три проекта из папки (Direct3D) – порядок, работает).
Рекомендую для начала, что попроще:
EmptyProject – просто пустой проект – синее окно.(по этому видно – как сложно на DirectX запрограммировать даже пустоту!)
Text3D – работа с трёхмерным текстом.
SkinnedMesh – простая анимированная и текстурированная, трёхмерная модель женщины показана в работе.

Теперь ради обучения(не закрывая ваш откомпилированный и запущенный проект, например, SkinnedMesh) зайдите в:
Project->«Имя проекта» Properties
(там иногда бывает написано просто Properties. Это если вы выделите что-то в окне справа, тогда будет просто пропертиес, а если выделите открытое окно с кодом, тогда «Имя проекта» Properties)
Нам надо именно «Имя проекта» Properties. О, и чего здесь только нет! Но нам надо именно Linker, т.е.:
Project->«Имя проекта» Properties->Configuration Properties->Linker->Input. И в окне справа смотрите Additional Dependencies. Посмотрите сколько здесь библиотек! Вот сюда очень часто вам придётся добавлять некоторые библиотеки(при работе с DirectX). Без этого никак. Это, чтобы вы знали.

В общем, в конечном варианте путь к этому месту выглядит так:
Project->«Имя проекта» Properties->Configuration Properties->Linker->Input->Additional Dependencies.
Вам так часто придётся работать с этим, что не грех и запомнить.

Хорошо, далее.

Чтобы программировать игры у нас уже практически всё есть. Далее я просто опишу, как примерно ставить два оставшихся движка и OGL.

***************************************

5. OGRE.
Как устанавливать Огре смотрите на сайте:
www ogre3d.ru/

А «в общем и целом» существует 2 способа.
Способ 1. Скачать с сайта www ogre3d.org/ инсталлятор. И далее процесс напоминает установку DirectX SDK/Win SDK. Пути к библиотекам инсталлятор в VC++ прописывает автоматически. Ну, можете и проверить на всякий... процесс многократно описан выше.

Для проверки работоспособности заходите в папку ...examples\ и далее как в Иррлихте – запускаете *.sln файл своей версии VC++. И далее всё как при работе с Иррлихтом.

Способ 2. Собрать OGRE из исходников. Инструкции как это сделать смотрите на www ogre3d.ru в мануалах. Но для начала нужно скачать очень немаленькие архивы с исходными кодами Огра с сайта www ogre3d.org/. Я этого не делал, так что посоветовать ничего не могу.

6. GLScene.
Понятно, что для его работы нужен Delphy(но современные версии вроде бы поддерживают и Builder C++). Первым делом распаковываете архив с текущей версией GLScene. Например, glscene_v_1000714.zip(или какой там у вас?) Заходите в папку с версией вашего компилятора. Например, в папку Delphy7 или 2006 и поочерёдно запускаете файлы с расширением *.dpk. В открывшемся окне жмёте «установить всё». ОЧЕРЁДНОСТЬ ВАЖНА!!!! Если не соблюсти очерёдность, то можете установить движок «криво», так что потом и самого дельфина придётся сносить для переустановки. Какова должна быть очерёдность смотрите на glscene.ru/ в разделе статей(мануалы по установке).

Далее настраиваете пути к заголовкам в дельфине. Какие-то библиотеки там ещё нужно скопировать в папку с windows. В общем, смотрите мануалы.

7. OGL.
Он уже установлен вместе с Win SDK или входит в набор минимально необходимых библиотек и заголовков вашей среды разработки. Но как проверить его работоспособность? Первым делом поищите «GL» среди папок своего компилятора. И если он нашёлся(GL.h применительно к C++), двигаемся дальше.

Вот пример использования OGL на дельфи:
gamer-club.ucoz.com/forum/2-135-1

А вот несколько простых примеров OGL на C++:
lostangel707.narod.ru/LITER.html

Всего тут 3 файла.
1. 1(glut.h) дополнительный заголовок, необходимый для запуска примеров.
2. Небольшое пособие с несколькими простейшими примерами OGL.
3. Прекрасная книга OpenGL Red Book (русская версия) (rar-архив) (3.9Mb), за которой сегодня охотятся многие желающие программировать с применением OGL.

Тут написано как загружать простенькие объекты в OpenGL, в оконном режиме, аж на трёх компиляторах(Delphy, Borland C++ и VC++).
www gamedev.ru/code/articles/?id=4170

************************************************** *

Уф.
Подведём первые итоги.
Имея:
1.Компилятор VC++.
2. Win SDK и OGL.
3. DirectX.
4. Irrlicht или Ogre.
5. Познания в программировании.

Вы имеете всё необходимое для того, чтобы программировать игры.

Но плюс к этому вам не помешают:
3D Studio Max или иная программа по работе с трёхмерными моделями. В Интернете есть бесплатные программы. Но 3D Studio Max – это классика и многие бесплатные модели имеют расширение *.max. А с таким расширением редко кто, кроме самого макса работает.
Подробнее смотрите об этом:
Самые распространённые рпакеты 3д моделирования.
www gamedev.ru/art/faq/?id=3562

Резюме по 3-х мерным конструкторам:
1. g-Max – бесплатный, урезанный аналог 3D Studio Max, предназначенный конкретно для создания игр. Бесплатен и может быть скачан с Инета.
2. Blender 3D
Замечательный конструктор 3д моделей:
1. Бесплатный.
2. Маленький.
3. Да ещё и с открытым исходным кодом.
Просто счастье какое-то, а не 3д конструктор.

Вот соб-но сайт разработчиков, с которого я скачал блендер 3D:
www blender.org/

А вот сайт, где им можно научиться пользоваться:
blender-3d.ru/

Инструментарий художника незаменим для рисования текстур и всего прочего. Растровая графика:
Photoshop.
Векторная графика:
Corel Draw.

И другие.

И ещё понадобится куча всякого вспомогательного инструментиария.
Например, для переноса формата моделей из поддерживаемых 3D Studio Max-ом(тут хороша программа 3D Exploration:
www righthemisphere.com/3dexploration/
в поддерживаемые DirectX-ом, Иррлихтом и другими.

Очень полезна литература и примеры по
1. Программированию игр,
2. по системному программированию и по
3. обыкновенному программированию.

По обыкновенному программированию:
Что касается познаний в программировании – ценнее всего знания C++. А информация по C++ ценнее всего от разработчика спецификации C++ Бьярна Страустрапа(практически создатель языка C++).
Автор: Мюррей Хилл, Бьярн Страустрап.
Название книги: «C++»
vse-knigi.su/book/69199

Николай Джосьютис. C++ Стандартная библиотека. Для профессионалов.
www softtime.ru/cpp_info/stl.php

Самоучитель по VC++ в примерах(хотя, конечно лучше бы поискать пособие по 8-9 версии VC++):
knigaluby.ru/programmirovanie/c/1763-samouchitel-visual-c-6-v-primerakh.html

По системному программированию(гомно, но чем богаты...):

mskd.ru/?id.38309.books.Sistemnoe_programmirovanie_v_srede _Windows

knigaluby.ru/programmirovanie/win32/1776-sistemnoe-programmirovanie-v-windows.html

По системным ф-циям много тут:
wasm.ru/publist.php?list=1

правда примеры на ассемблере.

По программированию игр:

Мозговой. «Занимательное программирование». Среда разработки Delphy. Масса полезной информации и алгоритмов. Объясняется что такое фактор deltatime и для чего нужен. Азы 3D и алгоритмов архивирования. Для начинающих.
knigaluby.ru/programmirovanie/other/1896-zanimatelnoe-programmirovanie.-samouchitel.html

Физика для разработчиков игр(ВОТ ЭТО ОЧЕНЬ ПОЛЕЗНО!!!!).
knigaluby.ru/programmirovanie/c/1275-fizika-dlja-razrabotchikov-kompjuternykh-igr.html

«Секреты разработки игр», весьма «так себе», но зато описаны основные игровые жанры.
knigaluby.ru/design/flash/931-jelektronnuju-knigu-sekrety-razrabotki-igr-v.html

OpenGL. Программирование трехмерной графики Тихомиров Ю.
Размер:3.7 Мб [DJV]
rapidlinks.ru/link/?lnk=2248

Ричард С. Райт-мл. и Бенджамин Липчак - OpenGL. Суперкнига.
Вильямс, 2006 г. | 1040 стр. | ISBN 5845909988, 2672326019 | DjVu | 10.6Mb eretro.ru/designer/tutorials-3d/printage,1,5075-Skachat_besplatno_OpenGL_Superkniga.html

OpenGL.Программирование компьютерной графики. Френсис Хилл.
размер: 16,4 Мб
rapidlinks.ru/link/?lnk=39712

OpenGL
Игорь Тарасов
Электронная книга-сайт:
opengl.org.ru/books/open_gl/

Программирование графики с использованием Direct3D. Стэн Трухильо:
depositfiles.com/ru/files/2704001

DirectX и Delphi Разработка графических и мультимедийных приложений. Есенин.
depositfiles.com/ru/files/5lngqjwu3

Искусство программирования игр
easylab.net.ua/poleznaya-literatura/michail-flenov-iskusstvo-programmirovaniya-igr-na-s

3д ландшавты для С++ для игр
knigaluby.ru/programmirovanie/opengl_direct/434-skachat-jelektronnuju-knigu-sozdanie-3d.html

OGL пример движка
knigaluby.ru/programmirovanie/opengl_direct/432-skachat-jelektronnuju-knigu-grafika-trekhmernojj.html

Ф.Луна-Введение в программирование трехмерных игр с DX9.
www coders-library.ru/files-view-212.html

Марк Зальцман - "Компьютерные игры. Как это делается. "(так себе...)
www coders-library.ru/files-view-214.html
(рекомендую книгу Зельцмана "Программирование СТРАТЕГИЧЕСКИХ ИГР: как это делается". - очень просто и понятно всё написано. Для начинающих. Возможно она есть тут:
pmg.org.ru/gamedev/index.html)

Андре Ламот - Программирование игр для Windows. Очень замудрёно, профессионально.
www coders-library.ru/files-view-213.html

Флёнов DirectX для С++.
www coders-library.ru/files-cat-13-6.html

Ищите источники и статьи в Интеренете:

Сколько по времени нужно разрабатывать игру?
www gamedev.ru/faq/?id=3591

Какой жанр выбрать для игры
www gamedev.ru/faq/?id=3592

Форум по иррлихту
www gamedev.ru/community/irrlicht/forum/

Ссылка на переведённые на русский уроки по OpenGL от NeHe:
pmg.org.ru/nehe/index.html

Основы 3D математики((!!!)очень полезно(!!!) для начинающих):
mirgames.ru/articles/base/3dmath.html

Поиск путей на графах.(это область поиска пути по карте + крутое AI) НЕ для новичков.
mirgames.ru/articles/base/pathfind.html

Сайт "библиотека программиста":
www coders-library.ru/

Раздел программирование игр.
www coders-library.ru/files-cat-54.html

С++ руководства и учебники:
www coders-library.ru/files-cat-13.html

Кроме этого:
XML технология(тоже очень полезная штука, в том числе и для игр, в частности для создания меню, баз данных, любой другой структурированной информации).
www coders-library.ru/files-cat-40.html

Один из лучших уроков по 3д форматам(на примере *.3DS)
www render.ru/books/show_book.php?book_id=470

Очень неплохая статья посвящённая скелетной анимации(хоть и устаревшая, но приводятся очень ценные формулы по работе с кватернионами):
www gamedev.ru/code/articles/?id=4273


**********************************

И наконец.

Вообще по моему мнению новичкам следует знать о 3 «самых сочных» сайтах инета о программировании игр(по сложности и уровням профессионализма):
1. Огромный сайт посвящённый конструкторам игр. Всем хорош, но очень медленный(потому, что загруженный, много посетителей, мало модераторов). Из-за этого же много информационного мусора.
gcup.ru/

2. Наизамечательнейший сайт для программистов игр. Посвящён программированию 2D игр, но есть прекрасные статьи и по 3D. Огромное кол-во книг по программированию игр, прекрасные статьи. (правда книги почти все вам предлагается купить. НО. Большинство вы сможете найти в Инете и бесплатно(главное знать автора/название))
pmg.org.ru/
Толковая статья по принципам создания игр:
pmg.org.ru/site.htm

3. Сайт профессиональных игростроителей. Любители НЕ приветствуются. Вообще странная политика и манера общения на сайте(очень много троллинга и оскорблений, мат встречается часто), достаточно экзотичная структура. Например сообщество иррлихт на форуме без пол литры и не найдёшь.
www gamedev.ru/

4. Все библиотеки и сообщества, на которых можно найти литературу, статьи по программированию игр, как то:
dtf.ru/
gamedev.ru/
www chocosnow.ru/
mirgames.ru/
pmg.org.ru/
www libsdl.org/
А здесь много книг:
knigaluby.ru/programmirovanie/opengl_direct


Ну что же. Вот и всё, конец статьи.

Последний раз редактировалось Избор; 08.07.2010 в 13:49. Причина: Забыл указать какие быблиотеки нужны для программы
  Ответить с цитированием
Старый 03.07.2010, 01:14   #3   
Форумец
 
Аватар для Spectator
 
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
и запендюрьте в него нижеследующий код:
Волшебно)))

Аффтар, давайте я угадаю - Вы еще сами эти сайты изучили в количестве двух штук прошлой ночью))))
Но уже рветесь другим советовать.
Не стоит))))

З.Ы. Основы 3D математики((!!!)очень полезно(!!!) для начинающих): - убило))))
Гамедевы, мля. Ужос. Позор.
  Ответить с цитированием
Старый 03.07.2010, 12:02   #4   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Spectator, да да, и не говорите! ох уж эти пионеры, всему их учить надо! =)
  Ответить с цитированием
Старый 04.07.2010, 20:56   #5   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
за усидчивость и старательность пятёрка! стоко текстра нафигачить да ещё и с сылками. иначе чотко описан путь в никуда. вообщемто чтобы быть програмистом в геймдеве достаточно знать какойто С подобный язык на среднем уровне, математику на уровне первого курса и иметь представление об основных алгоритмах и структурах данных. а дальше всё просто. фигачишь код, чем больше и разнообразней тем лучше. тут ключевой момент на начальном этапе показывать его комуто кто в теме периодически, чтобы понимать как таки делать правильно. иначе индустрия как индустрия, жмакаешь букавки получаешь денюжки, все рады и счастливы. как и в других местах)
  Ответить с цитированием
Старый 04.07.2010, 20:57   #6   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Напишите лучше, о великие проф`эшнэлы.
Как напишите - так сравним.

Цитата:
Сообщение от Spectator
давайте я угадаю
Не угадал, бедняжка.
А знаешь почему?
Потому, что в угадайки играют детишки ясельного возраста. Что есть позор для взрослого. Взрослые приводят доводы к своим мыслям.

Цитата:
Сообщение от Spectator
Но уже рветесь другим советовать.
Посоветуйте вы, о умнейший проф`эшнэл.

Цитата:
Сообщение от Spectator
Основы 3D математики((!!!)очень полезно(!!!) для начинающих): - убило
А теперь поподробнее о том, что вас убило(надеюсь не утюг бабушки свалившийся со шкафа?)

Цитата:
Сообщение от Spectator
З.Ы. Основы 3D математики((!!!)очень полезно(!!!) для начинающих): - убило))))
Гамедевы, мля. Ужос. Позор.
Для гамедева или для вас?
Учитесь выражать свои мысли.

И предупреждаю сразу - мне некогда разговаривать со страдающими комплексом неполноценности. Если сказать нечего - идите самовыражаться в другое место.
Есть что сказать - говорите. Я в состоянии оценить ваш уровень профессионализма. Но пока что его не видно.
  Ответить с цитированием
Старый 04.07.2010, 22:00   #7   
Форумец
 
Сообщений: 2,159
Регистрация: 15.01.2003

Akad вне форума Не в сети
Избор, да не парься ты. Нормальный текстик написал. Прикольно. Правда:
* технологии ушли ОЧЕНЬ далеко вперёд от примеров nehe и пр.
* разрабатывать сейчас стартапу движок с нуля - утопия. Лучше готовых все равно не сделать на первом этапе. Так что нужен 1 скриптер по LUA + 1 программер по совмещению немного ориентирующийся в движке.
* Самое главное в написании игры - НОВАЯ идея, которая не потребует много времени на реализацию. За последние лет 5-6 игр с новыми идеями было мягко говоря не много. Все сосредоточились на графике и не линейностях сюжета. Такое стартапу не потянуть. Да и надоел такой трэш.
Ну и так далее.
  Ответить с цитированием
Старый 05.07.2010, 05:34   #8   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
я хочу делать игры, читать ? а то букав многа, кто автор ?
  Ответить с цитированием
Старый 05.07.2010, 09:11   #9   
Мы вместе
 
Аватар для DWanek
 
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40

DWanek вне форума Не в сети
Цитата:
Сообщение от Избор Посмотреть сообщение
Прочёл это: bvf.ru/forum/showthread.php?t=286672&highlight=directx и решил написать мануал.
Вот именно, что прочитали и решили, что всё знаете. Если пишете мануал, то стоит сначала разобраться в том, о чём пишите.

Цитата:
Сообщение от Избор Посмотреть сообщение
Первый минус в том, что Delphy среда не очень-то подходящая для разработки игр.
Да неужели. Интересно чем же? Стоит для начала посмотреть как правильно пишется слово Delphi. Какой там нафиг мануал.

Цитата:
Сообщение от Избор Посмотреть сообщение
Иногда её «ловят» очень труднопонятные глюки. Особенно при работе с динамическими массивами, ссылками и указателями. Например, вы создали камеру и динамический массив пушек косм. корабля. И действия с массивом почему-то оказывают влияние на камеру. Хотя они меж собой никак не связаны. А всё потому, что – при создании камеры тоже была задействована динамическая память и... в общем Delphy не всегда правильно работает с динамической памятью. Т.е. даже если вы всё правильно написали в коде, всё продумали, всё равно это не даёт гарантии работоспособного кода.
Это полный бред. Так может говорить только дилетант. Delphi прекрасно работает с динамическими массивами. И если вы всё продумали и правильно написали в коде, то это ДАЁТ 100%-ную ГАРАНТИЮ работоспособного кода. Раз вы делаете такие громкие заявления, то приведите пример правильно написанного кода, который не правильно работает.

Цитата:
Сообщение от Избор Посмотреть сообщение
Следующий минус такой: при передаче переменных функциям(особенно float или double) теряется «хвост после запятой». И это бывает очень чувствительно – вы задали одно значение переменной, и оно работало как надо. Но вы перенесли эту переменную «ниже» по иерерхии, в более низкоуровневую функцию – и значение переменной изменяется! Дельфи как бы самопроизвольно округляет переменную. Например, было 0,372638476354, а стало 0,37263847.
Ещё один бред больного человека. Чем вы интересно смотрели значение переменной после передачи её в процедуру? Хинтом в брейкпоинте? Почитайте о числах с плавающих точках: http://ru.wikipedia.org/wiki/%D0%A7%...82%D0%BE%D0%B9 и стандарте IEEE, которому Delphi соответствует полностью. НИЧЕГО ТАМ НЕ ТЕРАЕТСЯ. Дайте пример, пожалуйста.

Цитата:
Сообщение от Избор Посмотреть сообщение
Выход здесь – пользоваться ссылками и указателями, а не переменными, но у дельфи с этим проблемы.
Абсолютно никаких проблем. Может вы не умеете просто?

Последний раз редактировалось DWanek; 05.07.2010 в 10:41.
  Ответить с цитированием
Старый 05.07.2010, 13:13   #10   
Форумец
 
Сообщений: 2,159
Регистрация: 15.01.2003

Akad вне форума Не в сети
Цитата:
Сообщение от DWanek Посмотреть сообщение
Да неужели. Интересно чем же?
А много есть игр, писаных на делпхях, использующих D3D и успешных? На вскидку вспоминается только кривоватая "космические рейнджеры".
Цитата:
Сообщение от DWanek Посмотреть сообщение
Абсолютно никаких проблем. Может вы не умеете просто?
Да ладно. Приведение типов в дельфе - это всегда кошмар. Говорят, гланды тоже можно через попу удалить, только есть более простые способы.
  Ответить с цитированием
Старый 05.07.2010, 19:29   #11   
Форумец
 
Аватар для Spectator
 
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Избор Посмотреть сообщение
А теперь поподробнее о том, что вас убило(надеюсь не утюг бабушки свалившийся со шкафа?)
Нет такого понятия - 3D математика. Это и убило.
И ни в коем случае не надо пытаться писать игры на Delphi, если вдруг и удастся чего то добиться, то потом будет мучительно больно и долго переучиваться на си.
  Ответить с цитированием
Старый 05.07.2010, 22:50   #12   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Нет такого понятия - 3D математика. Это и убило.
И ни в коем случае не надо пытаться писать игры на Delphi, если вдруг и удастся чего то добиться, то потом будет мучительно больно и долго переучиваться на си.
на си в наше время тоже не пишут, разве епонцы какие.
  Ответить с цитированием
Старый 05.07.2010, 23:19   #13   
Форумец
 
Аватар для Spectator
 
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от lukas Посмотреть сообщение
на си в наше время тоже не пишут, разве епонцы какие.
На С++, если Вам так хочется придраться)))
  Ответить с цитированием
Старый 06.07.2010, 09:21   #14   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
ну не то чтобы придраться просто они достаточно разные, чтобы различать) и пишут на них обычно очень по разному, особенно поначалу)
  Ответить с цитированием
Старый 06.07.2010, 18:52   #15   
Форумец
 
Аватар для Spectator
 
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от lukas Посмотреть сообщение
ну не то чтобы придраться просто они достаточно разные, чтобы различать) и пишут на них обычно очень по разному, особенно поначалу)
Я никогда не видел чтобы за последние лет десять кто-то писал на "чистых сях" программу более чем из нескольких функций.
  Ответить с цитированием
Старый 06.07.2010, 19:57   #16   
Форумец
 
Аватар для Spectator
 
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46

Spectator вне форума Не в сети
Цитата:
Сообщение от Akad Посмотреть сообщение
А много есть игр, писаных на делпхях, использующих D3D и успешных? На вскидку вспоминается только кривоватая "космические рейнджеры".
Она не столько кривоватая, сколько тормозноватая.
Кроме того: Мы использовали самый разный инструментарий: С++, Delphi, Assembler и собственные скриптовые языки.
http://hghltd.yandex.net/yandbtm?qtr....htm%3Fprn%3D1
  Ответить с цитированием
Старый 06.07.2010, 23:18   #17   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
Цитата:
Сообщение от Spectator Посмотреть сообщение
Я никогда не видел чтобы за последние лет десять кто-то писал на "чистых сях" программу более чем из нескольких функций.
к примеру все Final Fantasy на "чистых сях". ещё какието были большие, сейчас не вспомню. но нивопрос, это всё маргиналы. т.е. либо долбанутые епонцы, либо какието парни из 80х. не мейнстрим ниразу
  Ответить с цитированием
Старый 06.07.2010, 23:35   #18   
Форумец
 
Аватар для The_God
 
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 42

The_God вне форума Не в сети
откуда инфа про final fantasy ?
  Ответить с цитированием
Старый 07.07.2010, 09:48   #19   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
парни реверсили с одной стороны, с другой там какието знакомые знакомых были
  Ответить с цитированием
Старый 07.07.2010, 17:42   #20   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Гы, даже не ожидал, что разгорится такая дискуссия.
Я-то думал, что я тут один такой - маньяк игростроя. Однако видимо игровой чёрт тыкает своим трезубцем не меня одного. И это радует.

Да, кстати, когда я писал
Цитата:
Напишите лучше, о великие проф`эшнэлы.
Как напишите - так сравним.
Это относилось к постам Спектратора и dn2k4. Поста lukas тогда ещё небыло.

Теперь попробую что-нибудь ответить по порядку:

Цитата:
Сообщение от lukas
за усидчивость и старательность пятёрка! стоко текстра нафигачить да ещё и с сылками. иначе чотко описан путь в никуда. вообщемто чтобы быть програмистом в геймдеве достаточно знать какойто С подобный язык на среднем уровне, математику на уровне первого курса и иметь представление об основных алгоритмах и структурах данных. а дальше всё просто. фигачишь код, чем больше и разнообразней тем лучше. тут ключевой момент на начальном этапе показывать его комуто кто в теме периодически, чтобы понимать как таки делать правильно. иначе индустрия как индустрия, жмакаешь букавки получаешь денюжки, все рады и счастливы. как и в других местах)
1. Усидчивость не совсем то. Просто я сам начал писать потихоньку и удивился сколько всего надо знать, чтобы ПРОСТО НАЧАТЬ. Я ведь всего лишь делился своим НАРАБОТАННЫМ на 3 некоммерческих проектах опытом.
2. Неа. Одних скриптов редко когда достаточно. Мне было недостаточно. С луа не знаком, хотя отзывы о нём хорошие.
3. Попутно выучил 3D Studio Max скрипты, трёхмерщину, текстурирование, анимацию. Так что только "скрипты писать" в игрострое это...
4. Хотя можно писать скрипты для уже готовых игр создавать новые миссии, уровни. Луче скриптов флэшпоинта мне ещё не встречалось ничего. А так я и "волшебные колечки телепортации" для моровинда делал.
В общем программировать скрипты под уже готовые игры в мульон раз легче, чем делать игру с нуля.

Насчёт того, что это путь в никуда это ваше личное мнение. А я надеюсь - что кому-то поможет.

Цитата:
Сообщение от Akad
Избор, да не парься ты. Нормальный текстик написал. Прикольно. Правда:
* технологии ушли ОЧЕНЬ далеко вперёд от примеров nehe и пр.
* разрабатывать сейчас стартапу движок с нуля - утопия. Лучше готовых все равно не сделать на первом этапе. Так что нужен 1 скриптер по LUA + 1 программер по совмещению немного ориентирующийся в движке.
* Самое главное в написании игры - НОВАЯ идея, которая не потребует много времени на реализацию. За последние лет 5-6 игр с новыми идеями было мягко говоря не много. Все сосредоточились на графике и не линейностях сюжета. Такое стартапу не потянуть. Да и надоел такой трэш.
Ну и так далее.
1. Насчёт технологий особо возразить не могу.
Но как сказал один хрякер "Я не могу работать инструментом, который изменяется прямо у меня в руках".
К тому же мой комп древнее говна мамонта.
И самое главное - у меня такое чувство, что все технологии выдаются устаревшими, когда игры на них уже написаны и разрабатываются новые технологии. Боязнь конкуренции или стремление сохранить монополию? А большинство современных игр написаны "под копирку", как будто все технологии разрабатывает один центр, а остальные "посвящённые" только пользуются.
Так что единственный вариант тут, действительно, - сюжет, качество реализации. А не технологии.
Взять например Фолаут 2. Какие там супертехнологии? А играть интересно.
2. По второму вопросу тоже ничего не могу возразить, потому, что свой движок делать не пытался.
3. Насчёт идей - этого добра у меня хоть отбавляй. Ток что-то не помогает... В своё время набрал массу информации по военному делу и хотел застряпать тятюшку в стиле выживальщиков(типа Robinson requiem или Деуса).
Почему то в современном мире наотрез не хотят делать игры которые реально учат чему-то полезному.
  Ответить с цитированием
Старый 07.07.2010, 19:08   #21   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Цитата:
Сообщение от DWanek
Цитата:
Сообщение от Избор
Прочёл это: bvf.ru/forum/showthread.php?t=286672&highlight=directx и решил написать мануал.
Вот именно, что прочитали и решили, что всё знаете. Если пишете мануал, то стоит сначала разобраться в том, о чём пишите.
Ещё один проф`эшнэл?
1. Где я написал, что "всё знаю"?
2. Не надо говорить за меня, а потом объяснять мне почему я не прав.
3. Попробуем разобраться.

Цитата:
Сообщение от DWanek
Цитата:
Сообщение от Избор
Первый минус в том, что Delphy среда не очень-то подходящая для разработки игр.
Да неужели. Интересно чем же? Стоит для начала посмотреть как правильно пишется слово Delphi. Какой там нафиг мануал.
1. Представьте себе.
Что лучше C++ или Delphi?:
http://www.gamedev.ru/code/faq/?id=3564
все возражения туда, вы же проф`эшнэл лучше, чем на гамедеве?

2. Как правильно писать дельфина будете учить детишечек в школе на уроке русско-английской мовы.

Цитата:
Сообщение от DWanek
Цитата:
Сообщение от Избор
Иногда её «ловят» очень труднопонятные глюки. Особенно при работе с динамическими массивами, ссылками и указателями. Например, вы создали камеру и динамический массив пушек косм. корабля. И действия с массивом почему-то оказывают влияние на камеру. Хотя они меж собой никак не связаны. А всё потому, что – при создании камеры тоже была задействована динамическая память и... в общем Delphy не всегда правильно работает с динамической памятью. Т.е. даже если вы всё правильно написали в коде, всё продумали, всё равно это не даёт гарантии работоспособного кода.
Это полный бред. Так может говорить только дилетант. Delphi прекрасно работает с динамическими массивами. И если вы всё продумали и правильно написали в коде, то это ДАЁТ 100%-ную ГАРАНТИЮ работоспособного кода. Раз вы делаете такие громкие заявления, то приведите пример правильно написанного кода, который не правильно работает.
"Это полный бред" - аргумент спесивой малолетки.
Далее.
Динамический массив, о профэшнэл в дельфи РАБОТАЕТ. Но где у меня написано иное?
Более того, он корректно работает и даже под движок GLScene.
НО НЕ ВСЕГДА.
Если не верите - попробуйте отловить этот глюк сами. Главное я вас предупредил.

Цитата:
И если вы всё продумали и правильно написали в коде, то это ДАЁТ 100%-ную ГАРАНТИЮ работоспособного кода.
блажен, кто верует.
Типа логики "раз я с этим не встречался, значит этого не может быть"
Сколько тебе лет, дружок?
У тебя есть опыт программирования на дельфине под GLScene?
Если есть, значит он достаточно невелик, потому, что я применял динамические массивы под GLScene и столкнулся с таким глюком.

Цитата:
Сообщение от DWanek
Цитата:
Сообщение от Избор
Следующий минус такой: при передаче переменных функциям(особенно float или double) теряется «хвост после запятой». И это бывает очень чувствительно – вы задали одно значение переменной, и оно работало как надо. Но вы перенесли эту переменную «ниже» по иерерхии, в более низкоуровневую функцию – и значение переменной изменяется! Дельфи как бы самопроизвольно округляет переменную. Например, было 0,372638476354, а стало 0,37263847.
Ещё один бред больного человека. Чем вы интересно смотрели значение переменной после передачи её в процедуру? Хинтом в брейкпоинте? Почитайте о числах с плавающих точках: http://ru.wikipedia.org/wiki/%D0%A7%...82%D0%BE%D0%B9 и стандарте IEEE, которому Delphi соответствует полностью. НИЧЕГО ТАМ НЕ ТЕРАЕТСЯ. Дайте пример, пожалуйста.
1. "Ещё один бред больного человека." это убогая попытка малолетнего недоучки показаться умным профэшнэлом. Потому, что больше-то сказать нечего.

2. Пример делайте себе сами, если вам этого так хочется. Для этого возьмите Delphy7(я программировал на нём), создайте несколько вложенных классов и передайте число типа double аргументом через несколько уровней "вниз". У меня при этом "срезался" хвост deltatime, в результате чего игра мощно "убыстрялась".
"Смотрите" чем вам хочется. Я советую смотреть вам ГЛАЗАМИ. А не эмоциями. Пора взрослеть.

Цитата:
Сообщение от DWanek
Цитата:
Сообщение от Избор
Выход здесь – пользоваться ссылками и указателями, а не переменными, но у дельфи с этим проблемы.
Абсолютно никаких проблем. Может вы не умеете просто?
Тогда приведём примеры работы на дельфине и на C++ и сравним их. Например разыменовывания указателя.

На паскале:
Код:
program test1;
var str:string;
    lpStr:pointer;
begin
     lpStr:=@str;
     str:=’Pascal pointer!’;
     writeln (string(lpStr^));
     readln;
     dispose(lpStr);
     lpStr:=nil;
end.
На C++
Код:
    #іncludе <іostrеam>
    іnt maіn(int argc, char *argv[])

    {

      char *lpString;  // Обьявим переменную-указатель на тип char

      char String[] = «Наша новая строка»;  // Обьявим массив (строку)

      cout << String << endl;    // Выводим строку через переменную

    lpString = &String[0];    // Присвоим указателю начальный адрес String

      cout << lpString << endl;   // Выводим строку через указатель

      return 0;                             // Конец программы

    }
Где проще? Где гибше? А как вы на дельфине будете перегружать операторы?
А вообще-то священных войн на тему "что лучше C++ или дельфин" полно на гамедеве. Идите туда и разбирайтесь, если интересно.(ссылку дал, аж второй раз, на бис)
Т.е. конкретно для создания игр C++ считается лучше.
Что подтверждено моим личным опытом.
  Ответить с цитированием
Старый 07.07.2010, 19:27   #22   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Цитата:
Сообщение от Spectator
Нет такого понятия - 3D математика. Это и убило.
И ни в коем случае не надо пытаться писать игры на Delphi, если вдруг и удастся чего то добиться, то потом будет мучительно больно и долго переучиваться на си.
1. Насчёт 2 совета - что-то вроде того. По крайней мере DirectX на дельфине есть, но это чудовищное извращение.

Да, кстати, я говорил, что на дельфине затруднена работа с динамическ5ой памятью. Так вот, когда я пытался програмировать на DelphiX там был официально признанный глюк - при попытки освобождения динамически зарезирвированной памяти возникала ошибка.
Она описана в книге Михаила Краснова "DirectX Графика в проектах Delphi".
http://www.delphilab.ru/content/view/98/46/

2. А насчёт первого утверждения "нет такого понятия":
Заголовок статьи:
"Основы 3D математики: Векторные и матричные преобразования."
http://www.gamedev.ru/articles/?id=30038
автор считает, что есть такое понятие.

Кстати, куда-то подевался mirgames. Ссылки, к сожалению, не рабочие. Жаль, очень-очень хорошие статьи были.
  Ответить с цитированием
Старый 07.07.2010, 19:32   #23   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Цитата:
Сообщение от Избор Посмотреть сообщение
будете учить детишечек в школе
Цитата:
Сообщение от Избор Посмотреть сообщение
аргумент спесивой малолетки
Цитата:
Сообщение от Избор Посмотреть сообщение
Сколько тебе лет, дружок?
Цитата:
Сообщение от Избор Посмотреть сообщение
убогая попытка малолетнего недоучки
Цитата:
Сообщение от Избор Посмотреть сообщение
Пора взрослеть.
И все это в одном посте... Да у вас, батенька, комплексы.
  Ответить с цитированием
Старый 07.07.2010, 20:09   #24   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Цитата:
Сообщение от The_God
я хочу делать игры, читать ? а то букав многа, кто автор ?
Автор йя!!!

Читать/не читать - это уж как вам будет угодно.
По крайней мере, ссылки на WinSDK, DirectX SDK найдёте. Литературку кой-какую тоже. А остальное можете пробросить, если не интересно или знаете лучше.
Но если новичок, то лучше прочитать всё.
  Ответить с цитированием
Старый 07.07.2010, 20:13   #25   
Форумец
 
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43

Избор вне форума Не в сети
Цитата:
Сообщение от dn2k4
И все это в одном посте... Да у вас, батенька, комплексы.
На троллинг больше не отвечаю.
  Ответить с цитированием
Старый 07.07.2010, 20:26   #26   
Форумец
 
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40

lukas вне форума Не в сети
ну да можно писать скрипты. обычно даже есть такие специально обученные люди - скриптеры. это такие программисты у которых квалификации недостаёт писать не на скриптах, дешевое мясо. я думал мы не про них. иначе много всяких специализаций - выбирай любую и в бой! а то и несколько можно. лучший способ таки устроится в реальную компанию. чтобы глядеть на процессы, учиться у людей которые не первый год замужем. впрочем в воронеже уже с этим не так бодро как когдато.

P.S. про авторитет гейдев.ру - там людей с реальным опытом не так много. и статьи пишут далеко не только они. всегда надо думать головой)
  Ответить с цитированием
Старый 07.07.2010, 20:29   #27   
Форумец
 
Аватар для Andrei_ra
 
Сообщений: 612
Регистрация: 14.05.2008
Возраст: 40

Andrei_ra вне форума Не в сети
3d математики действительно нет, на кого бы не ссылаться. Есть векторная алгебра, дискретная математика и т.д. и новое придумывать не стоит, не вводить в заблуждение молодежь, а то выглядит так что все ссылаются друг на друга не пытаясь даже вникнуть в то что там есть.
  Ответить с цитированием
Старый 07.07.2010, 20:31   #28   
Форумец
 
Аватар для Andrei_ra
 
Сообщений: 612
Регистрация: 14.05.2008
Возраст: 40

Andrei_ra вне форума Не в сети
о даже векторной алгебры нет, есть линейная как раз касательно векторов
  Ответить с цитированием
Старый 07.07.2010, 20:41   #29   
Мы вместе
 
Аватар для DWanek
 
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40

DWanek вне форума Не в сети
Цитата:
Сообщение от dn2k4 Посмотреть сообщение
И все это в одном посте... Да у вас, батенька, комплексы.
Вот и я о чём.

Код:
program test1;
var str:string;
    lpStr:pointer;
begin
     lpStr:=@str;
     str:=’Pascal pointer!’;
     writeln (string(lpStr^));
     readln;
     dispose(lpStr);
     lpStr:=nil;
end.
Акститесь уважаемый. Какой dispose? Операторы new и dispose почили давным давно вместе с турбо паскалем. Хотите обращаться к строке по указателю? Пожалуйста:

Код:
program test1;
var 
  s:string;
  p:pchar;
begin
  s := '123';
  p := @s[1];
  writeln (p);       
end.
Вот и сравнивайте как лучше. Нилить локальные переменные не нужно фиг знает с какой версии Delphi. Я, собственно, и сказал, что не умеете.

Теперь по поводу оскорблений в некомпетентности и невозможности сделать что-то серьёзное на Delphi. Вот посмотрите, если интересно графику: http://www.ag.ru/games/partisan Игрушка выходила во франции и в этом году в германии. Написана исключительно на Delphi с использованием Direct3D, DirectSound, DirectInput, DirectShow. Скрипты квестов на Lua. Движок полностью написан своими силами на Delphi. Это я говорю, как один из программистов этой игры. Могу ещё ссылок поднасыпать.

Так что не стоит делать таких громких заявлений, не зная о чём говорите.

P.S. Если и существуют какие-то проблемы с GLScene, то это проблема кривых рук её разработчиков, а не Delphi.
И ещё поделитесь, пожалуйста, примерами того, что вы лично написали. А то языком трепать во все стороны многие умеют.

Последний раз редактировалось DWanek; 07.07.2010 в 21:26.
  Ответить с цитированием
Старый 07.07.2010, 21:25   #30   
Пессимист
 
Аватар для dn2k4
 
Сообщений: 618
Регистрация: 22.07.2004

dn2k4 вне форума Не в сети
Цитата:
Сообщение от Избор Посмотреть сообщение
На троллинг больше не отвечаю.
Ом-ном-ном, кисо обиделось =)

Смешной вы человек. Вам прямо сказали, что приведенная инфа устарела, что дельфи - годный язык, что математические дисциплины в нормальных кругах называются по нормальному ну и так далее. Так нет, надо побросаться какашками, обозвать малолетками и попытаться гордо удалится, очевидно обидевшись на нежелание оценить великий порыв духа по несению светлого в массы.

Впрочем да, идите. Там футбол начинается, а вы тут со своим геймдевом =)
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind