Z-기계
이 글은 검증을 위해 인용구가 추가로 필요하다. – · · · · (2009년 12월) (이 템플릿 |
Z머신은 1979년 조엘 베레즈와 마크 블랭크가 개발해 인포콤이 텍스트 어드벤처 게임에 사용한 가상 머신이다. 인포콤은 게임 코드를 Z-머신 명령어(이야기 파일 또는 Z-코드 파일이라고 함)가 포함된 파일로 컴파일하여, 단순히 그 플랫폼에 대한 Z-머신 구현을 작성함으로써 문자 어드벤처를 새로운 플랫폼에 포팅할 수 있었다. 당시 양립할 수 없는 가정용 컴퓨터 시스템이 많이 사용되고 있는 상황에서 이는 기본 코드를 사용하거나 각 시스템에 대한 컴파일러를 개발하는 것에 비해 중요한 장점이었다.
역사
Z 머신의 "Z"는 인포콤의 첫 번째 모험 게임인 조크를 의미한다. Z-코드 파일에는 보통 .z1, .z2, .z3, .z4, .z5, .z6, .z7 또는 .z8로 끝나는 이름이 있는데, 여기서 번호는 스토리 파일의 첫 번째 바이트에서 주어진 대로 파일을 실행할 Z-머신의 버전 번호다.[1]
그러나 이것은 현대적인 관습이다. Infocom 자체는 .dat(데이터)과 .zip(ZIP = Z-머신 인터프리터 프로그램)의 확장을 사용했지만, 후자는 PKZ를 위한 .zip의 광범위한 사용과 충돌했다.액티비전(Activision)이 인포콤을 닫은 후 1990년대에 시작된 IP 호환 아카이브 파일. 인포콤은 Z-머신을 6가지 버전으로 제작했다. 버전 1과 버전 2를 사용하는 파일은 매우 드물다. 인포콤이 공개한 버전 1 파일은 2개뿐이고 버전 2는 2개뿐인 것으로 알려졌다. 버전 3은 인포콤이 출시한 게임의 대부분을 다루고 있다. 이후 버전에서는 더 많은 기능이 제공되어 버전 6의 그래픽 지원이 절정에 달했다.
인포콤이 스토리 파일을 제작할 때 사용한 컴파일러(Zilch라고 함)는 사용된 언어(ZILMDL과 유사한 Lisp-family language)의 문서화가 여전히 존재하며[2] 오픈소스 대체물이 작성되어 있지만 공개된 적이 없다. 1989년 메디게닉이 인포콤을 캘리포니아로 옮긴 뒤 컴퓨터 게이밍월드는 "ZIL은 기능적으로 죽었다"고 밝히며 "사용할 수 없는 완전히 새로운 파서"라는 루머를 보도했다.[3] 1993년 5월 그레이엄 넬슨은 정보 소스 언어가 ZIL과 상당히 다르지만 Z-머신 스토리 파일도 출력물로 생성하는 자신의 정보 컴파일러의 첫 버전을 발표했다.
정보는 대화형 픽션 커뮤니티에서 인기를 끌었다. 대화형 픽션의 많은 부분이 Z-머신 스토리 파일 형식이다. 더 큰 게임 파일을 만들 수 있는 능력에 대한 요구로 넬슨은 버전 7은 거의 사용되지 않지만 Z-머신의 버전 7과 8을 지정하게 되었다. 주소 처리 방식 때문에 버전 3층 파일의 길이는 최대 128K, 버전 5층 파일의 길이는 최대 256K, 버전 8층 파일의 길이는 최대 512k이다. 오늘날의 컴퓨터 표준으로 볼 때 이러한 크기는 작아 보일 수 있지만, 텍스트만 있는 모험의 경우, 이것들은 정교한 게임을 하기에 충분히 크다.
1990년대에 넬슨은 기존의 인포콤 파일에 대한 상세한 연구를 바탕으로 Z-Machine Standard를[4] 작성했다.
통역관
Z코드 파일용 통역기는 다양한 플랫폼에서 이용할 수 있다. Information 웹사이트에는 15개의 데스크톱 운영 체제(애플 II, TRS-80, ZX Spectrum 등 1980년대 8비트 마이크로컴퓨터 포함, "유닉스"와 "윈도우즈"를 각각 하나로 묶음), 10개의 모바일 운영 체제(팜 OS와 게임 보이 포함), 4개의 통역 플랫폼(이맥스, 자바,)에 대한 링크가 나열되어 있다. JavaScript 및 Scratch). 넬슨에 따르면, 그것은 "아마도 지금까지 만들어진 것 중 가장 휴대용 가상 머신일 것이다"[5]라고 한다.
인기 있는 통역사는 니트폴과 프로츠를 포함한다. Nitfol은 Glk API를 사용하며 버전 6 그래픽 Z-머신을 포함하여 Z-머신의 버전 1~8을 지원한다. 저장 파일은 표준 Quetzal 저장 형식으로 저장된다. 바이너리 파일은 클래식한 Mac OS, Unix 유사 시스템, DOS 및 Windows를 포함한 여러 운영 체제에서 사용할 수 있다.[6]
프로츠는 1995년 스테판 요키쉬가 도스(DOS)를 위해 C로 썼다. 시간이 지남에 따라 유닉스 유사 시스템,[7] RISC OS, [8]iOS와 같은 다른 플랫폼에 포팅되었다.[9] 음향 효과와 그래픽은 다양한 수준으로 지원되었다. 2002년까지 개발이 중단되었고 그 프로그램은 데이비드 그리피스에 의해 채택되었다. 코드 기반이 가상 시스템과 사용자 인터페이스 부분 간에 분할되어 가상 시스템이 사용자 인터페이스로부터 독립적으로 되었다. 이것은 프로츠를 포팅하는 데 있어 더 많은 다양성을 허용했다. 낯선 포트들 중 하나는 가장 간단한 것 중 하나이기도 하다. 즉석 메시징봇은 최소한의 입출력 기능을 갖춘 프로츠 버전으로 감싸져 있어서 인스턴트 메시징 클라이언트를 사용하여 대부분의 Z-머신 게임을 즐길 수 있는 봇을 만든다.[10]
또 다른 인기 있는 MacOS 및 기타 Unix 유사 시스템 클라이언트로는 Zoom이 있다. 동일한 Quetzal 저장 형식을 지원하지만 파일 구조의 패키징은 다르다.[11]
참고 항목
- Glux – Z-machine과 유사하지만 몇 가지 기존 제한 사항을 완화
- 알림 – Z-머신 프로그램을 생성할 수 있는 컴퓨터 언어
- SCUMM – Z-머신과 유사한 그래픽 시스템인 LucasArts의 Managine Mansel을 위한 스크립트 작성 유틸리티
- TADS – Glulx와 마찬가지로 일부 제한 사항을 해결하기 위해 제작됨
- Motorola 68000 시리즈 – Magnetic Scrolls의 모험 게임에서 가상 머신에 사용되는 기본 아키텍처
참조
- ^ "The Z-Machine Standards Document". inform-fiction.org. Retrieved 26 March 2018.
- ^ McGrew, Jesse. "ZILF". zilf.io. Retrieved 22 November 2020.
- ^ "Inside the Industry: Infocom's West Coast Move Stirs Controversy", Computer Gaming World, p. 10, September 1989
- ^ "Inform - ZMachine - Standards". inform-fiction.org. Retrieved 26 March 2018.
- ^ Nelson, Graham. "About Interpreters". Inform website. Retrieved 2009-11-07.
- ^ "if-archive/infocom/interpreters/nitfol". Retrieved 2016-10-29.
- ^ "Frotz README file on Gitlab". Retrieved 2019-02-19.
- ^ "The RISC OS Frotz Home Page". 1999-09-18.
- ^ "Frotz on the App Store". App Store.
- ^ "Frotz DUMB file on Gitlab". Retrieved 2019-02-19.
- ^ "Logical Shift Zoom". Retrieved 2016-10-29.
외부 링크
- Z-Machine 표준 문서
- 웨이백 머신에서 ZIL 학습(2010년 8월 7일 자료 보관)(PDF)은 1989년의 Infocom ZIL 매뉴얼이다.
- 웨이백 머신에서 ZIP에 대한 설명(2012년 3월 9일 보관)(PDF) 1989년 Z 언어 통역 프로그램(Infocom 내부 문서)
- 통역관
- 대형 프로그램을 소형 시스템에 장착하는 방법 Z-머신의 제작 및 설계에 대해 설명