Компонентные системы игровых объектов на практике [закрыты]

Давайте посмотрим историю успеха. Какие популярные игры (и игровые движки) были построены с использованием системы игровых объектов на основе компонентов ? Каждый ответ должен содержать:

  1. Название игры (по одному на каждый ответ)
  2. Автор /Компания
  3. Год
  4. Время разработки (необязательно)
  5. Ссылка на postmortem (необязательно)
  6. Ссылки на документы /исходный код (необязательно)
43 голоса | спросил 4 revs, 3 users 88%
topright
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

6 ответов


19

Dungeon Siege Игры с газом

Скотт Билас опубликовал много информации о Dungeon Siege, в которой, среди прочего, были представлены системы на основе компонентов.

Dungeon Siege был выпущен в 2002 году.

ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08
19

Сопротивление 1-2 (возможно, 3) (2006-2008) Insomniac Games

Terrance Cohen перечисляет эти игры в своей динамической компонентной архитектуре для высокопроизводительного игрового процесса , из GDC Canada 2010.

Не уверен, что это было применено к недавнему Ratchet & Clank.

ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08
13

Unity3D по умолчанию использует компонентную систему. Это превосходно для создания игровых объектов из текстового файла и инъекции зависимостей.

function createEnemy() {

   // extract AI type for enemy
   // definition is a custom structure holding parameters to create the enemy
   var aitypename = definition.ai;

   // AIType can be an interface or abstract class
   // you can create a component from a string or from a type
   var ai : AIType = this.gameObject.AddComponent(aitypename);
   ai.setup(definition.ai_settings);

   // set rule for enemy when it is destroyed
   this.gameObject.AddComponent(definition.when_destoryed); 


}

Эти компоненты могут выглядеть так:

class AI_Scout extends AIType
{
  // called per update-frame on the game-object with this script
  public function Update() {
    // run Scout AI here
   }
}


class Spawn_Ammo_On_Destroyed extends When_Destroyed
{
   // automatically called by the engine when the game object this script is attached to is
   // destroyed
   public function OnDestroyed() {
    // spawn ammo
    }
}
ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08
8
  1. Вор: Темный проект
  2. Стеклянные зеркала
  3. 1996 - 1998
  4. 2-х лет
  5. Посмертные
ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08
8

Tony Hawk Pro Skater 3
Разработчик: Neversoft
Год: 2001
Время: около двух лет
Post Mortem: Развивайте свою иерархию (вероятно, самая связанная статья на основе компонентов)

ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08
1

Насколько мне известно, лучший проект, который я видел, это Burger Engine. jst загружает код и проверяет, насколько хорошо они реализованы. Все дело в управлении данными из xml, и они очень хорошо использовали архитектуру на основе сущности. Посмотрите на нее.

http://code.google.com/p/burger-engine /источник /просмотр /

ответил Caramiriel 10 J0000006Europe/Moscow 2014, 18:14:08

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132