Разработка игрового движка
Чем лучше готовый движок
Игровой движок довольно сложная часть в разработке игры. Выбор в сторону готового движка сокращает время разработки в разы и позволяет сразу приступить к игре. Популярные движки имеют комьюнити, поддержку и много разработчиков, которые уже попробовали его в деле и выпустили свои разработки. Поэтому поиск проблем и их решение обычно занимает не так много времени, есть кто-то кто уже решал проблему до Вас.
Выбор движка по бэкграунду знаний:
- Cocos2Dx, Unreal Engine - C++
- LOVE, Corona SDK, Defold - Lua
- Unity3D - C#
- SpriteKit - Swift \ ObjectiveC
- AndEngine, LibGDX - Java
В качестве стартового движка, без наличия опыта в других - обычно советуют Unity, поскольку он востребованный и популярный. С визуальным редактором и много других плюшек. Unreal будет по-сложнее, посколько основной язык C++.
А не написать ли мне свой движок?
Вводная часть закончена, теперь можно и представиться. Меня зовут Надтока Антон, я мобильный разработчик для iOS и Android. В свободное от работы время я пишу мобильный движок для игр. Будучи студентом как и многие другие (думаю были и такие) хотел создать свой Counter Strike. Еще был OpenGL 1.1 и в то время я реализовывал небольшой движок для Windows, который позволял отображать SkyBox, оружие, уровень и эффект стрельбы. Чтобы скрыть недостатки графики использовался туман. Позже работая по разным направлениям сконцентрировался на мобильной разработке в начале 2012. Удалось пощупать и поработать с AndEngine, Cocos2Dx и Unity.
Для реализации простых 2D игрушек решил присмотреться к движкам и определиться с подходящим. Среди всего многообразия вариантов присматривался в первую очередь на Unity. Но обдумав все за и против, решил писать свой.
Причины написать сейчас свой движок:
- Узнать как все работает под капотом
- Полный контроль над кодом и поведением движка
- Компактный размер финального результата
- Добавление новых функций в конкретные сроки
- Получить кайф от разработки
Посколько я начал работать с С++ с 2005 года выбор языка отпал сам собой. За основу был взят стандарт C++11.
В следующих статьях я опишу структуру движка, его основные компоненты и написание игры.
Спасибо за внимание.