MVC для нестандартной игры или другой Design Pattern? - PullRequest
1 голос
/ 15 июня 2010

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

Я проектирую игровой движок в target-c с Cocoa, и он не будет использовать какие-либо компоненты пользовательского интерфейса Cocoa, кроме крайне базовых, то есть создать полноэкранное окно и получитьконтексты рисования.В работе над движком, которую я делал до использования 3D или 2D, большая часть программного обеспечения, которое рисует, очень тесно связано с программным обеспечением, которое описывает, что рисовать и т. Д. Причиной этого обычно является оптимизация (или это может быть просто плохой дизайн).

Ответы [ 2 ]

3 голосов
/ 15 июня 2010

Абстракция - это обоюдоострый меч, он облегчает разработку, но может снизить производительность.Однако многие современные игры связаны с GPU из-за красивой графики.Если вы думаете, что это правда, то, что вы делаете на ЦП, имеет меньшие последствия, так как вы все равно будете ждать на GPU для рендеринга кадра.Однако большинство сольных проектов не доходят до симпатичной графики на достаточно высоком уровне, чтобы это было правдой, поэтому вам, вероятно, все равно нужно быть осторожным.

Это не значит, что вы не можете по крайней мереидти на полпути.Фактически, большинство игр теперь выполняется в псевдо-стиле MVC, в частности, используется цикл Update / Draw, а не тривиальный цикл.По сути, у вас весь код игры отличается от кода для рисования.Ваш игровой код обновляет состояние игры, затем код ничьей отображает его.

Это особенно хорошо, если вы запускаете свой собственный физический (или другой основанный на кадрах) движок, поскольку он позволяет вам разделять FPS.из ваших циклов обновления.Например, вы можете кодировать игровой движок, чтобы он работал со скоростью 60 FPS, и просто обновлять несколько раз между вызовами отрисовки, если вам нужно.

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

1 голос
/ 15 июня 2010

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

Я предполагаю, что вы говорите о ролевой игре.

Думайте об игровом движке как о комбинации контроллера и зрителя.

Исходным входом в игровой движок является модель.

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