На ЛОРе порой появляются люди, желающие поучаствовать в любительском геймдеве, написав что угодно, но обязательно под онтопик; а в недавнем опросе нашёлся 221 человек с опытом разработки игр для себя лично.
Но дальше дело идёт по одному из двух сценариев:
- Человек хочет использовать навороченную 3D графику, не понимая, что обычно AAA игры с 3D графоном пишет целая команда, где каждый сам по себе неслабый специалист, а в сумме команда имеет такой багаж знаний и опыта в самых разных областях, что одному человеку это совершенно не грозит.
- Человек пишет сверхпростую (на его взгляд) 2D или 3D first person shooter игру с нуля, в результате не может продумать архитектуру, выделить слой абстрагирования от платформы, мечется между языками и системами сборки и в итоге увязает в проблемах с головой.
Нафига так мучиться, тем более в опенсорсе? Дело в том, что есть такой движок cocos2d-x, разрабатываемый китайскими товарищами для мобильников и используемый в ряде коммерческих игр (следовательно, смерть ему не грозит). Движок работает на Оффтопе/Онтопе/Гейтопе, куче мобильников (даже tizen), имеет пермессивную лицензию и всё своё носит с собой (благодаря чему можно спокойно патчить свою версию движка).
Линукс официально поддерживается, но качество поддержки хуже, чем у android/iphone/win32, а для сборки в разделяемую библиотеку используется Makefile (с -Werror впридачу).
Так почему бы фанатам-игроделам не сделать что-то на основе этого движка? Во-первых он действительно проще типичных 3D движков, во-вторых у компании-разработчика есть желание поддерживать все платформы, но нет рабочих рук, в-третьих качество кода во многих местах хуже желаемого (например у заведомо константных методов пропущены const, а у принципиально некопируемых классов не закрыт конструктор копирования) и написать парочку нужных патчей всё ещё достаточно просто, в-четвёртых для линуксоида мобильная разработка — отличный шанс получить работу, не сталкивая свою психику с оффтопиком и его порядками.
P.S. Кстати, могу показать, как настроить себе сборку игрушки, использующей cocos2d-x, в QtCreator.