Read how Chris stumbled on his passion in the game dev craft, and went on to publish his first game


In June 2019, I handed in my resignation letter, quitting an office job in the soul-crushing financial industry. To make my dream video game, you think? No not really. At the time, game dev was the furthest thing on my mind, which was already occupied by a busy plan to team up with my brother to run an e-commerce business. I did, however, always have a desire to learn programming, and expand my personal skillsets beyond Excel sum-if functions.

So I looked around and bought a course called “How to program Ethereum smart contract with Solidity for Beginner” on Udemy. I have always been a blockchain enthusiast, and a voraciously reader of the industry news so I know what a smart contracts and the language to write them (Solidity) for the Ethereum blockchain. Nevertheless, while the course was intended for a beginner programmer, it was clearly not suitable for an absolute beginner like myself. This was me attempting to solve differential equation before I learn algebra. I quickly gave up after a couple of lessons.

Disappointed but undeterred, I started searching again for another programming course that is more suitable for my skill level (or complete lack thereof). I stumbled upon and found the “Complete C# Unity Developer 2D – The World’s Most Popular Unity Course”. I double-checked this time and confirmed it didn't require any prior knowledge in coding. I love video game, and definitely play more indie games than I care to admit, so this seemed like a fun way to learn. It would give me a solid foundation to go back to finishing the Ethereum course, or so I thought!


Fast forward 2 months and I consumed the entire course. Did every instructor’s challenge and finished every project to 100% completion. This easily has been the most fun I ever had since that time I loaded 200+ mods into Skyrim. In fact, I stopped playing video games during this period and dedicated all my free time to writing C# in Unity. And I still wanted more. I did not want to go back to the other blockchain course. I need more game dev in my life!

At this point I could either take more lessons, or learn from doing a new project from scratch on my own. I chose the latter, feeling confident with the foundation taught by the instructors. I fully expected to run into roadblocks, but believed I had enough knowledge to research a solution. I also heed the advice that “finishing a game is a skill”. I wanted to prove that I too can master this skill, and not getting stuck in endless unreleased prototypes. I started planning for my first game idea!


Crypto: Against All Odds - Tower Defense

The invention of Bitcoin has given rise to a fascinating crypto subculture. As a blockchain nerd, I wanted to make a game to celebrate this subculture and tell the stories of innovations, thefts, mysterious creator, conspiracies and memes in the Wild West world of cryptocurrencies. Thus, “Crypto: Against All Odds” was born. My vision for the game is not only something that blockchain enthusiasts would appreciate, but also an educational experience for people unfamiliar with cryptocurrencies but willing to learn.

Similar to “Plants vs. Zombies” (PvZ), Crypto: Against All Odds (CAAO) is a modern tower defense game on Steam that lets you play as a mysterious blockchain security expert in the early days of Bitcoin, commanding a squad of crypto defenders to fight against hackers, trojans, and ransomware attacks!


For students of the Unity 2D course, you may recognize the core gameplay was heavily inspired by what I learned from the “Glitch Garden” lesson. The main challenge was going from 2D perspective to a 3D isometric view to fit my vision of the “blockchain”.

Going from 2D grid in Glitch Garden (Left) to 3D isometric grid in “CAAO” (Right) is a challenge I had to figure out early in the process

To achieve this goal, I also took another course “Complete Blender Creator 2.8: Learn 3D Modelling for Beginners”, which was also excellent for beginners like myself. I quickly learned enough from the course to make exactly what I want and put my new founded knowledge to use.

3D models of the crypto “towers” I made after taking the Blender course

Some people have asked if I have backgrounds in arts. I did not have any prior training unless you count the PowerPoint skills from my previous office job. I strongly believe that art can be learned just like programming. Do not be discouraged by your initial developer’s art, and you will get better the more you practice.

While following the Unity course was a relatively straightforward experience as the instructors already did the planning for you, I realized that starting new game dev project involved numerous iterations, frequently going back to the drawing board and absolutely a ton of polishing work to get to production quality.

Evolution of my designs for the main game board from very first build to the final beta version

In addition, I also leveraged what I learned from the “Block Breaker” and “Space Shooter” lessons to add some fun mini games into my game, beefing up the content.

A Block Breaker game I built following the Unity 2D Course (Left) and the Bitcoin mini-game version in CAAO (Right)
A Space Shooter game I built following the Unity 2D Course (Left) and the Ethereum mini-game version in CAAO (Right)

After 18 months of solo dev work, here is the final result:


Posting early on Social Media to gauge the reception to your game

As CAAO started to come together, I posted a trailer on Reddit in various cryptocurrency communities. The reception was very positive. Later on, this Reddit post was one of the pieces that helped me convince the publisher there is viable audience for the game.

At the time I was still thinking about self-publishing. However, I got a message from another Reddit user who worked in the blockchain gaming industry, offering to help with the project as he was really excited about the idea of CAAO. We had a few discussions and soon after, I got a new partner working on the project, doubling our team size!

Do you need a publisher for your indie game?

This is a common question in the game dev community. From my research, there are certainly some horror stories about getting in stuck in a horrible deal with a publishing company who will not do anything but getting a cut from your revenues.

Do your own research on a publisher just like how you do due diligence for a new business partner. Look at their published game catalogue and read their people’s bios. I was fortunate to find a publishing company that works very well with us and provides amazing support. In the end, I think for a solo dev releasing the first commercial game title, having a publisher’s support is absolutely worth it not just from a financial standpoint but also as a learning experience.

The publisher helped us with localization of the game into 8 other languages

When contacting a publisher, send a polished vertical slice

In early 2020, we were planning to hit GDC and pitch our game to various publishing companies. However, COVID-19 threw a wrench to all of our travel plans.

Undeterred, we spent a few days researching the publisher’s industry and collecting their contacts before sending them a vertical slice of CAAO, along with a deck outlining our vision for the game, our understanding of the market, and the estimated budget.

Be ready for a lot of unanswered emails. However, we did receive a fair bit of interest from 3-4 publishers who wanted to see more. Most complimented that the graphics and visuals are very polished, which definitely helped with their first impression. Eventually we moved forward with one of the publishers that provided us a lot of constructive feedback.

Listen to the publisher’s feedback

While our publisher could see some potential in the game’s prototype, they initially were not onboard yet unless they could see us capable of improving the game further. We received a lot of constructive feedback, and learned a great deal about positioning our game to the right audience. This does not mean that you should always make changes based on what a publisher suggests, a lose the original vision for your game. Our publisher welcomes healthy discussion and will respect your design decisions if you can defend them.

Some of the game’s shortcomings were the lack of a story, bad difficulty curve, and certain design choices that may make sense to blockchain nerds, but hard for the average gamers to grasp. In the next couple of months, we brought onboard an experienced Game Designer and consulted him to address these feedback.

The next time we showcased the gameplay, the publisher was very pleased with the progress and we signed a distribution deal.


I would have never imagined going from a simple Unity course to signing a deal with a publisher to distribute my game on multiple stores with localization support for more than 8 foreign languages! And it all happened in 18 months, despite some COVID-19 setbacks. I am super thrilled that I discovered my new passion in this craft.

Finishing a game is definitely harder than I expected, but also extremely fulfilling. I cannot thank the staff enough for putting out amazing quality content for aspiring game developers, especially those that have no prior experience in coding.

And if you plan to follow this same path that I did, please do not hesitate to reach out. I am always happy to connect with new game developers and share our experiences!


@pictagor on Twitter

Get Crypto: Against All Odds on Steam!