성공의 역사를 보자. 컴포넌트 기반 게임 오브젝트 시스템을 사용하여 제작 된 인기 게임 (및 게임 엔진)은 무엇입니까? 각 답변에는 다음이 포함되어야합니다.
- 게임 제목 (답변 당 하나)
- 저자 / 회사
- 년
- 개발 시간 (선택 사항)
- 사후 링크 (선택 사항)
- 문서 / 소스 코드에 대한 링크 (선택 사항)
성공의 역사를 보자. 컴포넌트 기반 게임 오브젝트 시스템을 사용하여 제작 된 인기 게임 (및 게임 엔진)은 무엇입니까? 각 답변에는 다음이 포함되어야합니다.
답변:
가스 구동 게임에 의한 던전 포위
Scott Bilas 는 무엇보다도 컴포넌트 기반 시스템을 특징으로하는 Dungeon Siege에 대한 많은 정보를 공개했습니다.
Dungeon Siege는 2002 년에 출시되었습니다.
Insomniac Games의 저항 1-2 (아마도 3) (2006-2008)
Terrance Cohen은 이러한 게임 을 GDC Canada 2010의 고성능 게임 플레이 토크를 위한 A Dynamic Component Architecture에 나열합니다 .
이것이 최근의 Ratchet & Clank 게임에 적용되었는지 확실하지 않습니다.
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
}
}
내 지식으로는 내가 본 최고의 프로젝트는 Burger Engine입니다. jst는 코드를 다운로드하고 그들이 얼마나 잘 구현했는지 확인합니다. 모든 것은 XML에서 데이터 중심이며 엔티티 기반 아키텍처를 잘 사용했습니다.