The Art of Game Development - The Modern Polymath


Videogames are the culmination of all Arts. They are the result of all other Arts, combined.



When I started making Double Damnation, I only possessed introductory knowledge of programming - and determination. Having finished such a big game alone, I learned practically all useful main skills required for a videogame. I list them below alongside boring nostalgia:


Programming

At the start of development (2018), the only noteable thing was writing my own physics atop of Unity's (Unity's physics do not store acceleration btw), and writing my own custom animation state machine, in order to have movement like Smash Bros Melee. Since I made these 2 systems without ever having heard the word 'design pattern', they are technically flawed. Yet, it is those flaws that make it obvious how to make them clean and not-bloated next time.


A lot of misc mechanics which others would use unity plugins, I wrote myself to learn how things work.
Too many to list, most are minor anyway.


And while I was building the rest of the systems, I learned UML, design patterns etc etc, but the most important skill of all is learning Data-Oriented Design. True ECS, not Unity's bs. I cannot shill enough how great the benefits are, of splitting data and logic, instead of packing them together. No matter the language, engine or framework! Every programmer should design his logic around his data, as its the easiest way to have modular, clean code, which can be easily expanded and refactored.


Of course, if you learn something and think you know it, but do not truly understand it, the implementation will be worse than the default (see design patterns)

A fitting example is my first data-oriented implementation: the camera zoom refactoring, which ended up worse than what I had before!
Now, contrast the data-oriented camera refactoring to the data-oriented input system refactoring, which became so clean, that I effortlessly expanded it to support online multiplayer in a single day.


Speaking of netcoding... They told me converting a local offline game was madness. I did it anyway. I can confirm it is madness. The conversion went so bad, that I ended up with inevitable desync (Unity's Physics are not deterministic), and so, I went absolutely insane, doubled down on the 6+ months I had already spent, and made desync into a feature. The only game in existence which has this, and I am so proud, as it's also the only game with this co-op input system, implemented atop the excellent movement of Smash Bros Melee!


And did I mention Insanity mode (intentionally bugging Unity's renderer), or the Realtime Collaborative Level Editor, which atop of having clean code (data-oriented ftw), also serializes levels so efficiently (<1 KB), hence sending them via phone SMS or Discord messages!



Digital Art

Anything you want, just don't ask me to draw characters from scratch.



Writing

I started writing with Double Damnation (2018), so just like programming, I am not proud of my work here. But I am satisfied, and I will tell you why:



Video-Editing

I credit videogame review/montage/analysis videos for making me notice that visuals should constantly update on your every word to help keep the flow and interest. The best example is SsethTzeentach and Strafefox.
I also credit overedited zoomer-catered videos, as I noticed too much motion/visuals is chaotic and hard to watch or enjoy. Ultimately, an exemplar showcase of visuals accompanying audio, constantly synchronizing and flowing with it can be seen here, and here.



Voice-Acting

I did this because I noticed my dialogues for this game were horrible and cringe, so I had to save it somehow. A good voiceactor's delivery can make even bad deliveries to be memorable and good.


Being hyped from games with excellent voice-acting, I originally thought the Narrator from Darkest Dungeon was great only because of a voice-filter and I managed to duplicate the filter in Audacity, so I thought "why not imitate him"

I had absolutely no voice-acting experience, but I kept daily quoting memorable lines constantly, imitating the character's voices and some fun variations (it feels great to be alone in a house boat)

I started with F(r)iend, thinking a ghostly voice cannot be bad quality. I voice-overed all 414 of his lines, then moved onto Fisherman/Fool. It was tricky, and very hard as I did tons of takes per line, but I think I did a good job, considering my utter inexperience, and the fact I was using a 5$ microphone (yes, all ingame voicelines are with that 5$ microphone)


Since I obviously practiced daily very often for around a month or so, the hilarious thing is that my pronounciation/accent in english ended up being my default! Very worth.
Reminds me of "We are what we repeatedly do. Excellence, then, is not an act, but a habit."


Anyway, I then finished Fisherman/Fool, but F(r)iend's ghost voice contrasted the high quality of the Fisherman/Fool, so I had to return, and fully voice-over F(r)iend from scratch, boring month. The old F(r)iend voicelines were cringe, so the new voicelines are excellent in comparison, even though they are mediocre.


I am satisfied with my voice-acting, but I really lack variety (can't imitate many characters accurately, elder archetype fits me the most)



Marketing

Even a game with high quality can be ignored and die in obscurity. See how many great games are unknown to the average player, even in name. My case was even worse, as only ~40% of players have a controller, and even lower can play, because convincing a friend to play a random game is very unlikely. Yeah, no matter how "genius, deep, innovative, [insert underrated praising verb here]" Double Damnation ended up becoming, without a marketing campaign, it would be played exclusively by a few game design autists.


My initial marketing campaign was simple.
Videos explaining Double Damnation, game-design deconstruction style, part by part

Given each is like 20 minutes and analytical (boring for me and the viewers), it would take a full month for each video. So, I pivoted to cover bite-sized game design topics in which I'm interested enough and are related to Double Damnation. I took advantage of my voice-acting, and added uniqueness to my videos by covering them by an an in-game character, instead of generic corporate female #136 or "literally who"


Videos and the game library were the only marketing I had planned. It unexpectedly expanded to include things like a website (also learned basic webdev!) and was worth it.



Game-Design

Level Design, Balancing etc etc
Too much autism to put here.


I want however to tell you how I polished this skill to insane levels. Playing videogames helps. But playing bad videogames helps even better, as you easily identify/notice flaws. The best thing to do is have a text editor on the background while you play, and write any flaws or whatever could be done better. While playing and enjoying any game, be in the mindset of "What if someone hired you to do a remaster, or remake? What would you change or add?" Write down everything, and over time, with each game, you should improve a lot, while also having fun.



Psychology

Mostly useless for singleplayer games, just like the below.



Economics

I need to thank this random old youtube comment which changed my view on game design.

img of youtube comment deconstructing game design itself

I spent almost 2 months studying game design as an economy on my free time, it was autistic, but elaborating would need its own posts in the far future. The best case-study is XCOM: UFO Defense.
Let me share some simple rules concluded:

For Double Damnation, I cannot say I consciously used knowledge like the above, because all resources were finalized mostly on what felt good to me, and to have as tight controls as possible. But for a conventional multiplayer game, I see economics as the most useful skill in its game development, without even mentioning marketplaces, or trying to get real money from players, or social elements (e.g. guild system inevitably leads to a monopoly)
Combat/BriefConflict and Progression/LongConflict is what I'm thinking, but enough boring text here.



Communicative

tl;dr: How to ask for the exact result you want, without going back and forth wasting many results, while avoiding misunderstandings (stickmen are OP)




While I was learning the many skills highlighted above, I slowly noticed something.
The more skills I gain, the more they overlap, and the easier it becomes to boost existing skills or gain new ones, as they are all linked.

The classic example is that learning algebra, it is easier to learn economics or geometry. But let me share some personal examples:


These days, I cannot help but think of Polymaths of Old, whose knowledge in 1 field helped another field and it snowballed. I am certain that gamedev is the modern equivalent of the Old polymathy.


If you want to make a full game from scratch, most of the skills highlighted in this post are required - it is inevitable you gain them. The best result of solo gamedev isn't the finished game itself, but the skills the game developer organically gains to make a good game.

To gain these skills, you only require willpower&dedication. They don't cost money.