Virtual Laboratory Wiki
Advertisement

Описание игры Terrarium[]

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

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

Для того, чтобы обеспечить равновесие экосистемы, проектировщики оболочки Terrarium выбрали три различных типа живых существ:

  • Растения. Растения питаются естественным солнечным светом террариума. Они служат единственным источником пищи для травоядных.
  • Травоядные. Травоядные - мало агрессивные животные, способные к мирному совместному проживанию вблизи растений, используемых для питания.
  • Хищники (Плотоядные). Хищники - это животные которые уничтожают популяцию травоядных и используют их при питании.


Для того, чтобы экосистема успешно существовала, все животные террариума должны жить вместе, иначе система станет потеряет равновесие, и в конечном счете существа умрут от голода.

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

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

Таким образом, в игре максимально реально отражены условия существования настоящей экосистемы.

Существо в Террариуме[]

Существо определенного вида в игре представляет собой динамически загружаемую библиотеку (Dynamic Load Library - DLL), в которой определена объектная модель, описывающая основные свойства и поведение животного. Библиотека работает на основе платформы .NET Framework. Для различных версий платформы существуют различные версии игры:

  1. для платформы .NET Framework 1.0 - версия игры Terrarium 1.0,
  2. для платформы .NET Framework 1.1 - Terrarium 1.2,
  3. для платформы .NET Framework 2.0 - Terrarium 2.0.

Объектная модель, описывающая основные свойства и поведение животного, реализуется в виде одного или нескольких классов посредством одного из языков, входящих в комплект поставки платформы .NET Framework 2.1 и поддерживающих основные концепции объектно-ориентированного подхода: Visual C#, Visual Basic.


Событийная модель игры Terrarium 2.0[]

Каждое действие существа или его поведение являются непосредственным результатом некоторого события, вызванного средой Terrarium. С помощью событий все существа оповещаются об изменениях в среде. Например, событие Idle порождается в конце каждого хода. Событие позволяет узнать, когда можно выполнять те или иные действия. События вызывают действия, которые происходят в каждом раунде игры. К событиям, которые порождаются после выполнения существом определенного действия, относятся, например, MoveCompleted, AttackCompleted и EatCompleted. Как правило, существо использует только подмножество событий, предоставляемых средой Terrarium.

Некоторые события, например MoveCompletedEventHanlder, имеют специальные параметры, которые могут применяться для выполнения более сложных действий. Эти специальные параметры существенны, так как они предоставляют информацию о процессе перемещения, о том, какая особь в настоящее время нападает на другую, или, возможно, какую-либо специальную информацию от родительского организма, которая может быть полезна.

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

События обрабатываются посредством методов класса, описывающего свойства и поведение существа.

См. также[]

Ссылки[]

Advertisement