Чему я должен научиться создавать Mafia 3?
Я хочу знать, какие еще вещи (например, какой 3d движок) мне нужно научиться создавать, например, в Mafia 2 или GTA IV.
5 ответов
Разработка игры со сложностью и масштабностью, скажем, Mafia или GTA - задача не из легких. Несколько сотен человек участвуют в процессе разработки такой игры, как GTA или любая другая игра ААА. Разработка является очень трудоемкой и нетривиальной задачей в целом. Для одного человека в течение жизни не должно быть возможности выполнять всю работу самых разных видов (дизайн, программирование, тестирование и т. Д.), Реализуя игру с такой же сложностью и качеством.
Кроме того, что касается предыдущих ответов, есть нечто большее, чем просто знание некоторых готовых к использованию сред или механизмов. Понимание того, что стоит за этим, является необходимым требованием для (эффективного) использования таких структур и механизмов. Например, просто чтобы указать несколько аспектов:
- Дизайн игры
- 3D Графика
- 3D моделирование
- Текстурная инженерия
- Разработка шейдеров
- Техника освещения и теней
- 3D Space Partitioning
- Методы выбраковки объектов
- Звуковая инженерия
- Управление ресурсами
- Управление объектами в игре
- 3D обнаружение столкновений и реагирование
- Программирование GUI
- Scripting
- ...
Тем не менее, для "начинающих разработчиков C++" первым шагом должно стать проникновение в язык программирования C++ (и действительно, действительно понимание концепций) и фундаментальные структуры, такие как std
а также boost
и тому подобное. Тем не менее, (хобби) разработка игр - потрясающая вещь, и я не хочу, чтобы кто-то испортил удовольствие. Скорее наоборот: я (хобби) разработчик игр, так как мне было 13 лет, так что больше половины моей жизни, и это все еще приносит массу удовольствия. Но это заняло много времени, чтобы прийти туда, где я нахожусь...
UDK(Unreal Development Kit) для движка и нереальный скрипт для языка.
Вам нужно выучить Lua или что-то подобное. С C++ вы можете создать отличный игровой движок:-)
Я не профессиональный разработчик видеоигр, но если вам интересно, вы можете взглянуть на что-то вроде openGL и начать играть с фигурами или чем-то еще. Существует инструментарий C++, так что вы можете использовать openGL, его можно найти здесь:
Хотя я не использовал эту привязку, весь мой опыт (к сожалению) связан с JOGL (Java openGL).
Все возможно:)
Первое, что вы должны сделать, это изучить C++. Вы должны узнать, как работают указатели, структуры, классы. Это то, что вам нужно выучить, без этого вы ничего не сможете создать.
Мое мнение, забудьте о любых других языках, C++ - ваш путь. Обучение может занять месяцы, но не сдавайтесь:)
После C++ вы можете изучать основы графики. Вам решать, какой путь выбрать, если DirectX или OpenGL. Я за DX.
Я знаю довольно хороший двигатель, например двигатель Leadwerks. Он имеет простой фреймворк, поэтому вы можете кодировать свою игру только с известными знаниями C++ и создавать сцены в редакторе.