sftrabbit가 언급했듯이 이것은 상태 머신에 대한 완벽한 응용 프로그램입니다.
기본적으로 일종의 트리 구조가 있습니다. 각 리프 / 노드는 현재 상태에 대한 정보와 다음 상태로 진행하기위한 규칙을 포함합니다. 플롯 / 플레이 흐름이 얼마나 복잡한 지에 따라 각 노드에 여러 개의 이탈이 포함될 수 있습니다.
이것에 대한 아주 느슨한 아날로그는 Choose Your Own Adventure 책입니다. 각 페이지에는 스토리의 일부를 설명하는 텍스트와 플레이어가 할 수있는 결정이 포함되어 있습니다. 각 결정은 다른 페이지로 연결됩니다. 일부 페이지는 이전에 방문한 페이지 등으로 다시 연결될 수 있습니다.
Zork 및 Phobos의 가죽 여신 과 같은 오래된 텍스트 기반 어드벤처 게임과 악명 높은 Sierra * Quest 게임 ( Roger Wilco가 우주 관리인이 주연 한 SpaceQuest )은이 유형의 시스템의 매우 간단한 버전을 사용했습니다. 지도의 각 방은 다른 주나 방과 연결된 출구가있는 상태였습니다. 아이템을 획득하면 전역 상태 객체에서 플래그가 설정됩니다. 각 방마다 깃발을 확인하여 각 방에서 사용할 수있는 캐릭터 나 아이템을 결정합니다.
따라서 상태는 클래스 또는 구조체로 구현 될 수 있으며 각 속성은 다음과 같습니다.
자산 목록-배경 그래픽에 대한 포인터 목록 및 방 / 주 / 레벨을 표시해야하는 기타 항목.
입학 조건-레벨에 도달하기 위해 이미 도달 한 업적
엑시트-가능한 각 "다음"엑시트에 링크합니다. 북쪽, 남쪽, 동쪽 및 서쪽이 여기에 해당하는 예이지만 Door1, Teleport 등을 포함 할 수도 있습니다. 방을 나 가려고 시도하거나 출구 / 문을 결정하는 것이 "열림"이면 게임에서 다음 상태를 확인할 수 있습니다. 입장 조건이 충족되었는지 확인하고 출구가 화면에 표시되는 방식을 변경하거나 플레이어가 그 방향으로 움직이지 못하게하십시오.
화려하고 싶다면 입장 조건이 다른 상태의 다른 버전을 포함시켜 룸이 플레이어에게 제시되는 방식 또는 해당 룸에서 사용 가능한 작업을 변경할 수 있습니다.
시작 화면, 사망 / 게임 오버 화면 등은 메뉴 화면 사이를 탐색하는 방식과 유사하게 시스템 내의 모든 상태 일 수 있습니다. 실제로 그러한 메뉴 시스템이 있다면이를 위해 사용할 수 있습니다. 메뉴를 탐색하기 위해 위 / 아래 화살표와 "입력"대신, 텔레포트 패드를 밟거나, 화면 오른쪽을 걷는 등의 특정 이벤트를 게임 플레이 영역 내에서 찾을 수 있습니다.
관리 관점에서, 상태 머신을 작성할 수있는 관리 도구 작성의 이점이 있는지 고려하십시오. 방을지도에 추가하고, 방을 연결하고, 배경 이미지와 같은 자산을 할당하십시오. 이것은 아마도 처음 시도 할 때 너무 과도합니다. 관리 도구를 만드는 데 너무 쉽게 빠져 실제로 게임을 끝내지 않습니다. 기억하십시오-미들웨어가 아니라 게임입니다.
이것이 도움이되기를 바랍니다.