Подсказка

Для эффективного поиска ответа на Ваш вопрос, выберите вопросительное слово, например "Как" и соответственно этому вопросительному слову составьте свой вопрос. Если Ваш вопрос не содержит вопросительного слова, то выберите в списке -//- и просто напишите свой вопрос.

Как писать 3D игры?

Спрашивает Сергей   14 мая 2008
Как писать 3D игры?
Ответ
Структура игры примерно следующая:
-движок – программа, выполняющая следующие основные функции:
-загрузка файлов 3D объектов, 3D моделей, звуков, текстур и др.
-реализация 3D графики (рисование или точнее рендеринг 3D мира).
-реализация физики: создание силы тяжести, проверка на столкновения со стенами и т.п.
-проигрывание звуков.
-реализация интеллекта 3D моделей и их движений.
-реализация хода самой игры, её идеи.
-реализация сетевой игры.
Движок - это EXE файл игры и, возможно, подключаемые DLL.
-файлы - файлы 3D моделей, файлы текстур, файлы с описанием 3D мира, файлы звуков, файлы с различными данными.
Чтобы написать игру, Вам необходим определенный набор программ. Вам потребуется:
-компилятор языка программирования, на котором Вы собираетесь писать движок игры. Например, можно использовать такие компиляторы как DarkBasic, C++. DarkBasic предоставляет Вам почти готовый мощный движок, использующий DirectX. На С++ придется писать движок самому, но возможности будут шире.
-создатель 3D объектов и моделей - вторая по важности программа, необходимая для написания игры. С помощью этой программы Вы создадите Вашего главного героя, его врагов и анимируете их движения. Вы можете использовать 3DSMAX, например, или какие нибудь другие редакторы.
-конвертер. Часто бывает нужно конвертировать файлы с описанием 3D объектов из одного формата в другой. В этом Вам и поможет конвертер.
-графический редактор для рисования и редактирования текстур, заставок и т.д. Например, PaintShop.
-программа для написания музыки и редактор звуков.
-создатель мира помогает создать географический рельеф, комнаты, стены, текстурировать это все, создать lightmap. Пример такого редактора - Visual Terrain Maker.
Писать игру довольно сложно, поэтому желательно собрать команду: пару программистов, композитора, дизайнера, который сможет создать Вам 3D героев и т.д.
Далее рассмотрим пример создания игры в стиле 3DAction. Если Вы никогда раньше не писали игр, то сначала оцените свои силы и возможности:
-изучите основные понятия 3D графики.
-у Вас должен быть необходимый набор программ.
-изучите язык программирования, на котором будете писать движок.
-потренеруйтесь создавать 3D модели.
-наберите побольше файлов со звуками, текстуры в подходящем формате.
-попробуйте сделать небольшую игру.
Если Вы уже уверены в себе, то приступайте к разработке проекта.
Сначала придумайте интересный сюжет. Придумайте правила игры. Приступайте к разработке движка. Продумайте программу, разберите ее структуру до мелочей. Если Вы сразу начнете писать программу, не рассмотрев ее в целом, то зря потратите время, потому что чем больше будет становиться программа, тем кривее Вы ее будете писать. В итоге весь проект застопорится и придется писать движок сначала.
Структура программы примерно следующая:
-меню игры.
-процесс загрузки игры: загрузка мира, загрузка главного героя, загрузка врагов, загрузка и подготовка различных эффектов типа огня, взрывов, бликов линз и т.д.
-реализация физики: контроль столкновения со стенами, с землей, сила тяжести, действие ударной волны и прочее.
-реализация контроля врагов, интеллект врагов.
-реализация сетевой игры.
-контроль хода игры: смерть главного героя, выполнение миссии, переход на следующий уровень и т.д.
-контроль остальных объектов: контроль пуль и оружия, идикаторы состояния на экране, проигрывание звуков и музыки, контроль взрывов.

Другие ответы
1
один только вопрос автора, ставит в известность о том что он мало что понимает в программировании, я бы начал на 2Д графике, и с простых флэш игр! а так же изучил язык программирования с++ и поискал программы для графического дизайна и создания ... Еще
15 мая 2008 19:27
2
Есть еще один вариант - спец программы для создания игр.
Они обычно не требую знания языков программирования, но и действительно качественную игру на них не создать. Ссылки на подобные программы вам выдаст любой поисковик.
27 июня 2008 18:14
3
Если писать 3D игру на С++, то я посоветую воспользоваться вам OpenGL. Да он, по некоторым показателям, сильно уступает DirectX-у, зато OpenGL не так часто и глобально меняется. И если ваша игра, написанная на OpenGL-е, идёт на одном компьютере, ... Еще
14 апр. 2009 23:38

Имеются знакомства с экспертом