@KyIIpyM
Гейм-дизайнер

Какие плюсы и минусы в разработке собственного игрового движка?

Говорю сразу, в гугле был, статьи все старые + не дают ответа на мой вопрос. Тематические форумы не предлагать, слишком много тролей понаразвелось.
Игру делаем MMOFPS. Масштаб большой, при старте ожидается 5 000+ игроков.
Ни один из готовых движков нам не подходит (смотрели на BigWorld но их поддержка молчит + негативные отзывы тех кто его использует, CryEngine - опять умершая поддержка + слабая серверная часть + непонятно как его дружить с вэб частью). Было принято решение писать движок самим (программистов еще нет, они, к слову, оставшаяся часть команды которую еще не нашли), пока что я вижу такие плюсы и минусы:
+большая гибкость (что хотим то и пишем наиболее рациональным способом)
+безопасность (да, большая мера безопасности зависит от разработчиков. Но это все же безопаснее, нежели пихать костыли в чей-то готовый продукт)
+дешевле (я понимаю, что писать самим это тоже не бесплатно, но отвалить 1 000 000$ за движок + немалую сумму программистам за переделку выйдет дороже)
-долго (хотя опять же, не настолько долго чем готовый+переделка. Да и можно с умом использовать время)

Узнал я причину "мертвой" поддержки, они не хотят иметь дел с нашими ООО им немецкие или США подавай
  • Вопрос задан
  • 3680 просмотров
Решения вопроса 1
oshikuru
@oshikuru
Python-разработчик, не брезгую js / html / css
Unity3d клиент + apache thrift сеть + свой сервер на любом языке. Для старта хватит. А там на финальной версии переписать thrift rpc на свою сеть.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
donkaban
@donkaban
Умею рисовать тени
У меня три релизных проекта и в каждом свой 3D движок. Озвучу мысли по поводу
Самописаные движки оправданы если :

1. У вас доисторическое или специфическое железо или платформа
2. У вас очень специфические задачи визуализации
3. У вас локальный проект неигрового свойства, вам важно потребление ресурсов

В любых игровых проектах, ориентированных на мобильные и тем более десктопные платформы - надо использовать существующие (в количестве больше трех) готовые фреймворки. Unity3D - один из удачных вариантов, скорость, стоимость, порог вхождения.

И об "опыте". Получить опыт при написании собственного движка (а это не только рендер, если че) - это достаточно спорное достижение, отрицательный опыт - тоже опыт, но тратить силы, средства и время на "мы все делали не так" - непозволительная роскошь.
Ответ написан
Комментировать
lorka
@lorka
Game-develop
На самом деле уже ответили, но тоже внесу свои 5 копеек(ибо те же грабли).
Серверная часть Java+Apache mina, база на MySQL, контент на XML(по пунктам - кроссплатформенно, бесплатно, быстро, относительно безопасно, без особых проблем портируемо на С/SQL).
Клиент - Unity3D(на время девелоп - бесплатный, пока что необходимых средств хватает)
Писать собственный движок == безнадёжно отстать от жизни(если, конечно, под рукой нет штата программеров-акул, уже несколько лет занимающихся гейм-разработкой). Чтобы в этом убедиться, достаточно просто прикинуть план реализации какой-нить "элитной" фичи современных игр - например, воды. Внешний вид, неразрывность, отражения, блики, постэффекты, погружение...
Соглашусь по поводу - "не написали ни одной игры, а замахнулись на ММО" - писать ММО, да еще и FPS - нетривиальная задача. Вы смотрели статью, где описывалась система игры CounterStrike компенсации пинга для клиентов для стрельбы? А есть еще много нюансов - отображение целей в реальном времени(чтобы не смотрели через стены), защита от head-aim ботов, контроль передвижения(бегущий со скоростью 20км/ч игрок - спидхак? А если он падает?). Вы сейчас выбираете движок для клиента - но ни слова не сказали о серверной части - а это процентов 70 от всего проекта: как бы ни была красива картинка, но если игрок постоянно вылетает/падает сквозь текстуры/получает бан за мнимый спидхак - игра не будет популярна.
Тем не менее - если нужен готовый конструктор - рекомендую Unity3D
Если есть рукастый прогер - Ogre3D или AnarchySDK
Ну и для стартапа - PureBasic(если вы сейчас улыбнулись - посмотрите с Яндекс.картинках игры на нём, с фотоном и ngui)
В любом случае, удачного старта.
Ответ написан
Комментировать
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Большая гибкость - да, с поправкой на два-три года предварительной разработки. Чем вас гибкость CryEngine или Unity не устраивает? На них чего только не делают.
Безопасность - мы говорим про графический движок? Вы боитесь, что кто-то текстуры украдёт? Если вы про взаимодействие с сервером, то из коробки вам готовую систему всё равно никто не даст, под себя пилить и так и так придётся. А потом ещё долго тестировать, потому что уязвимости есть у всех.
Дешевле - а движок у вас кто бесплатно писать будет? Unity копейки стоит по сравнению с разработкой собственного движка.
Долго это не то слово. Через пару месяцев у вас будут только статичные модельки с примитивным освещением, потом ещё придётся делать систему материалов, анимации, тени, постэфекты... И работать оно будет только на ограниченном количестве железа. И падать из-за каких-то странных особенностей драйверов в непредсказуемых ситуациях. Свой движок это оооочень накладно. Разработка своего движка это всегда плохая идея, если вы не Ubisoft или EA.

Мне почему-то кажется, что вы ещё не сделали ни одной игры, а уже берётесь делать MMO. Начните с чего-нибудь поменьше, или сделайте хотя бы прототип на готовом движке. А то вы решаете проблему пяти тысяч игроков, а у вас не то что игры нет, вы ещё даже людей не нашли, которые её делать будут.
Ответ написан
@four4
+дешевле (я понимаю, что писать самим это тоже не бесплатно, но отвалить 1 000 000$ за движок + немалую сумму программистам за переделку выйдет дороже)


Самому писать дороже.
Дешевле будет, если только вы напишите намного более простое и узкоспециализированное подобие этих движков.

+большая гибкость (что хотим то и пишем наиболее рациональным способом)


А вы уверены, что вы потрудились изучить возможности имеющихся движков в достаточной мере, чтобы делать такие выводы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы