I’ve never got to a point where I felt like pouring hours into studying a game to become good at it. And no doubt it takes a certain type of analytical mind to truly excel at chess, but most of that (as with everything) is hard work and knowing the intricacies between possible strategies. This means luck won’t play a part into it and a rookie will never beat someone with experience.
But what if we changed that? What if we removed experience and years of study from the equation? How much would that level the play field? What if every chess game was different and you had to learn it on the fly? This was the base for “X, a game of YZ”, which was created for the 2015 ProcJam and you can play on my itch.io.
It’s been a while since the ProcJam and I have terrible memory, so bear with me. But as far as I remember, the idea came to me because of some Windom Earle comment in a Twin Peaks episode when he realizes that the good guys were using Pete’s chess abilities to stall the game. If you have no idea what I’m talking about, go watch Twin Peaks, it’s awesome!
As I mentioned, I never really put time into studying chess, aside from the every now and then chess match with my dad when I was a kid - I played Battle Chess just to watch the cool animations. So it shouldn’t come as a surprise that I wasn’t aware that Fairy Chess was a thing, which I just found out after a quick chat with Jefferson from BitCake Studio (who by the way just released Holodrive on Steam, go check it out!), after the prototype was about 1/3 done. However, it was a good pointer to indicate that, since other people have screwed up chess, I could too!
But not being an actual chess connoisseur, how could I expect to design a decent procedural chess game in less than a week, only using after work hours? Most of the design was already set in stone anyway - it’s broken chess, but still chess. However, the driving force behind the design was the primordial question: how possible is it for an unexperienced player to beat an experienced one if the move and piece sets were different? How different does the approach need to be if you have to learn the rules on the fly? My conclusion was that creating a sandbox to try and answer those questions would be enough.
Since this was a game jam, there wouldn’t be that much time to break the rules, since I still wanted this to still be minimally enjoyable to play - therefore, building a new rationale from the ground up would require a lot of iteration time, which I didn’t have. This left me the option of trying to dissect basic elements regarding pieces, movement and positioning.
So from the basics, we have
Sheesh, that’s a lot. So how exactly do we assemble the piece set for a given match? Let’s look at the code, because I don’t remember anymore.
Uhh, yeah, I’ll just describe it (it’s jam code, don’t judge).
The positions for the pieces are mirrored on opposing teams, as it would be expected. But everything else is pretty random, and we have to teach the players how to play on the fly. That is, admittedly, one of the worst “what went wrongs” in the game, partially because I didn’t put that much time into it, partially because it’s super hard to do that properly without the need for a tutorial at every match start.
In the end, I opted to simply show the possible positions a piece can occupy when you hover over it, including the opponent’s pieces. Also, there’s a sidebar with all the informations about the piece. To help condense the information a bit, we use the cheesy compound name trick: all movement patterns have a keyword assigned to them. This means the player can quickly glance at a piece’s name and realize how it should move. Does that work? I have no idea, but it seems that people can make sense out of it, which is the least we need to do!
If every piece has so much information assigned to it, the least we could do is giving them different visuals. In the next post when I’ll explain how I went from an accidental bong generator to beautifully crafted mahogany chess pieces. Stay tuned!
Reblogged from my personal blog. You can read the original post here.