About board games and programming

Due to my particular neurological curse I’ve been born with, my life has been succession of obsessions. At whatever point of time, I find joy in little else than constantly thinking about whatever I’m obsessed with and whatever projects can come out of it: if it’s programming, I program something. If it’s boardgaming, I try to design a game. If it’s narrative theory, I write novels (got around four of those from 2012 onwards, and of the four I finished I “published” two). If it’s a person, stalking-like stuff happens. In any case, I’ve fallen hard into boardgaming again. As a result I tend to peruse BGG more these days (link to my BGG profile) and I fill my very limited free time immersed in the mechanics-rich world of board games. I used to play videogames regularly, mainly strategy games made by Paradox, but also the rare series like UFO and some others I can’t even recall right now. I also enjoyed cinematic stuff like Red Dead, GTA and others. However, I agree with the old quote that a game should be a series of interesting decisions, and these days most decisions in games seem to involve stuff like whether to walk in a cardinal direction while enjoying the pretty views. And that was fine until this current generation of games; we have TLOU 2, a quite overt vehicle for marxist subversion, and even Paradox, for the upcoming Crusader Kings that comes out this September, have hired a person that seems to be almost exclusively in charge of adding alternative female supremacy as well as homosexual and bisexual majorities in a MEDIEVAL SIMULATION GAME. Paradox are a Swedish company, so such stuff is to be expected as their society collapses. In any case, I’ve mostly had enough. With board games I’ve rediscovered the joy of sweating to decide whether to take this decision or another, while I consider the pieces and markers distributed upon the board, and I hold cards so full of possibilities that merely touching them makes my heart race.


Pictured: ending the spread of jihadism at least in board game form

I’ve discovered many different sub-genres of board games as well as variations inside of them. For non-insane levels of involvement I prefer deckbuilders, but my favorites ended up being very mechanically complicated games that also simulate sort of human-like opponents. GMT does it best, and amongst them the COIN series are probably the best modern iteration. When I got “Labyrinth”, above pictured, I found out that I disliked a lot to follow the logic of simulated opponents in order to move their pieces, because I already have to deal with enough analysis paralysis during my turn that each game I play always tends to take around two times or more what is indicated on their boxes. However, turns out that in modern board gaming programming has solved that issue in many cases: you get the tactile immersion of handling a board, its pieces and the cards, but a more or less complex program simulates the opponent. Although similar stuff had been done for chess, many modern board games are very different beasts. I had some of my best sessions of gaming in any medium thanks to the assistance of those unsung heroes that programmed the systems and the artificial opponents just because they could and wanted to.

That ended up sparking an old obsession of mine, programming, which is actually my trade. I currently work as a technician doing stuff unrelated to programming, and all the programming projects I had been interested in were related to artificial intelligence, 3D map representations and exciting stuff like that. Through those projects (link to a video of some stuff I programmed in Python) I realized that there wasn’t a programming language I knew and could care about that performed as I needed: it had to be fast, secure and reliable. Python is a mess, burdened with a core that forces you to do black magic to allow multithreading, and even in those times it rarely works as you would expect. Java has improved a lot in these last years, but it’s still heavy and generally annoying. The kind of performance I needed demanded something like C++, but I have no wish to learn such an old, base level language that drags so many archaisms and whose tools don’t seem to have adapted to the current world. However, Rust seems to have changed all that. Rust popped up as a language that incorporated memory and thread safety into its base idioms: you need to establish the ownership and lifetimes of your variables. You can’t do crazy shit like duck typing everything, sending whatever crap you want to a function and just through the magic of on-the-fly garbage collecting have the receptor treat the parameter as whatever. So stuff like having a collection full of random garbage and then recognizing whatever you want through its properties is out of the picture. In exchange you get a mostly high level language that’s almost as fast as C++ and even thread safe. Back when I read a few books on Rust two years ago, some vital stuff hadn’t been implemented into the codebase yet, but now it looks like a mostly mature language with all the modern commodities like easy packaging, compilating and distributing, as well as the best error reporting I’ve ever seen in a programming language. What I wanted to do with the language two years ago was still shit like neuroevolutionary algorithms, but the language is far too complicated and peculiar to start with stuff like that. Still, I couldn’t care about any simpler program I might create.

However, now I can combine two obsessions by programming one of those hyper-complicated COIN games in Rust. Pendragon seems to be the most mechanically hard, but doesn’t seem as interesting to me as Fire in the Lake, a game about the Vietnam war in which four asymmetric factions deal with that whole mess. A mere two days ago, I think, I started the GitHub page for it: link to the project page. Now I’m getting the usual tingles to devour everything I can on Rust and programming techniques, immerse myself in codifying a system and through it get some meaning out of this horrible world. Unfortunately at this hour I’m stuck at work, but I’ve been gifted with the kind of shift that allows me to write these stupid words and use at least half of the remaining time researching the needed shit. Pretty exciting autistic times ahead for me, for a few months at least.
 •  0 comments  •  flag
Share on Twitter
Published on August 05, 2020 07:38 Tags: board-games, programming, rust
No comments have been added yet.