아래 나열된 요구 사항에 따라 퀘스트 메커니즘을 구현하기 위해 권장하는 도구, 패턴 또는 모범 사례는 무엇입니까?
소프트웨어 아키텍처 (일반적인 수준)와 객체 배선, 이벤트 구독 및 조건 표현 선택에 대해 이야기하고 있습니다. 성공적으로 사용한 도구 / 라이브러리를 환영합니다. 편집 : 스크립팅을 사용하는 경우 어떤 설정을 권장합니까?
요구 사항 :
- 간단한 2D mmo (rpg)
- 퀘스트를 포함한 모든 게임 데이터는 관계형 데이터베이스에 저장됩니다
- 게임의 모든 이벤트는 플레이어를위한 새로운 퀘스트를 유발하거나 기존 퀘스트를 진행시킬 수 있습니다.
- 퀘스트는 플레이어가 퀘스트를하기 전에 충족해야하는 임의의 수의 조건을 가질 수 있습니다.
- 퀘스트는 임의의 수의 하위 퀘스트 / 단계로 구성 될 수 있습니다.
퀘스트는 단순한 것에서부터 시작됩니다.
A와 대화-B 5 처치-A와 대화-영구적으로 건강 증진
매우 관련있는 :
X 구역에서 아이템 사용-Y 구역으로 이동-봇이 생성됩니다-10 % 이상의 데미지를 입지 않고 봇을 죽이십시오-봇 방울 아이템-아이템을 수령하십시오-포털 잠금 해제-포털 뒤 J에게 아이템을 전달하십시오-금과 경험을 얻으십시오- 포털을 다시 한 번 통과하도록 허용-이 플레이어의 포털 잠금
레벨 인스턴스는 가능합니다 (플레이어는 팀이나 격리에서 특정 퀘스트를 완료하여 해당 참가자를위한 레벨 위치를 생성 할 수 있습니다)
- 퀘스트는 스크립팅이나 프로그래밍 지식없이 월드 에디터를 사용하여 관리 할 수 있어야합니다 ( 편집 : 스크립팅은 일반적으로 옹호하지 않음)
- C ++을 구현 언어로 가정합니다.
이벤트와 조건 체인을 결합 할 수 있으면 더 복잡하고 더 매력적인 퀘스트를 모델링 할 수 있다고 생각했습니다. 내 ECA (Events-Conditions-Actions) 엔진을 롤링하여 실험했지만 너무 과도 할 수 있습니다. 어떤 종류의 스크립팅도 사용하지 않고 일반적인 조건을 모델링하는 것은 특히 어렵습니다.