게임 개발에서이 목표를 달성하는 전통적인 방법은 게임 시스템에 데이터 중심 아키텍처를 사용하는 것입니다.
본질적으로 이것은 코드가 범위 / 손상 / 투과율에 대해 명시 적으로 정의 된 값으로 특정 유형의 무기 (총)를 구현하지 않고 원거리 무기의 일반 개념 (범위 / 손상 / 침투 ...)을 채우는 것을 의미합니다. 외부 (코드) 데이터 소스에서 이 외부 소스는 디스크에서 읽은 구문 분석 가능한 (아마 XML) 파일부터 게임 엔진 자체의 내부 또는 외부 도구를 통해 생성 된 이진 파일 또는 데이터베이스 요소에 이르기까지 다양합니다.
적과 같은 것을 정의하는 AI 시스템은 몇 가지 일반적인 행동 (공격적, 방어 적,지지, 겁쟁이)을 지원하도록 설계되어 데이터 중심 요소에 의해 조정됩니다.
My New Enemy는 다음과 같은 데이터 중심 값으로 공격적인 기본 AI 동작으로 시작합니다. (플레이어가 너무 가까이있을 때)
보다 복잡한 데이터 기반 체계를 통해 AI 상태 (유한 상태 머신)를 다른 상태 (또는 N 개의 다른 상태 중 하나로 전환 할 수있는 기회)로 전환하는 특정 데이터 포인트 (이벤트)를 정의 할 수 있습니다. 복잡한 행동 계층.
이 모든 것은 물론 행동을 명시 적으로 코딩하는 것보다 더 많은 작업이지만 사용자가 소스를 수정하지 않고 콘텐츠를 제작할 수있게하는 것은 어려운 과제입니다.
달성해야 할 보너스 포인트가 있습니다 :
- 응용 프로그램을 다시 시작하지 않고 동적으로 데이터를 업데이트하고 변경 사항을 게임 엔진에 반영 할 수있는 경우
- 데이터에 대해 사용자 친화적 인 UI를 만들면 사용자가 텍스트 (xml 또는 기타) 파일을 직접 편집하지 않고 인터페이스를 사용하여 데이터와 상호 작용할 수 있습니다.
보다 기술적 인 군중을 대상으로하는 튜토리얼 게임의 경우, 대부분의 작업은 사용자가 데이터 중심으로 확장 될 수 있도록 깔끔한 인터페이스를 제공하는 설계된 클래스 / 객체에 있습니다.