Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
![]() |
Философия, технологии, алгоритмы! |
![]() |
|
Опции темы |
![]() |
#1 | |||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
![]()
Прочёл это:
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 Цитата:
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 цитата Цитата:
************************************************** ******* Фух, и это только теория. А теперь я надеюсь, что вы поняли «в общем и целом», так что приступаем к практике. Конструкторы игр. Касательно конструкторов игр. Вы ещё не забыли в чём разница между конструктором игр и игровым движком? Добро пожаловать на сайт: gcup.ru/ Это огромный ресурс, посвящённый игровым конструкторам. И движкам тоже. Но преимущественно всё же конструкторам. Штамповать игры «под шаблон» конструктора можно даже не владея программированием. Совсем. Тут себя могут попробовать художники, специалисты по 3D моделям, дизайнеры, сценаристы. Но почти все(а хорошие – все без исключения) конструкторы игр помимо вспомогательного инструментария содержат ещё и скриптовые системы. Т.е. программировать всё равно можно, но не обязательно(или даже обязательно в некоторых конструкторах). Больше советов вам дать не могу, ибо моё знакомство с разработкой игр началось уже с программирования.(хотя может быть мне просто не повезло?) Недостатком конструкторов игр является то, что большинство из них платные(большинство хороших). И бывает легче купить конструктор на диске, чем скачать из Инета. Всё же есть несколько приемлемых «бесплатных» конструкторов, которые можно скачать. Подробнее смотрите на gcup.ru/ или здесь: gamer-club.ucoz.com/ или поищите на google.ru по запросу «конструкторы игр». Далее. Скачиваем профессиональный инструментарий разработчика игр. 1. Скачиваем VC++. Как угодно. Можно в форме Visual Studio, можно в форме конкретно компилятора Visual C++. Как у вас получится. Почему именно VC++? Во-первых, потому, что он бесплатный(хотя, если у вас медленный Интернет – дешевле купить на диске ![]() 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 он уже НЕ нужен. Продолжение следует... |
|||
![]() |
![]() |
![]() |
#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/print ![]() 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. Причина: Забыл указать какие быблиотеки нужны для программы |
![]() |
![]() |
![]() |
#3 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
![]() |
и запендюрьте в него нижеследующий код:
Волшебно))) Аффтар, давайте я угадаю - Вы еще сами эти сайты изучили в количестве двух штук прошлой ночью)))) Но уже рветесь другим советовать. Не стоит)))) З.Ы. Основы 3D математики((!!!)очень полезно(!!!) для начинающих): - убило)))) Гамедевы, мля. Ужос. Позор. |
![]() |
![]() |
![]() |
#5 |
Форумец
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40
![]() |
за усидчивость и старательность пятёрка! стоко текстра нафигачить да ещё и с сылками. иначе чотко описан путь в никуда. вообщемто чтобы быть програмистом в геймдеве достаточно знать какойто С подобный язык на среднем уровне, математику на уровне первого курса и иметь представление об основных алгоритмах и структурах данных. а дальше всё просто. фигачишь код, чем больше и разнообразней тем лучше. тут ключевой момент на начальном этапе показывать его комуто кто в теме периодически, чтобы понимать как таки делать правильно. иначе индустрия как индустрия, жмакаешь букавки получаешь денюжки, все рады и счастливы. как и в других местах)
|
![]() |
![]() |
![]() |
#6 | ||||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
Напишите лучше, о великие проф`эшнэлы.
Как напишите - так сравним. Цитата:
А знаешь почему? Потому, что в угадайки играют детишки ясельного возраста. Что есть позор для взрослого. Взрослые приводят доводы к своим мыслям. Цитата:
Цитата:
Цитата:
Учитесь выражать свои мысли. И предупреждаю сразу - мне некогда разговаривать со страдающими комплексом неполноценности. Если сказать нечего - идите самовыражаться в другое место. Есть что сказать - говорите. Я в состоянии оценить ваш уровень профессионализма. Но пока что его не видно. |
||||
![]() |
![]() |
![]() |
#7 |
Форумец
Сообщений: 2,159
Регистрация: 15.01.2003
![]() |
Избор, да не парься ты. Нормальный текстик написал. Прикольно. Правда:
* технологии ушли ОЧЕНЬ далеко вперёд от примеров nehe и пр. * разрабатывать сейчас стартапу движок с нуля - утопия. Лучше готовых все равно не сделать на первом этапе. Так что нужен 1 скриптер по LUA + 1 программер по совмещению немного ориентирующийся в движке. * Самое главное в написании игры - НОВАЯ идея, которая не потребует много времени на реализацию. За последние лет 5-6 игр с новыми идеями было мягко говоря не много. Все сосредоточились на графике и не линейностях сюжета. Такое стартапу не потянуть. Да и надоел такой трэш. Ну и так далее. ![]() |
![]() |
![]() |
![]() |
#9 | ||||
Мы вместе
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40
![]() |
Цитата:
Цитата:
Цитата:
Цитата:
Абсолютно никаких проблем. Может вы не умеете просто? Последний раз редактировалось DWanek; 05.07.2010 в 10:41. |
||||
![]() |
![]() |
![]() |
#10 |
Форумец
Сообщений: 2,159
Регистрация: 15.01.2003
![]() |
А много есть игр, писаных на делпхях, использующих D3D и успешных? На вскидку вспоминается только кривоватая "космические рейнджеры".
Да ладно. Приведение типов в дельфе - это всегда кошмар. Говорят, гланды тоже можно через попу удалить, только есть более простые способы. |
![]() |
![]() |
![]() |
#11 | |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
![]() |
Цитата:
И ни в коем случае не надо пытаться писать игры на Delphi, если вдруг и удастся чего то добиться, то потом будет мучительно больно и долго переучиваться на си. |
|
![]() |
![]() |
![]() |
#12 |
Форумец
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40
![]() |
|
![]() |
![]() |
![]() |
#15 |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
![]() |
|
![]() |
![]() |
![]() |
#16 | |
Форумец
Сообщений: 40,254
Регистрация: 27.05.2003
Возраст: 46
![]() |
Цитата:
Кроме того: Мы использовали самый разный инструментарий: С++, Delphi, Assembler и собственные скриптовые языки. http://hghltd.yandex.net/yandbtm?qtr....htm%3Fprn%3D1 |
|
![]() |
![]() |
![]() |
#17 |
Форумец
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40
![]() |
к примеру все Final Fantasy на "чистых сях". ещё какието были большие, сейчас не вспомню. но нивопрос, это всё маргиналы. т.е. либо долбанутые епонцы, либо какието парни из 80х. не мейнстрим ниразу
|
![]() |
![]() |
![]() |
#20 | |||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
Гы, даже не ожидал, что разгорится такая дискуссия.
Я-то думал, что я тут один такой - маньяк игростроя. Однако видимо игровой чёрт тыкает своим трезубцем не меня одного. И это радует. Да, кстати, когда я писал Цитата:
Теперь попробую что-нибудь ответить по порядку: Цитата:
2. Неа. Одних скриптов редко когда достаточно. Мне было недостаточно. С луа не знаком, хотя отзывы о нём хорошие. 3. Попутно выучил 3D Studio Max скрипты, трёхмерщину, текстурирование, анимацию. Так что только "скрипты писать" в игрострое это... 4. Хотя можно писать скрипты для уже готовых игр создавать новые миссии, уровни. Луче скриптов флэшпоинта мне ещё не встречалось ничего. А так я и "волшебные колечки телепортации" для моровинда делал. В общем программировать скрипты под уже готовые игры в мульон раз легче, чем делать игру с нуля. Насчёт того, что это путь в никуда это ваше личное мнение. А я надеюсь - что кому-то поможет. Цитата:
Но как сказал один хрякер "Я не могу работать инструментом, который изменяется прямо у меня в руках". К тому же мой комп древнее говна мамонта. И самое главное - у меня такое чувство, что все технологии выдаются устаревшими, когда игры на них уже написаны и разрабатываются новые технологии. Боязнь конкуренции или стремление сохранить монополию? А большинство современных игр написаны "под копирку", как будто все технологии разрабатывает один центр, а остальные "посвящённые" только пользуются. Так что единственный вариант тут, действительно, - сюжет, качество реализации. А не технологии. Взять например Фолаут 2. Какие там супертехнологии? А играть интересно. 2. По второму вопросу тоже ничего не могу возразить, потому, что свой движок делать не пытался. 3. Насчёт идей - этого добра у меня хоть отбавляй. Ток что-то не помогает... В своё время набрал массу информации по военному делу и хотел застряпать тятюшку в стиле выживальщиков(типа Robinson requiem или Деуса). Почему то в современном мире наотрез не хотят делать игры которые реально учат чему-то полезному. |
|||
![]() |
![]() |
![]() |
#21 | |||||||||||
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
Цитата:
1. Где я написал, что "всё знаю"? 2. Не надо говорить за меня, а потом объяснять мне почему я не прав. 3. Попробуем разобраться. Цитата:
Что лучше C++ или Delphi?: http://www.gamedev.ru/code/faq/?id=3564 все возражения туда, вы же проф`эшнэл лучше, чем на гамедеве? 2. Как правильно писать дельфина будете учить детишечек в школе на уроке русско-английской мовы. Цитата:
Далее. Динамический массив, о профэшнэл в дельфи РАБОТАЕТ. Но где у меня написано иное? Более того, он корректно работает и даже под движок GLScene. НО НЕ ВСЕГДА. Если не верите - попробуйте отловить этот глюк сами. Главное я вас предупредил. Цитата:
Типа логики "раз я с этим не встречался, значит этого не может быть" Сколько тебе лет, дружок? У тебя есть опыт программирования на дельфине под GLScene? Если есть, значит он достаточно невелик, потому, что я применял динамические массивы под GLScene и столкнулся с таким глюком. Цитата:
2. Пример делайте себе сами, если вам этого так хочется. Для этого возьмите Delphy7(я программировал на нём), создайте несколько вложенных классов и передайте число типа double аргументом через несколько уровней "вниз". У меня при этом "срезался" хвост deltatime, в результате чего игра мощно "убыстрялась". "Смотрите" чем вам хочется. Я советую смотреть вам ГЛАЗАМИ. А не эмоциями. Пора взрослеть. Цитата:
На паскале: Код:
program test1; var str:string; lpStr:pointer; begin lpStr:=@str; str:=’Pascal pointer!’; writeln (string(lpStr^)); readln; dispose(lpStr); lpStr:=nil; end. Код:
#і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++ считается лучше. Что подтверждено моим личным опытом. |
|||||||||||
![]() |
![]() |
![]() |
#22 | |
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
Цитата:
Да, кстати, я говорил, что на дельфине затруднена работа с динамическ5ой памятью. Так вот, когда я пытался програмировать на DelphiX там был официально признанный глюк - при попытки освобождения динамически зарезирвированной памяти возникала ошибка. Она описана в книге Михаила Краснова "DirectX Графика в проектах Delphi". http://www.delphilab.ru/content/view/98/46/ 2. А насчёт первого утверждения "нет такого понятия": Заголовок статьи: "Основы 3D математики: Векторные и матричные преобразования." http://www.gamedev.ru/articles/?id=30038 автор считает, что есть такое понятие. Кстати, куда-то подевался mirgames. Ссылки, к сожалению, не рабочие. Жаль, очень-очень хорошие статьи были. |
|
![]() |
![]() |
![]() |
#23 |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
![]() |
И все это в одном посте... Да у вас, батенька, комплексы.
|
![]() |
![]() |
![]() |
#24 | |
Форумец
Сообщений: 108
Регистрация: 21.06.2010
Возраст: 43
![]() |
Цитата:
![]() Читать/не читать - это уж как вам будет угодно. По крайней мере, ссылки на WinSDK, DirectX SDK найдёте. Литературку кой-какую тоже. А остальное можете пробросить, если не интересно или знаете лучше. Но если новичок, то лучше прочитать всё. |
|
![]() |
![]() |
![]() |
#26 |
Форумец
Сообщений: 113
Регистрация: 09.09.2008
Возраст: 40
![]() |
ну да можно писать скрипты. обычно даже есть такие специально обученные люди - скриптеры. это такие программисты у которых квалификации недостаёт писать не на скриптах, дешевое мясо. я думал мы не про них. иначе много всяких специализаций - выбирай любую и в бой! а то и несколько можно. лучший способ таки устроится в реальную компанию. чтобы глядеть на процессы, учиться у людей которые не первый год замужем. впрочем в воронеже уже с этим не так бодро как когдато.
P.S. про авторитет гейдев.ру - там людей с реальным опытом не так много. и статьи пишут далеко не только они. всегда надо думать головой) |
![]() |
![]() |
![]() |
#27 |
Форумец
Сообщений: 612
Регистрация: 14.05.2008
Возраст: 40
![]() |
3d математики действительно нет, на кого бы не ссылаться. Есть векторная алгебра, дискретная математика и т.д. и новое придумывать не стоит, не вводить в заблуждение молодежь, а то выглядит так что все ссылаются друг на друга не пытаясь даже вникнуть в то что там есть.
|
![]() |
![]() |
![]() |
#29 |
Мы вместе
Сообщений: 917
Регистрация: 15.04.2005
Возраст: 40
![]() |
Вот и я о чём.
Код:
program test1; var str:string; lpStr:pointer; begin lpStr:=@str; str:=’Pascal pointer!’; writeln (string(lpStr^)); readln; dispose(lpStr); lpStr:=nil; end. Код:
program test1; var s:string; p:pchar; begin s := '123'; p := @s[1]; writeln (p); end. Теперь по поводу оскорблений в некомпетентности и невозможности сделать что-то серьёзное на Delphi. Вот посмотрите, если интересно графику: http://www.ag.ru/games/partisan Игрушка выходила во франции и в этом году в германии. Написана исключительно на Delphi с использованием Direct3D, DirectSound, DirectInput, DirectShow. Скрипты квестов на Lua. Движок полностью написан своими силами на Delphi. Это я говорю, как один из программистов этой игры. Могу ещё ссылок поднасыпать. Так что не стоит делать таких громких заявлений, не зная о чём говорите. P.S. Если и существуют какие-то проблемы с GLScene, то это проблема кривых рук её разработчиков, а не Delphi. И ещё поделитесь, пожалуйста, примерами того, что вы лично написали. А то языком трепать во все стороны многие умеют. Последний раз редактировалось DWanek; 07.07.2010 в 21:26. |
![]() |
![]() |
![]() |
#30 |
Пессимист
Сообщений: 618
Регистрация: 22.07.2004
![]() |
Ом-ном-ном, кисо обиделось =)
Смешной вы человек. Вам прямо сказали, что приведенная инфа устарела, что дельфи - годный язык, что математические дисциплины в нормальных кругах называются по нормальному ну и так далее. Так нет, надо побросаться какашками, обозвать малолетками и попытаться гордо удалится, очевидно обидевшись на нежелание оценить великий порыв духа по несению светлого в массы. Впрочем да, идите. Там футбол начинается, а вы тут со своим геймдевом =) |
![]() |
![]() |