Большинство других постов будут «сделать игру не движком», но я собираюсь предположить, что вы имеете в виду конкретную игру, которую хотите создать, и хотите знать, когда стоит начать с чужого кода база или начать с нуля.
Вы не должны бросать свои собственные технологии, если вы не знаете, что нужно делать свои собственные . Это может показаться легкомысленным, но это действительно единственный правильный ответ. Как и в большинстве решений, есть компромиссы. Только вы можете определить для вашей конкретной ситуации анализ затрат / выгод.
Вы должны иметь представление о следующих вещах (этот список вряд ли является всеобъемлющим).
- Какое промежуточное программное обеспечение уже существует, которое вы могли бы использовать («движок» или иное)
- Что это промежуточное программное обеспечение приносит на стол, функция мудрая.
- Насколько зрелым / проверенным является промежуточное ПО, особенно если вы заботитесь о мультиплатформенной поддержке
- Какие инструменты промежуточного программного обеспечения предоставляют или не предоставляют, чтобы помочь ускорить разработку (не сбрасывайте со счетов инструменты своими технологиями)
- Какие ограничения есть у промежуточного ПО (в качестве простого примера, Unity 3.x не создавал тени в реальном времени от динамических источников света на iOS)
- Какими специфическими особенностями должна обладать ваша конкретная игра .
- Каковы ваши крайние сроки и сколько времени вам придется потратить, чтобы добраться до точки, где промежуточное программное обеспечение доставит вас по сравнению с тем, сколько стоит промежуточное программное обеспечение.
- Насколько расширяемым является промежуточное программное обеспечение (например, вы можете обойти проблему теней на iOS в Unity с помощью теней BLOB-объектов. Или, возможно, теней проекции.)
(Обратите внимание, что я специально не поставил там «больше контроля». Это загруженная фраза, которая может варьироваться от «Мне не нравится код, который я не пишу» до «Мне нужно, чтобы я мог видеть, понимать и отрегулируйте все переменные в физическом движке для достижения этого конкретного эффекта. «Первый из них не совсем корректный, но второй - это).
Лично я считаю, что внедрение собственной технологии для малобюджетной игры вряд ли стоит усилий. Количество энергии, которую вы получаете дешевые двигатели в эти дни, смешно. Вы находитесь не в той точке, где вы выбираете многомиллионную лицензию на двигатель с тройным А или нет. Вы не сможете побить то, что, скажем, Unity предлагает вам за 3 тысячи долларов. Или Cocos2d за то, что это стоит (не бесплатно?).
Теперь, если ваша игра в основном сфокусирована на какой-то технологии, которую другие движки не могут предоставить или не могут предоставить с разумной частотой кадров, то, возможно, стоит изучить, что вы можете сделать. Это не значит, что вы полностью выбрасываете другое промежуточное ПО. То, что вам нужен собственный, скажем, рендерер, не означает, что вы не можете использовать какое-то другое промежуточное программное обеспечение для физики, звука, пользовательского интерфейса или чего-то еще.