Wednesday, March 30, 2016

software engineering - What was the typical toolchain for DOS game development?



I'm wondering how people used to write DOS games (like Doom), I can't find much on this, but would love to learn more about the earlier days of game development.


What language was used predominantly?


I presume it was C. Or C++ already?


What IDEs (or editors/compilers) were popular?



Microsoft Visual C/C++ (or Microsoft C/C++ as I believe it used to be called) didn't exist back then AFAIK. So what did people use? edit and a command-line compiler from Intel or something?


What APIs where used?


What was common for 2D games? What about 3D games like Doom and Tomb Raider?


Anything else that's different from today?


I'd be happy to hear any other differences, like what image/audio formats were used.



Answer



Language: C was predominant, but C++ was around and used.


Dev tools: Development environments included those from Borland and Watcom (almost unheard of today) among others. Both Borland and Watcom had their own compilers and their own IDEs. Borland was by far the most popular in general, though Watcom had a reputation for producing faster compiled programs, iirc.


APIs: Few APIs existed or were used. Video programming often consisted of directly writing pixels to the VGA framebuffer. Even 3D game were software rasterized. The Miles sound API was used for audio, which included drivers internally as the OS didn't have it's own audio framework or drivers. Keyboard and mouse input were generally read straight from the system. There were a couple popular memory extenders for 32-bit mode which were very popular and necessary towards the end of DOS's reign. The hardware was simple, thankfully, but it was definitely a pain in the butt writing games that worked on a variety of hardware. Libraries to deal with all the simple low-level stuff (like SDL, SFML, GLFW, etc.) did not exist, and porting was a huge amount of the work in releasing a game due to all the different platforms and hardware popular at the time (though its getting equally bad these days, what with all the consoles, handhelds, and mobile devices, plus Windows and the fringe desktop OSes like OSX and Linux).


On a side note to the previous point, Doom was not 3D the way we know it today. That is, it imposed huge limitations on 3D environments due to its highly specialized software rasterization algorithm, and characters and items were all jut sprites.



File Formats: Asset formats were just as proprietary to the engine then as they are now. I vaguely recall Bink being around back then for video (which was very rare, generally only in opening and closing sequences), and I think Creative had some specialized sound formats. I'm unsure what source or intermediary formats were popular for sound or video back then, but TGA was pretty popular for images.


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...