commit 59f7514d9637635c0a06951baadb78c972cb60dd
parent ce90dd7e48d4be50464d0ec7dfb6516168e27e43
Author: Ville-Matias Heikkila <viznut@low.fi>
Date: Fri, 29 Jul 2022 20:51:44 +0300
mention common tech problems
Diffstat:
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/games.mdwn b/games.mdwn
@@ -40,12 +40,24 @@ aspect of simulated environments is that their representations of the world
can be used to gain insights to the actual world. This is how games can be
used to [[amplify awareness|awareness amplification]].
-# Specific games
+## Common problems
+
+Game programming is often quite careless, as games are traditionally
+"allowed" to use all the available resources. Thus, it is common to find
+things like CPU-hogging busyloops even in turn-based games, or ridiculously
+high system requirements in modern pixel art games.
+
+Running of games often requires emulation. Cycle-exact [[emulation]] may be
+orders of magnitude more resource-hoggy than "just enough" emulation, so it
+may be a good idea to support fast and inaccurate emulators when targeting
+classic platforms.
+
+## Specific games
These games may be interesting from the permacomputing perspective, either
technically or otherwise.
-## Another World
+### Another World
There is very little code in Another World. The original Amiga version was reportedly 6,000 lines of assembly. The PC DOS executable is only 20 KiB. Surprising for such a vast game which shipped on a single 1.44 MiB floppy. That is because most of the business logic is implemented via bytecode. The Another World executable is in fact a [[virtual machine]] host which reads and executes byte-sized opcodes.