5 Things To Know Before Start Solo Gamedev
Systems first, Aesthetics for later.
Hello my fellow gamedevs!
If you’re like me, tackling solo gamedev on the side, you know the struggle is real. We look at the initial list of hard and soft skills required and instantly feel overwhelmed. It’s too much to master all at once.
I realized early on that I was spending far too much time on low-value learning, like pixel art, instead of mechanics, prototyping, maths and clean code. I was treating gamedev like assembling parts, not engineering systems.
To help you avoid that time sink and focus on the essentials first, I’ve broken down the learning path. These are the 5 Things To Know I now use to filter out the noise and ensure every minute spent is focused on lasting, high-quality knowledge.
Where to start? Gamedev Essentials!
The podcasts I listen to often say they consider the release of a videogame almost as a miracle and I can’t agree more with them. Many pillars are involved.
Aesthetics and sound
Storyline and Narrative Design
Technology and Tools
Mechanics and Systems
But let’s not get overwhelmed by the Pillars of game design. The same way before we walk we need to crawl, before we design we need to learn and create our own patterns. First let’s sort that list for you as an initial Essential learning path.
Technology and Tools.
Programming Languages
Small Gamedev Engines (Love2D, Phaser.io, Pico-8)
Mechanics and Systems
2D Character movement
Collisions
Physics
Hitboxes
Aesthetics and sound. We can leave this for later.
Storyline and Narrative Design. Even for more late…
1. The Quality of Learning
We want things fast, we want immediate knowledge but let me tell you we are humans, not AI and that’s not the way we work. We can’t be trained by terabytes of information and suddenly understand how to build the next successful looter-shooter game.
Let’s say you’ve found a gamedev tutorial, you are excited to take over it, the duration is short enough to be taken around your day job and daily duties
On my previous workshop I just wanted to teach you how to create a tiny UI Component (A window) on Pico-8, but probably after that lesson your brain was already thinking the possible usages where it can fit on your project.
That’s cool as you are applying one of the key strategies of deep learning for humans
Deep Learning Techniques (For humans 😉)
Leave behind those learnings of 1-2 hours to create a whole game. At least by now
Especially at the beginning, learn by systems and mechanics. Few examples:
Lerp movement for 2D Character movement
Coyote Jump on 2D Platform games
Wall Jump on 2D Platform games
Think about possible new usages of your learning and try to apply them
Teach your learning using simple words to your partner and friends
2. Leave Art Learning For Later
Coming from Web design and because I love Pixel Art, I decided to start with it on my gamedev journey, inspired by 80s and 90s arcade games. That was my choice because I had programming background.
But from my point of view, it is a mistake to start focused on art if your end goal is to create your own game. Let me tell you why.
Systems and mechanics are not easy to implement, even coming from a similar industry. Create a clean and maintainable code requires effort and thoughtful algorithm thinking.
You can create a smooth 2D character movement using boilerplate sprites, there are many resources available for it (Kenney, itch.io, GDM) and later you can easily replace them with the assets you create or the ones you purchase.
But you can’t create a smooth 2D character movement without the essential knowledge of coding, don’t let the AI do the job for you, believe me, that have a cost and bugs will be showing up.
Pro Tip: Instead apply AI to learn essentials, to organize the content and to generate summaries for you of the language you are learning… But wait José, which one should I learn?
3. Choose Your Language and Engine
Choose your programming language
This newsletter is mostly focused on PICO-8 (Lua Code) learning to keep things as tiny as possible as I think it is the ideal platform for learning from zero to beginner and forward.
But take into considration the language you decide to learn, because it has many implications:
After choosing your language, you are also choosing your non-commercial engine as they are linked to one coding language (Some of them can support many, but that’s rarely happening)
You can apply that learning to other context if the language is widely used like Python. Which is the most popular language
Some are easier to learn, others require a low level understanding. Python became so popular mainly because it’s easy access. Research this aspect before you choose.
Top Programming Languages used for Gamedev
Source - https://www.index.dev/blog/6-top-programming-languages-to-level-up-your-game-development
Start with non-commercial Engines
Same logic that I mentioned before about the usage of AI to create code, applies to big gamedev engines.
As soon as we start learning through engines like Godot, Unity and Unreal just to mention the main ones, we are going to decrease our Quality of learning.
Don’t take me wrong, those engines are used by thousand of experienced gamedev profiles to create commercial products, they are really good, but their perspective is efficiency and not learning.
Starting with smaller engines like phaser.io, Love2D and Pico-8 (Where you can quickly create boilerplate sprites) allow you to really focus on the problem and find the right solution for it, bigger engines have tons of solutions already built-in that prevent you from learning how things works under the hood.
Warning - Don’t take it extreme and start creating your own gamedev engine, the learning path will focused on the development of the tool and not at gamedev concepts at all.
4. Learn Math
As soon as you start learning a programming language and you go through some of the examples, you quickly realize what computers are really good at can you guess? Exactly, maths.
But specially on gamedev maths are used for most of the mechanics and systems that you could think about, at the end you have a scene with a numbers of actors (player, npcs, objects, etc) with a X number of properties (speed, health, weight, map coordinates, damage, etc)
All those values need live manipulation based on player actions, I would start with the following concepts
Vector Math. No matter if it’s 2D or 3D, vectors will be the cornerstone of your videogame and it’s really important to understand them (vectors)
Trigonometry, calculate angles, distances (Pythagorean theorem), and positions on curves
Statistics & Probability. Used in random number generation (RNG) for loot drops, critical hits, and balancing gameplay
Graphs and progression curves. Specially when you want to manage character progression, they could be also useful to understand the different types of animations (easy-in, easy-out, etc)
Linear curves
Exponential curves
Parabolic curves
If you are enjoying the reading, the basic plan of Gamedevpills is free
Receive weekly learnings of gamedev
Receive monthly workshops to prototype mechanics and systems on PICO-8
For a stronger experience, subscribe to our monthly plan:
Monthly analysis of the videogames industry (Steam)
Top 10 releases by reviews
Top 10 Trending games
Gamedev Resources - Assets, tools, tips and more
Monthly full access to assets and learning of PICO-8 workshops
5. Have a scope, create your commitment plan
This is where all the previous lessons flows into the sea, our project.
I really encourage you to have a side-project where you can actually apply all the knowledge as your vehicle to drive motivation.
Starting this difficult and overwhelming art of gamedev without any small creation that you can fuel, is the recipe of procrastination and later abandon your passion, because you don’t have a goal, a lighthouse.
Okay, I take it, you already thought on a project, of course! But then let me tell you…
You need a plan, think you could be easily working on that project for the next 6 month as your learning program, then take your time to breakdown the idea (kind of management functions) and create small workloads to be scheduled on your calendar.
If that’s the aspect where you need more guidance, I recommend you to read the article I wrote about it
I hope those essentials can help you as they are not only intended for people that didn’t started yet with Gamedev, but actually for you that like me, started having interest on gamedev few years ago.
Thank you for reading,
Happy coding!






