For those not familiar, the demoscene is a computer art subculture whose main focus is on producing self-contained audiovisual presentations for people to flex their programming, graphical or musical ability.
It started sometime in the early 1980s and remained quite popular up until the early 2000s. Its’ popularity has fallen off somewhat in recent years, but it still continues today, with demos being released mostly at organised competitive events such as Evoke, a demoparty which is held annually in Cologne.
The competitions are usually broken down into a number of categories. With each category introducing either hardware, or artificial limitations. These both level the playing field and encourage participants to think “outside the box”.
For example, the 4K category requires submissions to not exceed 4 kilobytes in size. This also means no external libraries or media, unless they are shipped with the default OS install. A number of the demos run on machines with extremely limited operating systems such as the Commodore 64 or DOS. So not much is left to work with. With these kind of restrictions almost all of the entries are created entirely from scratch.
For the most part though, the limitations are enforced by the hardware. Given that the computers of the time were not really intended for intense graphical workloads, this meant no OpenGL, no DirectX and no audio libraries. The fun was mostly in making something “impossible” or “shocking” happen to wow the audience.
A good example of this is the Area 5150 entry released recently (August 2022) at Evoke.
As the video mentions, this is running on an IBM PC sprinting at 4.77MHz with CGA graphics. Almost everything in the demo should be impossible.
For context, this is the kind of thing you would commonly see running on this PC at the time. Usually at less than ideal frame rates.
It is without a doubt all cheating, but to me that is just as impressive as doing it for real, since it requires programmers to come up with unique and interesting solutions to solve the problems.
A comment from someone more knowledgeable on reddit:
I can confirm: this machine sucks. Getting all sixteen colors onscreen at once is a hack. Doing it in 640x200, pixel-for-pixel, should be flatly impossible. Getting color at all at 640 pixels wide is supposed to be limited to text modes, with a fixed character set, which sucks. I made a block-puzzle game on this machine and had to change what shapes each color had, because abusing the character set allowed a triangle pointing up, but was incapable of arranging a triangle pointing down. And yet: the only hint of this limitation is some attribute clash in the spot-on Marble Madness scene.
If this kind of stuff interests you, I suggest checking out pouet.net where you can find an archive of most if not all of the demoscene releases, along with a forum of sorts.