04-17-2025 09:13 AM
How 90s games forced computers to do the impossible
Today, to run a modern game, you need a thousand-dollar graphics card, at least 16 gigabytes of RAM, and an SSD that loads levels faster than you can blink. And in the 90s? Computers with 4 megabytes of RAM, a 66 MHz processor, and a hard drive that could barely fit one movie. But it was on these machines that the legendary Doom, Quake, Warcraft, Dune, and many others were launched — and they did it quite confidently. How did they do it? The developers of the 90s worked real magic — and it’s worth remembering.
Without graphics cards — but with mathematics
In the 90s, there was no talk of any full-fledged 3D acceleration. The graphics were rendered not by the GPU (there simply weren’t any), but by the processor. And it coped. Take, for example, Doom (1993). It looked like a full-fledged 3D shooter, but in fact it was an advanced illusion: • the walls were 2D, • the enemies were sprites that simply “turned” to face you, • the perspective was the result of mathematical tricks, lookup tables and verified algorithms. This was not graphics - it was geometry in combat use.
When 1.44 MB is the whole game
Modern projects “weigh” tens and hundreds of gigabytes. And then ... the whole game had to fit on one floppy disk. 1.44 megabytes. To fit into such a framework, the developers used all possible compression methods, packed the levels manually, and wrote the music in .mod or MIDI format. For example, in Prince of Persia, the hero's animation was based on video recordings of the developer's brother jumping up the stairs - the frames were digitized and turned into sprites manually. And the game itself, by the way, fit on one (!) floppy disk. Every byte was important. There was no “extra code” or useless assets — everything was thought out, calculated, squeezed out to the last.
Bugs turned into features
Sometimes errors in the code turned into… gameplay features. It happened that the game “crashed” or was displayed incorrectly — and this was presented as a “secret mode”. In Quake, for example, the code was adjusted to the bugs of specific video cards in order to use their features to the maximum. In Super Mario, bushes and clouds are the same sprite, just painted in different colors. This is not saving — this is optimization with a twist.
Developers who knew the hardware
In the 90s, game programming was akin to engineering. Developers knew how memory works, how the video system is arranged, how to speed up access to the hard drive. The code was written in assembler and C, optimized by hand. Programmers literally “talked” to the hardware directly. They squeezed everything possible out of the machines. And sometimes even a little more.
Why is this still fascinating?
Because limitations did not give birth to despondency, but to ingenuity. The developers were not just “coders” - they were engineers, artists and wizards at the same time. No Unity, no Google, no YouTube reviews. Just brains, algorithms and lots and lots of persistence.
If you were a child and launched a game from eight floppy disks, rewrote config.sys to free up memory and waited for a level to load for 5 minutes - you witnessed real magic. These old games did not amaze with graphics, but they fascinated with the world, atmosphere and thoughtfulness. They taught not only to play, but also to think. And perhaps it was they who inspired an entire generation of programmers who are creating the future today.