편집 (2) : 두 가지 대답이 있고 그중 하나를 받아들이지 않았으므로 여기에서 대답을 고려할 동기를 부여 할 것이라고 생각했습니다. 그러한 접근 방식을 강력하게 제안하는 것은 불가능하거나 전혀 유용하지 않을 것입니다. 대안 적으로, 텍스트 어드벤처 게임 / 대화 형 소설을 넘어서 적어도 다소 일반적인 그러한 시스템의 연구 (필드) 또는 예에 대한 언급.
내가 더 심층 조사를 한 척하지는 않았지만 내가 본 모든 게임 엔진 / 프레임 워크는 두 가지 형태의 모양 / 엔터티를 말하는 의미에서 영광스러운 그래픽 엔진과 같은 것으로 보입니다. 또는 "일치 된"어떤 형태의 동시성 모델을 갖는 3 차원 유클리드 공간은 이들 "엔티티"에 부착 된 어떤 형태의 논리를 지정할 수있게한다.
그런 다음 게임 "규칙"과 이야기는 이러한 기본 요소 위에 다소 임시 (엔진과 관련하여) 방식으로 작성됩니다.
분명히 위의 설명은 다소 간단합니다 (일부 형태의 퀘스트 / 서술 시스템을 포함하는 무한대 엔진과 같은 더 전문화 된 엔진을 사용하십시오).이 모델이 꽤 잘 작동 할 수 있음을 알고 있습니다 (많은 사람들이 그것을 사용한 것 같습니다) .
그러나 게임 규칙 / 논리 또는 서술 (또는 게임의 공간이 아닌 측면 )에 대한 (높은 수준의) 설명과 같은 개념을 기본으로하는 엔진 / 프레임 워크를 만들려는 시도가 궁금합니다. 기초?
편집 (4) : 이것은 게임이 공간 / 그래픽 측면을 포함하지 않는다는 것을 의미하지는 않습니다. 단지 논리를 연관시키는 공간 엔티티를 가지기보다는 음모 개념 (또는 게임 플레이 또는 "보드 게임 규칙")이 있습니다. )에서 그래픽 인터페이스에 대해 설명합니다.
특히 나는 실제 구현에 유용한 방식으로 합리적으로 큰 클래스의 게임에 대한 일종의 (반) 공식 의미를 캡처하려는 선언적 접근법에 관심이 있습니다 (예를 들어 독점적 인 프레임 워크와는 반대) 게임 / 내러티브의 질적 분석).
내가 본 것은 페트리 네트 기반 모델을 이용한 모델링 / 분석 서사에 대한 조사 와 대화 형 소설을 작성하기위한 언어에 대한 흥미로운 접근법입니다 .
편집 (1) : 나는 설명하기 위해 장난감 예제를 추가 할 것이라고 생각했습니다.
포인트 앤 클릭 스타일 어드벤처 제작에 관심이 있다고 가정 해보십시오 (SCUMM 게임 생각). 이러한 상황은 시작 상황에서 끝까지 다소 선형적이고 불연속적인 진행 개념에 기초한 것으로 분석 할 수 있습니다 .
불 연속적 진행이라는 개념에 중점을두고 비선형 성을 허용하기 위해 (경계 된) DAG 이론을 기본 이론으로 선택할 수 있습니다 . (이 이론에 상대적으로)이 유형의 게임을 가장 추상적 인 형태로 지정하면이 이론에 대한 추가 공리를 추가하는 것과 일치합니다 (이론은 이론이 특정 그래프를 지정 하거나 단순히 사람을 포착하는 데 필요한 모든 것을 포착하기에 충분 함). "음모").
이것을 실제 게임으로 바꾸는 것은 이제이 이론을 연주 가능한 것으로 임베드하는 HCI / 인터페이스 디자인 문제로 바뀝니다. "게임 지정"으로
위의 가상 시나리오에서 라이브러리에서 캡처 할 수있는 최소한 세 가지를 볼 수 있습니다. 첫째, 일반적으로 DAG 또는 그래프에 대한 변환 / 추론 도구가 필요합니다. 둘째, 사용자 인터페이스 라이브러리는 게임을 플레이 할 수있는 게임으로 그래프를 표현하는 것이 실제로 그래프를 모델링하는지 확인하는 데 도움이 될만큼 영리합니다. . 마지막으로 그래프를 지정하기위한 상위 레벨 라이브러리 모음을 제공 할 수 있습니다. 캐릭터를 표현하기위한 라이브러리와 그와 같은 관점에서 상호 작용하고 그래프의 일부를 생성하는 라이브러리 등이 있습니다.
일부 도움말 라이브러리가있는 저수준 구현이 아닌 DAG의 "중간"이론을 유지하는 이유는 무엇입니까? 정식 의미론의 일반적인 이유는 모두 정답입니다. 공식적인 토대를 결정 했으므로 게임의 특정 속성을 확인할 수 있습니다. 낮은 수준의 인터페이스 라이브러리에서 최적화와 같은 것에 대해 추론 할 수 있습니다 (우리가 원하는 것을 수행 할 수있는 DAG를 모델링하는 한) 높은 수준의 설명 (문자 / 대화 등)과의 비 호환성에 대해서는 걱정하지 마십시오. 이러한 설명은 이러한 구조를 설명해야합니다.
나는 위의 접근법이 특정 방식으로 작동한다는 것을 결코 암시하지 않으며, 아이디어는 DAG가 실제로 메모리에 보관되어 있어야한다는 것이 아닙니다 (오히려 람다 미적분학과 같은 계산 형식과 비슷한 것을 형성합니다) 그러나 이것이 내가 궁금한 접근 방식을 보여주기를 바랍니다.
요컨대,이 질문에 대한 다른 제목 은 Dijkstra가 어떻게 컴퓨터 게임을 만들었 을까요?