Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

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

Цифра, полностью извлеченная из нижнего отверстия автора.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top