Between the Boughs by Evergreen Games

making videogames for everyone that lasts

in the previous entry in this two-part article series, I discussed some of my developing values around computing condensed into an ethos called 'slow computing'. you can check that out here. in this part, I'll be exploring my thoughts on how that translates to my values in videogames and what kinds of things I want to make!

for me, when I think about 'slow computing' as I've defined it, it gives me an image of relax towards my relationship with computers, which for much of the past decade is something that kept growing increasingly hurried and anxious. with the pace of the development of AI and the security state rapidly increasing, it began to push various feelings I'd been percolating over the edge of the pot.

in the same way, I want to simplify my relationship with videogames, both in creation and consumption. what I'm craving the most now is a change in the status quo that makes the world kinder, gentler and more equitable. I want to reflect that desire in all areas in my life and become fully immersed in communities that represent those values and translate them (as much as possible) into a widening social project.

I understand art as discursive and a process in collective identity-making, that it's something that forms our ideas of the world in subtle ways. I also understand that media is something that will be predominantly defined by the current status quo and formal power structures, much in the same way as all forms of communication. that's okay, because that discursive work is still important, and being small doesn't mean what I do is insignificant. part of that is because I know many other people feel similar, and more and more people are growing to feel that way. that's something I want to participate in, and to spread that idea of "yeah, we can all work together and do this!" itself.

I really value art as a form of asynchronous communication. I appreciate direct communication, but I believe each have their strengths. art can cover certain spaces direct communication struggles to, especially in within the constraints of english and western cultural norms. I see art as being good at communicating abstract, relational, and systemic ideas. it's also good at conversing directly with our deep emotions and subconscious biases and worldviews that we might not speak about directly. art gives people space to process complex and messy ideas privately and with dignity, without fear of shame or ridicule. with videogames in particular, I believe they naturally lend to systemic and relational narratives, sharing ideas that reflect processes and possibility spaces rather than distinct, individual and disconnected things. that really speaks to me, because I myself see the world as interconnected, interdependent processes and multiplicities.

when I think of multiplicities, I also think of my work creating videogames as just one part in a doing things that represent my values. what I find truly valuable is not necessarily creating art-communication itself, but the role that play in a social context. not just art as isolated asynchronous communication, but art as an impetus for collective identity-making and community building. I believe social unity and a communal sense of determination is a really powerful thing!

I struggled for a long time in my life whether I was a "lover" or a "fighter", in terms of how I want to impact the world. my first answer was that that is a false dichotomy. my second answer was that I'm mostly a lover, but maybe the "fight" I'm best suited for is the kind where I try to educate, nurture and bring people together in meaningful ways. it was something I struggled with for a long time to come to terms with my limits and my real strengths. and in that sense, I think "videogames" and "caring/educating" are my best strengths.

the area in games that best represents my values is within indiegames - especially in the itch.io space, but certainly far from limited to. to me, the label isn't important, but rather the ideas a thing itself represents no matter where it comes from. but "indiegames" and "itch.io" do represent distinct communities with people already doing a lot of things I care about (go figure - that's where I started) that I can link up with, contribute to, and see what further things we can build together. since I really care about this, I want to focus my energy here as much as possible!

(personal aside: I currently have a not-insignificant issue where I struggle to play games at a computer and mostly game in bed, and on my phone or an open source handheld cuts me off from habitually playing indie games in a way that frustrates me. I'm hoping to solve this in the future, perhaps with a steam deck. I was hoping windows emulation on android/arm would mature faster than it has, but I digress!)


so, when I think about 'slow computing', in its care towards accessibility, longevity and behind-the-curve computing, I think again about open standards like I identified in my first article. currently, I believe windows and steam are providing a heavy subsidy to serious issues of compatibility and poor standardization within gaming. there's a ton of patchwork engineering holding this stuff together, and just as much, both being tied to microsoft and its closed platform feels compromising towards longevity and self-determination. and then there's the boycott on microsoft on top of that.

for anyone who wants to write a game that can (relatively) easily be ported anywhere, forever (as long as compatibility layers are maintained), open standards seem like most practical approach. I value open game engines like godot, but they only go part of the way towards solving this problem. binaries generated by godot (like most other game engines) are tied to the platform and architecture they're exported for. without the original project files, the game cannot be ported without emulating the OS and processor environment or reverse-engineering a runtime.

it's totally possible OS and architecture emulation will continue maturing to the point it's a non-concern, or that none of these things are likely to present a real practical problem in my lifetime. I think it's also true that these things are incredibly complex and difficult to maintain, which adds a high overhead to the cost of keeping them usable.

so for me, the ideal solution is an open standard, particularly anything that runs on a virtual machine (VM) that can be emulated and re-implemented freely. our first practical example of this in games came from the reverse-engineering of consoles, thanks to the homebrew and emulation communities that have grown around them. now we have fantasy consoles, like pico-8, tic-80 and uxn(which grew directly out of the permacomputing movement, inspired by similar ideas) which are (relatively) easily re-implementable open standards that can run on just about anything.

similarly, I find love2d achieves these goals really well. love2d is open source, and its runner can be recompiled for any platform. love2d games themselves are just bundles of source files that get packaged with the runner and executed at run time, making it similar in practice to an emulator and a rom file.

other game engines work in similar ways, such as ren'py, rpgmaker/easyrpg and game maker. unfortunately, game maker being closed source means runner-based (you have the option to natively compile) games require reverse-engineering in order to be ported, and new runners would have to be built for different versions of game maker. it's possible, just a higher overhead. this is also true for construct, unity, godot and some others.

web-based games are in a similar situation as OS emulation, though even more precarious. every web browser is doing something similar to what emulators do, but what the web lacks is stable standards and standardized implementation. maintaining web browsers and pages that just work has been a notoriously hard and messy task. if we can barely rely on web forms to work consistently across different browsers and devices, videogames are an even more difficult task.

there is hope though! web assembly(wasm) is an open standard for a virtual machine (like pico-8) meant to be implemented on the web. it's standardized, stable and high-performance, and beginning to be widely adopted. games built for wasm have much better potential for longevity, and game engines like godot, unity and unreal can already compile to it! additionally the rust programming language can natively compile to wasm, making just about every game engine built with it, such as bevy, fyrox and macroquad (my favorite! it's like raylib or love2d). for general audiences, the web is just about the most accessible thing out there, and its universal use gives it a high chance towards longevity despite its messiness. and unlike something like windows, it's also built on open standards.

also in the web space, ruffle is a flash emulator that runs on web and desktop. thanks to their work, flash has been preserved as a de-facto open platform in the same way retro consoles have been. a great thing about flash is that it already has great engines for indie development, like flixel. unfortunately, flash game engines are no longer maintained, but it's a stable set of tools nonetheless. the haxe language has a currently-maintained reimplementation of flixel called haxeflixel. haxe also has heaps and kha, and hax itself is an open programming language with its own portable VM, making it comparable to other options here.

the area that is a struggle here is distribution. for now, steam is heavily tied to the windows ecosystem, and it encourages the distribution of windows binaries even when they wind up being emulated through something like Proton. on the opposite end, itch.io is a great environment to host wasm-based games and other platforms that export to web, such as pico-8. and itch.io also makes it easy to provide versions of games for different platforms easily and transparently, something I really value. the downside is itch.io isn't nearly as popular, and it's harder for people to make a living through it.

while there are still issues, such as compatibility with aged hardware, to me the web feels like the best balance of what I'm looking for in games. it's the most accessible form of distribution, the least compromising in self-determination, and technologies are maturing that help make sure things made for it have longevity. and since the web is so popular, it's likely to have efforts made to maintain it for a long time to come. wasm improves issues with web performance, increasing the range of games that can run even on "potato pcs" or low-spec smartphones. web games can also bypass apple and google's exclusionary mobile storefronts. and the best part about it is that the web doesn't lock anyone down to a particular engine or programming language due to the abundance of options.


for a while I was worried my best option would be something like pico-8 or even console homebrew (which are both awesome- just limiting), but it's exciting to know that I've come in to things at a time where this is already a thoroughly-explored problem with accessible and ergonomic solutions. so much work has already been done by people concerned with preservation, longevity, accessibility and self-determination, and that gives me a really nice feeling and a sense of hope.

when I first came back to being "in the weeds" with computing recently, it felt like computers haven't really matured in the past decades. but I think that's because a lot of the real meaningful and foundational work has been happening quietly in the background, while the foreground became rife with all these ills of corporate domination. I feel very thankful and in great company among the world of FOSS, and I hope I'll be able to contribute something meaningful myself.

in the short term, it's given me the conclusion that while valve is doing great things for the adoption of linux and the open source community, the reliance steam/proton has added towards windows has certain complications. steam is also a closed platform heavily subject to the whims of western instutions, which we've seen recently. steam feels like a necessary platform for wider outreach and income-building, but not the ideal thing to couple with in the long term.

what seems like it achieves my goals the best is making small, low-spec games using any web-exporting engine, where other platforms are a bonus after that. even better would be something I can run on an arm-based platform and switch over to that for development (some things already work!), letting me consume less power. having a risc-v based machine would be even nicer, but I think we're probably still a good 5-10 years off from those at best. in the meantime, nothing is perfect and that's okay. in the end, I thought so deeply about this stuff only to come to the conclusion that what I (and many!) are already doing now fits it pretty well, but that's a great thing in and of itself! what I didn't expect was that the web would be such a good option. I feel more confident now after having undertaken the process to think deeply about what I care about and what my priorities really are. I was expecting a more fundamental reorientation, but reaffirmation is a welcome thing too.

this article contains a lot of technical discussion. if you've identified any errors, please reach out to me and we can see about correcting them!