Пример модульного игрового движка? - PullRequest
2 голосов
/ 18 февраля 2010

Я нашел это очень интересное чтение: http://www.devmaster.net/articles/oo-game-design/

Автор неоднократно говорит: «Ух ты, это может быть здорово, если все будет реализовано осторожно. Это будущее!» Ну, не очень полезно. Мне нужен код, и, прежде всего, мне нужно доказательство того, что этот вид дизайна действительно работает.

Вам известен пример, который реализует некоторые концепции, упомянутые в этой статье? Может быть, небольшую игру с открытым исходным кодом можно изучить? Или, по крайней мере, место, где обсуждаются подобные понятия?

1 Ответ

7 голосов
/ 23 февраля 2010

Благодаря мудрому использованию наследования и переопределенных методов, а также вдумчивому тщательному проектированию подразумеваемых базовых классов

Конечно, хороший дизайн - это хорошо, но виртуальные методы, безусловно, не являются панацеей и имеют значительную производительность, особенно на игровых приставках.

Повторно используемый таким образом, что два созданных объекта, не обращая внимания друг на друга, могут, используя такую ​​систему разработки, работать вместе без изменений в своем коде

Нет. Любая конкретная сущность в реальной игре почти всегда будет иметь определенные детали, которые привязывают ее к этой игре. Он будет зависеть от определенного глобального состояния рендеринга (условия освещения, шейдеры, параметры шейдеров и т. Д.) И будет тесно связан с основными объектами, используемыми физической системой.

Эта система в настоящее время находится на стадии создания прототипа, однако она способна производить игры среднего качества всего за три месяца.

Число, полностью извлеченное из отверстия автора.

По крайней мере, такую ​​систему можно использовать для прототипирования игр очень быстро, что имеет свои преимущества.

Это может быть правдой, но даже создание прототипов в играх является сложной задачей. Невозможно оценить черновой вариант игры, если она работает на половине скорости. Производительность всегда имеет значение.

Короче говоря, у него есть несколько хороших идей, но, черт возьми, это не единственный верный способ делать игры. То, что он описывает, - это массивно развязанная и мелкозернистая архитектура. В принципе, это звучит неплохо, но почти всегда приводит к плохой работе и нереализуемому супу крошечных классов.

...