Архитектура игры

У меня есть вопрос о XNA-игре, которую я делаю, но это также общий вопрос для будущих игр. Я делаю игру в понг и точно не знаю, что и где обновлять, поэтому лучше объясню, что я имею в виду. У меня есть класс Game, Paddle и Ball, и, например, я хочу проверить столкновения между мячом и ограничениями экрана или ракетками, но я нашел 2 подхода для этого:

Подход более высокого уровня - Сделать свойства ракетки и мяча общедоступными и проверить в Game.Update на предмет столкновений?

Подход на более низком уровне - Я предоставляю всю необходимую информацию (ограничения экрана и информация о ракетках) в класс мяч (по параметрам или в Общем общедоступном статическом классе) и в Ball.Update, который я проверяю на коллизии?

Думаю, мой вопрос в более общем виде:

Должен ли объект знать как обновлять и рисовать себя, даже имея зависимости от более высоких уровней, которые каким-то образом им предоставляются?

или

Что лучше обработать на более высоких уровнях в Game.Update или Game.Draw или с помощью менеджеров для упрощения кода?

Я думаю, что это вопрос игровой логической модели, который применим к каждой игре. Не знаю, ясно ли я сформулировал свой вопрос, если нет, не стесняйтесь спрашивать.

16
задан davidsbro 17 March 2014 в 12:27
поделиться