I just wanted to make an illegal game
Word of warning, this entry is half heart, half techno babble.
Over the years, the gaming landscape has just exploded from when I was a button-smashing child. My wide eyed optimism about making a little pixel based game became less and less ideal as a flood of retro style games filled Steam and the internet. I just had to make something else now, and so I left sidescroller and crisp pixels behind. The pursuit of creative satisfaction had to begin all over again.
SteelPinion is merely one of many games I've worked on before. An embarrasing amount of time was spent on a game called "Pokemon Tactics". That one was worked leisurly for about 8 years. Some of my worst code lives in those old games. The complexity would often grow until managing it became a chore.
Is it so wrong to love Pokemon?
Sometimes, I'd get these moments of clarity where a little voice in my head was like "stop working on these games you don't have intellectual rights to". My heart was dead-set on making a Pokemon specific game. A knock-off universe just wouldn't do. In hindsight, Pokemon Tactics game was rewritten 5 times in an attempt to both organize code better and defy reason.
What does "intellectual property" mean anyways? You can't stop art!
Pokemon Tactics was the only game I cared to create and release. Even if it was for free and 100% anonymous. I had vivid fantasies of playing through the Kanto tale as Red, fulfilling the original manga canon... To my dismay, other noteworthy fan Pokemon projects were taken down by some cool cats over at Pokemon headquarters again and again.
Dissapointment with AAA game makers
Finally, at some point I accepted that making a fan game is legal until it isn't. The owners can target your project on a whim and make distribution of those binaries criminal.
The official Pokemon universe has moved further and further from the vision OG fans had for it; which was clearly a cross-platform open-world MMO (pokemon go isn't it! Don't talk to me about that rubbish). Had I been at the helm of the creative direction with a mountain of cash backed by creative talent, such a thing would not be illegal, but actualized!
Becoming the change
On August 23rd 2020 a friend and I decided to make a tactical flying game with combat. We had discussed this idea once before in 2019 over whiskey, but left our ideas on the table along with empty glasses. This time around, I was awake and jumped at the opportunity to work alongside another aspiring game engineer. At the time, I had no idea of the depth I had just jumped into.
In the early days we tossed up possible names and game mechanics in trello, bought a domain, coordinated meetups on slack + discord. We were finishing a slew of little tasks fast; the future was bright and full of potential. Within a couple of weeks we were experimenting in Unity!
At this rate we'll have the game fully released in 6 months!
Deep love of modding
Even this early in SteelPinion's development, I was already thinking about mods and making it a first class feature. My other illegal Pokemon games had a flexible little collection of yaml files that neatly described everything from Pokemon's abilities to items.
Naturally this mod file concept fit into SteelPinion right away as an easy to read or edit format. Of course this was no novel concept, being seen before in every great modable title; nevertheless, seeing source mod files of my own design was immensely satisfying.
I am very excited to share the modding tools, and guide, but currently its too early to share that. (more to come on this later)
Engineering & Architecture
By October 2020 we had an AWS API Gateway talking to a cli websocket client broadcasting messages about some dummy game state. There was no characters, story, or world for Steel Pinion yet, but we had us a C4 Context diagram! Please note, this was back in 2020, so things have changed a bit since then. Still, I decided to share the original diagram to capture the simple purity of the early days. Perhaps we started with data because we are engineers first, or maybe there was another reason...
The big idea was to setup a central service where the actual game logic lived. Completely isolating any rendering away from the engine; then theoretically, any client that meets the network contract can play.
Even though we had a boss database design, slick network design, and arguably okay class design in Unity3d; we were missing one very critical facet... GRAPHICS! The game looked like nothing. It was full of text and squares, and thats it. I suppose in Unity we rendered them as cubes, if its any consolation at all...
We made the mistake of searching for "airship battle" images on the internet. The images we got back were glorious insane depictions of unique fantasy ships flying through the clouds blasting eachother apart. We badly wanted ambitious 3D models that could reflect the images we saw, but neither of us knew the first thing about modelling :/
So we did what any programmer would do and used primitve shapes as a placeholder for the non-existant 2d graphics we'd settled for. Sadly, we didn't think we had the chops to deal in 3d, so we didn't even try.
Old Man Euclid
I still remember all the remedial math classes I had to take growing up. A room after school, during lunch, or even recess at times. A few kids staring blankly into a chalkboard with a tall adult blabbing on about symbols on the wall.
Who even cares about this stuff? What use is it?
The answer to those questions wouldn't come until about halfway through my professional career as a programmer. Thats right. I skirted my way through life with only basic arithmetic and even became a self-taught professional programmer without ever understanding advanced forms of mathematics. My journey is far from over in this space. I've not "arrived" by any description.
Math is extremely relevent because mathematics is central in game design. A game is merely a fancy collection of patterns dressed in glamorous imagery. This is not to take away from the experience a gamer has! Since a human gamer's imagination coupled with these patterns form distinct experiences that mold and shape thoughts. Thoughts easily lead to emotions that then go on to influence that person's life for better or worse.
By this point in 2020, I was still just copying math snippets from stackoverflow whenever I needed something remotely complicated for SteelPinion. I had no idea how much this was holding the project back; how much I was holding myself back by avoiding old man Euclid and his elements...
Steel Pinion Comic Update
Check this out this colored page revealing some of SteelPinion's world lore! (The description explaining "what the heck is going on", will come in later updates)
In the next entry, the plan is to cover Nov 2020 - Jan 2021