Какой шаблон дизайна лучше всего подходит для игры RTS в AS3? - PullRequest
0 голосов
/ 03 июля 2011

Мне нужны хорошие книги по шаблонам проектирования и Мне интересно, какой именно шаблон вы бы порекомендовали для Стратегической игры в реальном времени (например, Starcraft), MVC? .

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

Cheers!

Ответы [ 3 ]

4 голосов
/ 04 июля 2011

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

Но поговорим об этом немного здесь.

Система ИИ вУ rts обычно есть несколько разных уровней.Существует AI уровня блока, который может быть таким же простым, как конечный автомат на основе коммутатора, вплоть до полномасштабного дерева поведения (составные / декораторы).Вам также обычно нужна какая-то система планирования высокого уровня для AI стратегического уровня.(уровень командира и ИИ-плеер) Обычно между ними также есть несколько уровней и некоторые побочные вещи, такие как менеджеры ресурсов и т. д. Вы также можете использовать системы, основанные на событиях, которые также хорошо сочетаются с моделью, основанной на событиях Flash.

Для самого основного игрового движка можно легко реализовать базовый конечный автомат (что угодно, от переключателя на основе функции до функции на основе класса), чтобы связать все вместе и связать с этим систему меню.

ДляДля отдельных игроков Model-View-Controller - это очень естественная модель, к которой нужно стремиться, потому что вы хотите, чтобы ваши AI-игроки подвергались воздействию всего, к чему имеет доступ игрок-человек.Таким образом, единственным изменением был бы контроллер (мозг) без необходимости в представлении, очевидно.

Как я уже сказал, это не то, на что можно просто ответить, как на обычный вопрос о переполнении стека, оно полностью зависит отдизайн и как вы решите его реализовать.(как и большинство вещей) Существует множество ресурсов о дизайне игр RTS, и единственное, что я могу действительно дать, - это принять их во внимание.Даже простые RTS являются сложными системами.

Удачи вам, и я надеюсь, что этот пост даст вам представление о том, как об этом думать.(помните, что баланс в RTS - это все)

0 голосов
/ 16 июля 2011

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

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

0 голосов
/ 03 июля 2011

Для поддержки большого количества юнитов вы можете использовать Flyweight и Object Pool . Flyweight объект может храниться в нескольких байтах в большом ByteArray. Чтобы получить пригодный для использования объект, прочитайте соответствующие байты, возьмите пустой объект и заполните его данными из этих байтов. Пул объектов может содержать эти используемые объекты, чтобы предотвратить постоянное выделение / сборку мусора. Таким образом, вы можете хранить тысячи единиц в ByteArray и управлять ими через дюжину объединенных оболочек объектов.
Следует отметить, что это больше подходит для хранения свойств плитки, чем единиц, однако & mdash; плитка более или менее статична, а юниты создаются и уничтожаются на регулярной основе.

...