Вводная часть закончена, теперь можно и представиться. Меня зовут Надтока Антон, я мобильный разработчик для iOS и Android. В свободное от работы время я пишу мобильный движок для игр. Будучи студентом как и многие другие (думаю были и такие) хотел создать свой Counter Strike. Еще был OpenGL 1.1 и в то время я реализовывал небольшой движок для Windows, который позволял отображать SkyBox, оружие, уровень и эффект стрельбы. Чтобы скрыть недостатки графики использовался туман. Позже работая по разным направлениям сконцентрировался на мобильной разработке в начале 2012. Удалось пощупать и поработать с AndEngine, Cocos2Dx и Unity.
Мои любимые статьи про то как начну что-то делать ;) можно открывать тотализатор, на сколько статей без воды хватит автора ;)
Обычно, не более 3-х.
Разработка игрового движкаНе нужна.
Поясню.
Узнать как все работает под капотомЭто не написание движка. Это написание PoC или ещё какого тестового решения. Написание велосипедов — это всегда приветствуется. Для того, чтобы понять, как устроены чужие и какой из них тебе следует брать, а так же оптимальнее с ним работать. Но и только. Тем более когда дело касается собственного движка.
Полный контроль над кодом и поведением движкаНу, оное так для многих решений. Особенно если они опенсорсные. А дальше всё упирается в архитектуру. Как ты собрался это обходить?
Компактный размер финального результатаИ кому это нужно? Любые итоговые ресурсы проработанного персонажа по весу перевалят размер бинарника с либами на порядок (если, конечно, ты не решил генерить все ресурсы на месте). Наоборот, ужатые ресурсы сейчас не в моде в угоду быстрой загрузке на устройстве. А лишний гиг — скачают, не обломятся. То же и с местом хранения.
Добавление новых функций в конкретные срокиСвой игровой движок и разрабатывается для реализации каких-то функций, которые невозможно или нецелесообразно реализовывать на других. В обратную сторону, ради каких-то вероятных бенефитов — это не просто не рационально, но и бессмысленно. Потому что перед каждой новой фичей «за рамками» тебя ждёт долгий процесс рефакторинга (и конкретные сроки уже сразу растягиваются). Кстати, а тесты ты пишешь?
Получить кайф от разработкиНу, это замечательно, конечно. То есть решение ради процесса, а не самого решения. Собственно, о чём и я.
Unreal, Unity, CryEngine, Defold, Cocos, GM - сотни их для разных целей.
2d движок для мобилок это ещё разумно. На рынке есть по сути юнити который совсем не про это, анально огороженый дефолд, корона которая не совсем движок да и заточена под сверхмаленькие игры ну и кокос который просто кривой. Годот не щупал, не знаю что там. Пока что выглядит как ультимативное решение для 2д, но всё равно писать 2д движок всё ещё имеет смысл.
Получить кайф от разработкисомнительная но единственная причина.