Инструкция
1
Обратите внимание, что движок для абсолютно любой игры составляется из многих, порой независимых друг от друга частей. Сюда входит: главное меню, игровой интерфейс, загрузка уровней, физическая модель, контроль столкновений и многое другое. Некоторые части необходимы лишь для какого-либо одного жанра. К примеру, в морском или авиационном стимуляторе нужен и важен модуль погодных явлений, но в стратегии реального времени он или не нужен вообще, или имеет второстепенное значение. Или, например, модуль выстрелов абсолютно без надобности в футбольном стимуляторе. Из таких необходимых частей и будет собираться компьютерная игра.
2
Используйте язык программирования Delphi, особенно если вы еще делаете первые шаги в данной области. Delphi – это среда разработки Object Pascal, отличающегося простотой и достаточной гибкостью, для возможности создания на нем полноценной компьютерной игры современного уровня, причем любого жанра, с полноценной трехмерностью и современным уровнем графики. Собственно говоря, среда разработки – дело вкуса каждого конкретного программиста. Например, MSVC++ , в отличие от Delphi , генерирует более быстрый код, но скорость компиляции Delphi в десятки, а может даже в сотни раз быстрее. Плюс удобный интерфейс и точное указывание строки кода, содержащей ошибку.
3
Рассмотрите пример примитивного графического движка. В нем пока еще нет многопоточности, счетчиков ссылок, умных указателей, приоритетов ресурсов и даже возможности выгрузить ставшую уже ненужной структуру. Но текущих возможностей вполне хватит, чтобы создать простую несложную игру. А для начала это уже немало.
4
Вы можете поручить движку, чтобы код инициализации был полностью скрыт в нем самом, а также чтобы движок загружал шейдеры и текстуры. А если при запуске произойдет LostDevice, то чтобы он сам восстанавливал нужные данные. И еще желательно, чтобы можно было выгружать все ресурсы и завершать всю работу с графикой одной функцией.
Полезный совет
В процессе разработки можно экономить время за счет повторного использования одного какого-то игрового движка для создания множества разных игр.