Игровая архитектура платформы - компоненты представления или MVC?

Предполагая, что вход x воспроизводимо показан в примечании ниже, удалите ненужные символы и прочитайте строки, используя read.table:

read.table(text = gsub("[,+%)]", "", x), sep = "(", strip.white = TRUE, 
   col.names = c("A", "B"))

, давая:

       A    B
1 123456 -0.9
2 987456  1.0

Примечание

x <- c("123,456 (-0.9%)", "987,456 (1.0%)")
8
задан Iain 4 May 2009 в 12:19
поделиться

3 ответа

зависит от вашей аудитории, разработчики игр, в том числе и я, не очень привыкли к модели MVC, хотя большинству это известно, не так просто поддерживать чистоту, из-за жертв разработки ( никаких серьезных технических причин). Исходя из опыта, я видел десятки игровых фреймворков, начинающихся как MVC, но только пара могла поддерживать его до конца. Моя теория заключается в том, что MVC добавляет слишком большую сложность и небольшие преимущества для небольших одноразовых игр (обычно с несколькими разработчиками), и трудно поддерживать четкое разделение большинства игровых объектов на эти слои для больших / сложных игр. И поскольку у игр есть дата выпуска, они много раз жертвуют ясностью и возможностью повторного использования кода для производительности и быстрых решений adhoc (которые будут переписаны, если потребуется в дальнейшем (если они есть)).

Однако, с оговоркой выше, лучше целиться высоко, потому что, если вы добьетесь успеха, это будет лучше :), а если вы потерпите неудачу - хорошо, плохо. Так что вы, вероятно, должны попробовать MVC, но не беспокойтесь, если он потерпит неудачу, разработчики профессиональной игры много раз терпели неудачу при выполнении этой задачи :)

6
ответ дан 5 December 2019 в 17:41
поделиться

Я бы, конечно, проголосовал за то, чтобы модель ничего не знала о ее взглядах. Слабая связь хороша: более простой код модели, более простое тестирование, больше вариантов выбора.

2
ответ дан 5 December 2019 в 17:41
поделиться

Я знаю, что этот вопрос может быть устаревшим, но мне нужно ответить на него. Собственно, я начал программировать игру на Lua (с LÖVE) и начал программировать для нее MVC - Framework. Во-первых, использование MVC действительно зависит от того, чего вы хотите. Я знаю свои проблемы с программированием игр, когда программа становится больше, и в большинстве случаев структура становится слишком сложной, чтобы ее можно было поддерживать. Следующее, что я знаю, я изменю всю графику, когда найду художника, который захочет над этим работать. Но до тех пор я буду использовать свою собственную фиктивную графику. Я хочу, чтобы художник мог свободно делать то, что он хочет, без каких-либо ограничений по разрешению или цвету. Значит, мне, возможно, придется изменить весь (!) Код презентации. Возможно, даже способ взаимодействия объектов (обнаружение столкновений, например). Логика игры отражена в моделях, поэтому я могу сосредоточиться на ней. И я считаю, что игровая логика - самая важная часть создания игры. Не так ли? Надеюсь, вы понимаете мою точку зрения.

Но если у вас есть все вместе: вся графика, звуки, все это; тогда вы можете писать код прямо вперед.

Мой MVC - это конфигурируемая по соглашению задница, которая немного замедляет создание прототипов. НО (!) Итерации разработки сделать намного проще. Тестирование, особенно модульное, выполняется намного быстрее. Я бы сказал, что MVC превращает вашу кривую скорости разработки (которая обычно является антиэкспоненциальной кривой) в экспоненциальную кривую.Медленно в начале, но все быстрее и быстрее в конце.

1
ответ дан 5 December 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: