games.mdwn (3791B)
1 **Games** have been made for computers since the early years. Playful and 2 non-utilitarian uses are an important aspect of any technology – for 3 example, playing with hunting bows led to the invention of the musical bow 4 and other string instruments. 5 6 Computer games are commonly framed as 1) entertainment (rather than e.g. art 7 or life-changing experiences), 2) something produced by an "industry" (in 8 the same way as there is "the film industry"), and 3) something that has 9 high demands on the hardware resources. Many of the common conceptions are 10 at odds with permacomputing. One should therefore look into the "margins" 11 (i.e. "independent" games) for a more diverse view of what computer games 12 can be. 13 14 Before [[siliconization]], it was a common idea that any computer is 15 suitable for playing games – and the most limited computers were actually 16 considered unsuitable for anything else. This is something worth returning 17 to in permacomputing: target those platforms that are available to anyone 18 (either directly or via emulation), and especially those that are no longer 19 preferred for utilitarian purposes. Supporting a [[bedrock platform]] 20 increases the likelihood that the game can be revisited in an indefinite 21 future. 22 23 Maximalist [[aesthetics]] is a major driving force for [[obsolescence]] and 24 ever higher hardware requirements. It is a better idea to stick to a less 25 demanding style (e.g. [[pixel art]]) than to adhere to the mainstream gamer 26 idea of "up-to-date graphics". 27 28 In the [[non-digital]] world, a "game" is often more like an immaterial idea 29 than a product (think about the variety of games that can be played with 30 playing cards). The same approach can be applied to computer gaming as well: 31 Tetris is not really a specific program/product, but a game that any 32 programmer can implement in a moderate amount of time. If the logic is 33 defined strictly enough, the different implementations can be compatible in 34 regards to scoring, competition and skill acquisition. The games that can be 35 fully described as sets of rules have the longest potential lifespans. 36 37 Computer games often blur the distinction between a game and a virtual 38 environment. Game-playing is a goal-oriented activity, but in a virtual 39 environment it is not necessary to reach for anything specific. An important 40 aspect of simulated environments is that their representations of the world 41 can be used to gain insights to the actual world. This is how games can be 42 used to [[amplify awareness|awareness amplification]]. 43 44 ## Common problems 45 46 Game programming is often quite careless, as games are traditionally 47 "allowed" to use all the available resources. Thus, it is common to find 48 things like CPU-hogging busyloops even in turn-based games, or ridiculously 49 high system requirements in modern pixel art games. 50 51 Running of games often requires [[emulation]]. Cycle-exact emulation may be 52 orders of magnitude more resource-hoggy than "just enough" emulation, so it 53 may be a good idea to support the fast but inaccurate emulators when 54 targeting classic platforms. 55 56 ## Specific games 57 58 These games may be interesting from the permacomputing perspective, either 59 technically or otherwise. 60 61 ### Another World 62 63 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. 64 65 Adventure games from Infocom, Sierra and Lucasfilm are also based on bytecode virtual machines. 66 67 See more: 68 69 * [The Polygons Of Another World](https://fabiensanglard.net/another_world_polygons/)