프로젝트 구조
새로운 게임 개발을 위해 quantum SDK를 다운로드하고 압축을 풀때, 다음 두개의 폴더들이 가장 중요합니다:
- quantum.code - 게임플레이 시뮬레이션 코드용 Visual Studio 솔루션이 들어 있습니다 (유니티와 관계없음);
- quantum.unity - 렌더링 엔진으로 시뮬레이션을 통합하기 위한 샘플 스크립트가 있는 bootstrap Unity 프로젝트;

이 매뉴얼은 제공된 quantum.code Visual Studio을 사용한 quantum 시뮬레이션 구현과 샘플 bootstrap Unity 프로젝트와의 통합에 대한 주제를 다루고 있습니다.
Visual Studio 솔루션 (quantum.state 와 quantum.systems)

Quantum은 ECS(엔티티, 컴포넌트와 시스템) 방법론으로 개발된 게임이 필요합니다. 이 의미는 게임 상태 데이터 구조는 엔티티 및 컴포넌트 개념을 중심으로 움직인다는 것 입니다(기타 예외 타입에 의해 아규먼트가 처리됨)
게임 상태 데이터는 .qtn 확장자 파일을 사용하는 quantum.state 프로젝트내에 Quantum의 커스텀 DSL(도메인 명시 언어)로 정의되어 있습니다.
이 매뉴얼의 다음 장에서 이 주제에 대해 상세히 다루고 있습니다.
게임 로직은 스테이트리스 시스템으로 작성되었습니다 (성능 이유로 인하여 언매니지드 포인터의 확장 사용을 한 일반 C#)
Quantum 시뮬레이터는 게임 상태 구조에 직접 보관된 데이터에 대해 결정론적 롤백만을 보장하므로 시스템은 반드시 스테이트리스가 되어야합니다(DSL을 통해 선언됨).
Systems의 장에서는 엔티티(생성/파괴/업데이트) 관리, 시그널(내부-시스템 통신) 및 이벤트(재생 엔진 - 게임 상태 변경 알림용 파인 그리드 API)를 다룹니다.
quantum.code Visual Studio솔루션은 포함된 프로젝트를 빌드하면 Unity Bootstrap 프로젝트 플러그인 폴더로 직접 업데이트되지만, quantum.systems 프로젝트의 출력 폴더를 변경하여 다른 경로로 쉽게 사용자가 지정할 수 있습니다. 시스템 프로젝트(아래 참조):

Bootstrap Unity 프로젝트

제공된 bootstrap Unity 프로젝트에는 Quantum 게임 실행을 단순화하고 분리 시뮬레이션을 위한 렌더링 엔진으로 Unity를 사용하기 위해 사전 구축된 통합 스크립트가 포함되어 있습니다(앞서 언급한 quantum.code 솔루션으로 생성됨).
bootstrap 프로젝트에 대한 장에서는 시뮬레이션 실행 방법, 인젝션 입력, 게임 상태 렌더링, 프로세스 이벤트 콜백, Photon과 함께 온라인 모드로 실행하는 방법등 가장 중요한 주제를 다룹니다.
Back to top