eniko
@eniko

in this essay i wi-... no wait for real though hear me out

games are built on systems. systems in a project with clean code interact cleanly. that is, each system has an interface, with inputs and outputs. clean code is reliable, that is to say when you give a system a certain input it will produce an expected output

and that's boring. games are fun not in the way systems behave uniformly and expectedly, they're fun in the way that you, the player, can modify the inputs in a way that the system yields a new, less expected output. game systems have to be built to accommodate this. what that means is that game systems have a bunch of exceptions built in by design! for example:

"if the zombie touches you while on fire, you get set on fire ... unless you're wearing the asbestos gear or have enough innate fire resist"

now of course some pedant is going to come in and be like "um, aksjually you can cleanly systemize that specific interaction and in fact all interactions" to which i have to say, yeah. if you're freehold games and you've got 20+ years to sink into the development of a game called caves of qud maybe. most gamedevs are mere mortals however, and need to get things done within a more reasonable timeframe, so shortcuts will be required

those shortcuts make code messy. but that mess is also where all the fun in games is to be had. which means games with clean code are boring. think of modern MMOs, which always have extremely clean systems, and can feel like you're playing an interactive spreadsheet

i rest my case, your honor


MrMandolino
@MrMandolino

the black knight greatsword is, as far as i'm aware, the only weapon with the special power of shooting whatever it hits into the stratosphere when you do the baseball player stance heavy attack. it's a uniquely coded animation trigger on hit that can't be repeated with any other weapon or setup.

it is, for that reason alone, my favorite weapon in all of dark souls.


You must log in to comment.

in reply to @eniko's post:

I think this, and, clean code is what happens when you decide what you're going to build and then build it. That's great for algorithm, and fine for apps to a point, but it won't work for anything arty — you should be tinkering with how everything works until the last minute and that's inevitably going to result in a kind of hairball of code that only works by a knot of monkey patches and willpower.

Thinking about the Minecraft Lavageddon, or the time Dwarf Fortress added haunted biomes and suddenly having a tannery became an incredibly dangerous endeavour

Along similar lines I keep saying recently that Denis Villeneuve's Dune is an incredibly well crafted and nice to look at adaptation but it's also the most boring one out of the three we had, because Lynch and Scifi Channel each made a wildly different pile of varyingly buck-wild creative choices and they're much more fun and interesting for it, even just looking at and comparing the ways in which they differ from each other