I had a chat today with a friend that I hadn’t seen in almost sixteen years. He’s been studying Japanese literature and video games and has almost finished a PhD on the subjects.

Talking with him about video games lead to some really interesting discussions. When we were talking about Rollercoaster Tycoon, I mentioned how I had heard that game was written is assembly. We both agreed this was inconcievable and he mentioned how he had been learning to code as a way to be able to glean more insight into how video games are made.

While for books, authorial intent maps pretty directly to what the outcome is, for games it’s clear that technical abilities and issues can dominate what one is able to make. When games were written in assembly or C++, the only people that could make games were people that either were primarily programmers or people that had large teams behind them. One couldn’t really be an indie game developer that was mainly interested in narrative or storytelling and make a real game, since you needed so much technical expertise.

It is fantastic how, in the modern era, we have frameworks that allow people to make games without having to go super-deep into programming stuff. I love how Twine, Ren’Py, and the like have enabled people to create things that show interesting narratives or some other aspect of game-based storytelling without needing to spend years in development & writing OpenGL shaders or whatever.

I enjoyed having an opportunity to vent my frustrations at how difficult it is for people to learn how to code, more due to the cultural baggage of all the tools that people need to learn than programming itself. He has some very interesting perspectives on such things that I am really looking forward to discussing further. Programming really needs more humanities – I have long believed that it should be treated a lot less like math and a lot more like some fusion of writing and a trade.