Civilization 5
CIVru.com  


Первая книга серии уже в продаже
База. Начало - 1
Зеленый договор - 16
Зеленый договор - 1
Проблемы индейцев шерифа не волнуют - 7
CivRu рекомендует - Endless Space
Цивилизация 6 - Civilization VI - Civilization 6
Проблемы индейцев шерифа не волнуют
Цивилизация на Карте Земли
Коллективные игры в Цивилизацию
Скачать Civilization 5
"Поглядеть на фильму..."
"Российская власть"
"Музыку наверно слушаем?.."
"Командный турнир 2х2 в Civilization VI Rise and fall"
"Катастрофы последних дней"

 
 CIVru.com > Наша "Цивилизация" > Архив К+ > В разработке
Главная
Форум
Травиан
Турниры и Игры
Онлайн-книга "Альтерра"
Наша "Цивилизация"
    Архив К+
        В разработке
        Ресурсы
        Городской экран
        Основной экран
        Редактор
    Концепты
    Альтернативизация
        Обсуждения
        Модели, идеи
        Проект диздока
        Легенда
    Другие проекты
Civilization 5
Civilization 4
Civilization 3
Civilization 2
Civilization 1
Galactic Civilizations 2
Total War Medieval 2
Total War Rome, BI, Alex.
Другие "Цивилизации"
Вне игры

Контакты

Цив-паспорт

 
 

Поиск

 
Текст

Весь сайт
 

 

 

 

 

 

 

 

 

 

 

 

Колонизация+: применение обьектно-ориентированного подхода в разработке стратегических игр

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

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

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

Объектная модель описывает структуру объектов, составляющих игру, их свойства, операции, взаимосвязи с другими объектами. В объектной модели должны быть отражены те понятия и объекты реального мира, которые важны для разрабатываемой игры
По определению будем называть объектом понятие, абстракцию или любую вещь с четко очерченными границами, имеющую смысл в контексте рассматриваемой прикладной проблемы. Введение объектов необходимо в первую очередь для понмания прикладной задачи. Примерами обьектов в нашей игровой системе являются Город (Колония), Отряд, Ячейка ландшафта, Наука и т.д. - все что в совокупности составляет проектируемую игру.

Под обьектами мы будем подразумевать в первую очередь экземпляры обьекта. Экземпляры обьекта характеризуются тождественностью, но при этом их можно отличить друг от друга (представим себе два отряда фузилеров, обладающих одним и тем-же набором свойств – тем не менее это именно ДВА отряда, в чем легко убедиться, уничтожив один из них – другой останется) есть смысл ввести понятие СУЩНОСТЬ, которая впредь будет обозначать то, что в программировании называется КЛАССОМ – то есть абстрактное описание обьекта, служащее основой для создания его экземпляров.

Итак – два отряда фузилеров принадлежат к одной и той же сущности (с этим связана их одинаковость). Скорость передвижения, сила атаки и защиты, набор графических изображений для имитации действий отряда и пр. – это АТТРИБУТЫ обьекта, которые мы будем называть СВОЙСТВАМИ. Все обьекты, порожденные одной и той же СУЩНОСТЬЮ харктеризуются одинаковыми наборами СВОЙСТВ.

Однако, обьединение обьектов в игровые СУЩНОСТИ определяетсмя не набором аттрибутов, а их значением в игреовых процессах. Нпример Храм и Копейщик имеют однинаковые АТРИБУТЫ – скорость и открытие, после которого они могут быть построены. При этом они могут относитьсмя к одной СУЩНОСТИ, если мы рассматриваем их в конкретной задаче как продукты городского производства, либо к различным сущностям, что более естественно.

Объединение объектов в СУЩНОСТИ позволяет ввести в задачу абстракцию и рассмотреть ее в более общей постановке. СУЩНОСТЬ имеет имя (например ПОСТРОЙКА), которое относится ко всем объектам этого класса. Кроме того, в СУЩНОСТИ вводятся имена СВОЙСТВ, которые определены для объектов

СВОЙСТВО - это значение, характеризующее объект в его СУЩНОСТИ.

Среди СВОЙСТВ различаются ПОСТОЯННЫЕ СВОЙСТВА и ПЕРЕМЕННЫЕ СВОЙСТВА. Постоянные свойства характеризуют объект в его сущности (скорость, сила атаки…). Текущие значения переменных свойств характеризуют текущее состояние объекта (например, положение на карте, повреждения в бою и т.д.); изменяя значения этих свойств, мы изменяем состояние объекта.

ДЕЙСТВИЯ - это функция (или преобразование), которую можно применять к объектам данной сущности.
При моделировании игровой системы нам нужно подробней остановиться на ДЕЙСТВИЯХ, имеющих побочные эффекты (эти эффекты выражаются в изменении значений атрибутов объекта, т.е. в изменении его состояния), поскольку операции, которые выдают требуемое значение, не меняя состояния объекта, нас будут интересовать скорее на этапе разработки пользовательского интерфейса.

В качестве примера ДЕЙСТВИЙ с обьектами можно рассматривать: Боевое столкновение, Открытие, Производство отряда или здания, Захват города.

Кроме того, между обьектами можно установить зависимости по данным, которые выражают связи или ОТНОШЕНИЯ между сущностями указанных обьектов.
В качестве примера отношений можно назвать связь между Государством и Городом, Армией и Отрядом, Городом и Улучшениями.

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

Олег aka Сигизмунд
12-Ноя-2004

 

Версия для печати Обсудить в форуме

Травиан :: Турниры и Игры :: Онлайн-книга "Альтерра" :: Наша "Цивилизация" :: Civilization 5 :: Civilization 4 :: Civilization 3 :: Civilization 2 :: Civilization 1 :: Galactic Civilizations 2 :: Total War Medieval 2 :: Total War Rome, BI, Alex. :: Другие "Цивилизации" :: Вне игры ::