DOS 게임 개발의 일반적인 툴체인은 무엇입니까? [닫은]


15

사람들이 DOS 게임 (Doom과 같은)을 어떻게 쓰는지 궁금합니다. 이것에 대해 많이 찾을 수는 없지만 게임 개발 초기에 대해 더 배우고 싶습니다.

어떤 언어가 주로 사용 되었습니까?

나는 그것이 C라고 추정합니다. 아니면 C ++입니까?

어떤 IDE (또는 에디터 / 컴파일러)가 인기가 있습니까?

AFAIK에는 Microsoft Visual C / C ++ (또는 이전에 호출했던 Microsoft C / C ++)가 없었습니다. 그래서 사람들은 무엇을 사용 했습니까? 편집 또는 인텔 또는 다른 명령 줄 컴파일러?

사용 된 API는 무엇입니까?

2D 게임에 공통적 인 것은 무엇입니까? Doom 및 Tomb Raider와 같은 3D 게임은 어떻습니까?

오늘과 다른 점이 있습니까?

사용 된 이미지 / 오디오 형식과 같은 다른 차이점을 듣고 기쁩니다.


이 수업 과제에 대해 약간의 연구를하려는 것이 확실합니다. 아마도 gdcvault.com/play/1014627/Classic-Game-Postmortem이 시작될 수 있습니다.
Daniel Carlsson

과제가 아닙니다. 저는 학교 / 대학에서 나왔습니다. 나는 잠시 동안 구글을했지만 많이 찾을 수 없었다.
futlib

Watcom C ++에 대한 ID 담당자 중 한 사람으로부터 메모를 읽은 것을 기억합니다. 볼랜드는 컴파일러가 FAST를 놀라게했기 때문에 항상 인기가있었습니다. (내가 실제로 무슨 일이 일어 났는지 확신하지 못했기 때문에 3-4 회 연속 재건했습니다.)
3Dave

답변:


19

언어 : C가 우세하지만 C ++가 사용되어 사용되었습니다.

개발 도구 : 개발 환경에는 Borland 및 Watcom (거의 들어 보지 못한)이 포함됩니다. Borland와 Watcom은 모두 자체 컴파일러와 자체 IDE를 가지고있었습니다. Watcom은 더 빠른 컴파일 된 프로그램 인 iirc로 명성을 얻었지만 볼랜드는 일반적으로 가장 인기가 많았습니다.

API : 존재하거나 사용 된 API가 거의 없습니다. 비디오 프로그래밍은 종종 VGA 프레임 버퍼에 픽셀을 직접 쓰는 것으로 구성되었습니다. 3D 게임조차 소프트웨어 래스터 화되었습니다. Miles 사운드 API는 오디오에 사용되었으며 OS에는 자체 오디오 프레임 워크 나 드라이버가 없기 때문에 내부적으로 드라이버가 포함되었습니다. 키보드와 마우스 입력은 일반적으로 시스템에서 직접 읽습니다. 32 비트 모드 용으로 널리 사용되는 메모리 익스텐더가 몇 개 있었는데, DOS의 통치가 끝날 때까지 매우 인기가있었습니다. 고맙게도 하드웨어는 간단했지만 다양한 하드웨어에서 작동하는 엉덩이 쓰기 게임에는 분명히 고통 스럽습니다. SDL, SFML, GLFW 등과 같은 간단한 저수준 자료를 모두 다루는 라이브러리는 존재하지 않았습니다.

앞의 요점을 참고로 Doom은 오늘날 우리가 알고있는 방식으로 3D가 아니 었습니다. 즉, 고도로 전문화 된 소프트웨어 래스터 화 알고리즘으로 인해 3D 환경에 큰 제한이 있었으며 문자와 항목은 모두 jut sprites였습니다.

파일 형식 : 자산 형식은 현재와 마찬가지로 엔진에 독점적이었습니다. 나는 Bink가 비디오를 위해 돌아 왔다는 것을 모호하게 기억한다. 당시에는 사운드 나 비디오에 어떤 소스 나 중개 형식이 인기가 있었는지 잘 모르겠지만 TGA는 이미지에 꽤 인기가있었습니다.


1
많은 사람들이 오디오 라이센스를 취득한 유비쿼터스 미들웨어는 Miles 였으며 , 이는 많은 장치에 드라이버 추상화를 제공했습니다. Miles를 사용하지 않았다면 Adlib 또는 SoundBlaster 호환 기능 만 지원했을 것입니다. 레거시 카드에서 VESA 지원을 활성화하기 위해 일부 게임은 UniVBE를 사용 했습니다 .
Lars Viklund

맞습니다! 좋은 기억! :)
Sean Middleditch

나는 틀릴 수도 있지만, 당신이하려는 참조는 Watson이 아닌 Watcom 에 대한 것이라고 생각합니다 . 그들은 훌륭한 C 컴파일러와 SQLite의 전신 인 Watcom SQL이라는 경량의 SQL 서버를 만들었습니다.
밥 맥

실제로, 당신은 맞습니다. 노년기에는 기억이 점점 더 어려워지고 있습니다.
Sean Middleditch

ASM이 지금보다 더 일반적 일 것입니다. 추가 성능을 끌어 내야했고 컴파일러 최적화 프로그램이 현재만큼 좋지 않았습니다. 즉, 대다수는 여전히 C에 있지만 엔진에는 ASM 조각이있을 가능성이 큽니다.
edA-qa mort-ora-y

4

Sean의 게시물에 대한 완성으로 Doom을 언급 한 이후 : Fabien Sanglard의 멋진 블로그가 Doom을 만드는 데 사용 된 코드 부분 (1993 년의 코드)을 검토했습니다. 리뷰는 여기에 있습니다 : http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

추신 : 블로그에는 Doom / Quake 관련 코드 리뷰가 많이 있으며, 게임 개발자가 다른 사람들이 처음부터 게임을 디자인 한 방법을 볼 수있는 좋은 기사입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.