Jan 09, 2022 ⚬ 21 min read
While working on my first game Space Gladiators in 2019, I decided to start sharing some gamedev related ideas every week in a newsletter.
Most of those were only read by a dozen people and the emails have been sitting on my Google Drive since then.
I still think most of those ideas are relevant. So I
went through all of them, removed and updated some and
compiled everything in today's post.
None of these are hard and fast truths, just ideas I got
and observations I made while working on my action roguelite
game. Enjoy!
If you’re making a tiny roguelite and tell them “it’s
influenced by
Dead Cells”,
they’ll start with very high expectations.
They’ll probably end up disappointed when they find out it’s not as
good as Dead Cells.
Some of them might even get offended that you’re comparing it to a
game they love.
A recent example: Back 4 Blood
being constantly compared to the
Left 4 Dead
franchise means
players were disappointed
when they found out it's not as good.
Players need to trust that they’ll have fun with your game.
Recommendations from friends or influencers are powerful
because they basically circumvent the process.
Players will instantly trust your game as much as they
trust the person recommending it.
It means you don’t necessarily have to fix every bug and issue
before showing it… or even releasing it.
I know that because I’ve been playing
Dofus
on and off these last years, a game that’s been out for more
than 15 years.
There are so many broken things in the game: music tracks
that play when they shouldn’t (and disabling them works only half the time),
memory leaks that force you to restart the game every hour
or so, missing animations, an unbalanced matchmaking system…
But it’s still a very successful game with hundreds of
thousands of players.
You could make 1% of someone else’s effort and get better
results than them.
Rising Hell
development has started more than 4 years
ago and it’s made by 5 people.
Gutwhale
was made in 1 month by 3 people.
Now compare the number of reviews they each have: 156
and 113. (at the time I’m writing this)
Gutwhale did sell less and at a lower price than Rising Hell,
though not by that much.
But there's a massive difference in the effort that was necessary
to produce the games.
It's even more blatant if you look at games like
SNKRX.
(1 person, 3 months, 3302 reviews)
One day you’ll think it’s a piece of crap and that it’ll never
be successful.
The next day you’ll think it’s the best thing ever.
What matters - if you want to actually finish games - is that
you don’t completely mentally give up on it during your off days.
If you’re a solo dev, you’re competing with games made by
dozens of people.
Even if you consider only very small teams of 2 or 3 devs,
it still means that you’ll theoretically have to spend
twice or thrice the time to make the same thing.
For example,
Scourgebringer.
Very small scope, but as far as I know it was made by 2 devs
full time during 2 years.
So you should be prepared to spend 3-4 years to develop something
of a similar quality. Even worse if you’re doing it in your free
time.
And that’s not even considering that they’re experienced devs who
already released
a game in the same genre
before.
In the beginning, you have to put in a lot of effort for very little
results.
You have to build all the back-end of your game while it’s not
even playable yet.
You post a YouTube video and you get 10 views.
But it gets easier and easier over time.
The exact same video that took you the exact same amount of effort
to craft might bring you 5x, 10x or even 100x the results as your
audience grows.
Things to consider:
Do note that I’m not saying channels centered around their host are bad.
I’m just pointing out factors that have an impact on what kind of
exposure and financial results you can expect from working with them.
If a creator posts only no commentary gameplay videos and still gets a
lot of engagement, you know those people are here for
the game.
All of this to say: don’t overlook small
channels that have a targeted audience.
A channel with a qualified audience of 6K can generate more sales
than one with 250K subscribers. (happened to me)
A game doesn’t have to be a masterpiece to make players happy.
People can look over balancing issues, ugly NPCs or stiff animations
if they enjoy the core loop of the game.
Don’t wait for perfection before sharing your work.
You’re probably not going to be the next Minecraft or Dead Cells
or Hollow Knight.
But if your goal is live off your games, you don’t need to.
Thousands of indie devs are earning a (good) living with games you’ve
never heard of.
There are a few reasons for this:
You can avoid a whole lot of issues if you keep your scope small.
For Twitter, it means putting forward the tweets that get the
most engagement.
For Steam, it means showcasing the games
that are proven to convert visitors to sales.
For YouTubers, it means playing the games that generate the most
views.
What does it mean for you?
The more successful your game is, the more successful it’ll become.
But the opposite is also true.
If your game is unknown and hasn’t proven its worth, very few people
and platforms will take the risk of showcasing it when they have
hundreds of other games that have a proven track record.
You have to know who your game is for and tailor the experience to
what they like.
For example: if you’re making a gameplay focused roguelike like
Nuclear Throne,
keep the text to a minimum.
People who play these kinds of games want action fast and will likely skip
most of the texts.
When looking at games of the same genre, you can notice they all have
features that are different on the surface but actually serve the same
purpose.
For example, in the roguelite
Slay the Spire
the cards give a sense of diversity and control over your overall strategy.
This same purpose is being filled by items in
The Binding of Isaac
or weapons in
Dead Cells.
Every roguelite punctuates their runs with mid-journey big challenges you
have to prepare for, such as Elites in Slay the Spire or bosses in
Ratropolis.
You should make sure your game hits all the same key ideas as successful
games in your genre but in your own specific ways.
If they tell you your game is great but they play it only for an hour and never get back into it, it means you still have work to do.
When you’re starting out, the biggest obstacle you’ll face is
not that people won’t like your game.
It’s that no one will know or care about it.
Always prioritize it when you have to make a decision.
I’m making a roguelite, so gameplay is my focus. Here’s an example
of how that idea influenced my decision.
When my characters use a shield, they hold it up in front of them.
So it protects them from the front. Makes sense, right?
The problem is that no one uses them because they kind of suck
compared to other items.
Having to turn the right way to protect yourself is too much of a hassle.
So I instead just made the player invulnerable from all sides.
It’s not logical and look less realistic, but it’s better gameplay-wise.
If you want your game to feel fair to the player, it has to be
technically unfair.
The games that feel good to play implement a lot of different
tactics that give leeway to the player. (see this twitter thread from Matt Thorson, creator of Celeste)
Allow them to jump out of a platform even if they’ve already started
falling from it.
Push them up a tiny bit if they tried to dash somewhere but bumped their
feet on the wall.
Make the enemy hitboxes smaller or turn them for free when they’re hitting
in the wrong direction -
like Dead Cells does.
Try to understand what the player wants to do and help them out.
If you don’t do it, your game will feel frustrating - even though it’ll
technically be fair.
Most of them don't care that much about technicalities.
Your game might have 300 items, a dozen of worlds and hours of gameplay.
But it might still be less appealing and less successful than a
15mn game with no content but perfect character control.
Most people will only play your game for a few dozen minutes
before deciding whether they like it or not anyway.
If you start out with a huge project, you’ll be stuck for years with all the poor decisions you made while you were a beginner.
The bad code systems.
The animation style that’s too demanding and slow to create.
The poorly designed game mechanics that limit your level design possibilites.
With small games, you can create things that reflect your current level of skill at all times.
And you’ll avoid 80% of issues that show up only when your project reaches a certain size.
(I definitely wish I started out with a smaller scope for my first game)
It'll deplete when you work too long on tasks that have no visible outcomes. (refactoring code, cleaning up art assets…)
It’ll fill up when you get positive feedback or see tangible progress on your game. (new enemies, new levels...)
You have to manage it correctly (just like time and money) if you want to make it to the end of your project.
The decisions you make at the beginning of a project have more impact than you think.
Say you decide your player shoud be able to attack up or down in your 2D platformer.
This alone can represent weeks of additional work and can limit how creative you can be with your level layouts.
You’ll have to make sure the player can’t cheese enemies by attacking them from below or above without them being able to defend themselves.
Your enemies will need more attacks (which also means more animation work) and more complex behavior patterns to deal with it.
Be aware of what each of your decisions entail.
Ask yourself if it’s really needed to achieve your vision before burdening yourself with more work.
You trust in your ability to finish a game because you’ve finished many other projects before.
You trust that your game is fun because people you don’t know have played it and told you they liked it.
Self-confidence is built through small wins. Each of them is further evidence that you are capable of achieving the things you’re aiming for.
When you are unknown, you have to fight to get eyes on your games.
But once you get a track record of successes, people will want to give you their attention and money.
Platforms will feature you more. Big YouTubers will try out your games.
Just a thought, but how many copies do you think The Legend of Bumbo would have sold if it was made by a random anonymous developer?
You need to understand who your target audience is and what they want, and it’s easier if you’re part of that audience yourself.
It’ll make development more enjoyable too.
What makes Nuclear Throne stand out compared to all the other twin stick shooters out there?
I can’t pinpoint one specific feature that make it good.
I believe it’s a lot of small decisions and ingredients put in the right amount in the right places.
Let’s say you’ve shown it to a few people and they all give you the same feedback.
If you show it to more people, you’ll only get more of the same response and it won’t help you at all.
Fix it before getting new eyes on your project.
You need to make sure the core loop / concept of your game is fun before going any further.
No amount of secrets, deep lore or endless customization options can fix a game not being enjoyable to interact with.
On the other hand, you could make a prototype in 2 days and have thousands of people play it even 4 years after its launch: Right Click to Necromance.
They usually just want something they already like, but with a twist.
The guys from Butterscotch Shenanigans design their games iteratively and don’t plan anything in advance.
Others do extensive market research before prototyping anything.
Anything can work, but you have to find the best approach for you.
Try to find efficient ways to incentivize the player to replay the same content over and over.
You don’t necessarily need to create thousands of different enemies and items.
In Dicey Dungeons, you replay the same levels with different characters.
They each have one unique mechanic and 2 to 3 different starting cards that change how you apprehend enemies. It’s just enough to keep it fresh.
In Slay the Spire, the game makes you replay the same levels 20 times for each character through the use of Ascensions.
Everytime, one thing becomes harder. “More elites”. “Start the run damaged.”
As the dev, you just have to tweak some numbers. But it gives your players a reason to start a new run.
A lot of people will tell you what they think you should do when they don’t have a clue themselves.
I’ve come across devs on reddit asking how they should market their game…
...and being answered to make business cards. What?
Some people think publishing a game on Steam gives you loads of free traffic and sales.
Truth is... if you don’t bring in sales from external sources Steam does practically nothing for you.
But get some traction first and Steam will make your game exponentially more successful.
Like 10x or even 100x as successful.
Because Steam only wants to promote winners a.k.a. the games that’ll bring in the most revenue.
Getting attention on your projects online is way harder than you probably think if you’ve never tried it yourself.
It’s not as simple as making YouTube videos, creating devlogs or making cool gifs on Twitter.
Thousands of people are already doing that and only a few are getting actual traction.
It takes a lot of time and effort (which you won’t spend on improving your game) to understand what works, experiment with it and translate that into sales.
You could actually be better off focusing all of your efforts into making a game with a potentially viral concept and bet on luck and timing to get players: SNKRX, Vampire Survivors, 5D Chess.
You should get other people to play your game as soon as you can.
Some things seem obvious to you but are not for other people.
Some of your ideas suck but you won’t know which ones until you watch someone else play.
Your game will improve exponentially faster with external player feedback.
So release an early demo, send it to your coworkers, make it early access. No one is going to steal your idea.
There are things in your game that need very little effort to make but can improve greatly the player’s experience.
For instance, in Grim Nights your units have silly names. It’s easy to do but it makes the game way funnier for the players.
Your players are experts at pinpointing the issues of your game, but they don’t always know the right solutions. It’s your job to find them.
For example, someone might tell you that “the game feels too repetitive, you need to add more enemies”.
This is great feedback. But you could fix this issue in many ways: making enemies work better together with new skills, restructuring how your run unfolds (in the case of a roguelite) or even adding new characters instead.
A lot of times, the solution might be to tweak things that the player isn’t even aware of.
If your game is feeling too hard and frustrating, you could give the player a few frames of invulnerability while colliding with a foe or add half a second before the enemies can attack.
You should spend most of your time working on polishing your early game content.
This is what the majority of people will see. That’s when they’ll decide whether or not they like your game.
Don’t spend 2 months working on an end game boss that only 1% of your playerbase will ever see.
Make sure instead that the basic enemies are fun to fight.
Try to understand why your biggest players find your game fun and enhance those things.
Watch them play, talk with them and ask them questions. You’ll get invaluable information.
At the same time, you can also ask people why they didn’t like it.
If it doesn’t compromise the core of your game, fixing those issues could help more people enter your playerbase.
But be aware that some of them might just not be part of your audience.
You spent more time than anyone else playing it so you can’t know whether the difficulty is right or if it’s actually too repetitive before you see someone else play it.
Don’t make big changes before getting the opinion of your players.
Don't obfuscate information from the player if it's just making it tedious for them.
Making them memorize or calculate something on their own when it could just be displayed is frustrating.
It could mean:
This does not apply if it’s part of the gameplay.
Picking out random rooms from a pool is only the first layer.
Randomizing the treasure, the enemies and their level, the presence of traps or walls, the effects of items etc. is what create infinite possibilities and unique runs.
But do it within preset boundaries to avoid creating complete chaos.
Having too much unsupervised randomness can be as bad as having too little.
If one player pinpoints an issue, it’s not always a big deal.
They have their own bias and it might not be the best thing for your game to change it.
If a lot of them pinpoint the same issue, it becomes your problem.
You have to put your emotions aside and fix it.
Everything you do in a game is meant to make the player feel something.
Which is why I think empathy is one of the most important skills to develop as a gamedev.
The most complex technology and the best looking art don’t matter if the game isn’t built with the player’s experience in mind.
You have to give rewards to the player at the right times in the right amount to keep them interested.
But give them too much and they’ll become desensitized.
Basic issues will become more and more invisible to you the longer you work on your game.
That’s why you need to constantly have new players giving you feedback.
It'll help you get momentum.
Wash the dishes, fix a simple bug and update a sprite before tackling a complex new feature.
You could even go as far as saving the easy tasks just for this.
It makes getting to work less intimidating.
If you copy things from a lot of games, people call it inspiration.
If you copy things from one game only, people call it a rip-off.
That’s why Enchanted Portals got a lot of backlash because of its Cuphead inspiration.
Unfortunately the game never got released so we'll never know how much that would have affected its success.
Some people seem turned off by it while others are happy to have more content to play.
You could spend your time trying to optimize your bank fees, working on small parts of your code that don’t matter or trying to find the best website to post your devlogs on.
Or you could spend your time actually finishing your games, getting honest feedback and learning more about game design and what is actually needed to make a game fun and successful.
If you do the latter, you’ll get exponential results over time and you won’t have to worry about the little things.
The games that succeed financially are the exception, not the rule.
Most games never get finished. And most games that do get finished don’t make any money.
We only ever hear about the successful ones and it gives us a biased perspective on the market.
Most people are not that dedicated to making a financially successful game.
If you’re:
I believe you’re actually ahead of 99% of other projects already and you’re only competing with a fraction of them.
Instead, change up your environment so you don’t have to use any willpower.
At some point during development, your game will look like it’s done.
The main systems will be in place. The graphics will look almost finalized.
That’s when you’ll think you’re 90% done - when you’re actually only halfway there.
Polishing a game takes at least as much time as making it in the first place.
When doing something every day, you don’t really notice your progress.
But compare your current work to what you were doing a year ago and you’ll see how much you’ve improved.
That became really clear to me when I redesigned a bunch of enemies I had made when first starting out.
It’s always a good thing to look at when you feel like you’re just treading water.
It’s dangerous to be entirely dependent on specific tools if you want to build a sustainable business.
I’m using the Gamemaker Studio 2 engine. Due to server issues on their side, a lot of users could not log into their account for the past 3 days.
Which means they could not access their project and could not work at all during that time.
It’s the same thing if you’re basing your whole business on one platform: YouTube, Steam, Twitter… any of those companies could decide from one day to the next to delete your stuff.
Ideally, you should structure your business so that any one platform / person / company should not be able to destroy it if they just decide to.
Should you try to make a career out of indie game development?
There’s an important distinction to make here.
Do you like the idea of being an indie dev or do you like actually doing it?
Personally, I like the idea of being an artificial intelligence (AI) researcher and professor.
I think it’s an important field for the future and I’d surely enjoy the status and prestige it gives.
When it comes to actually studying AI though, I’m bored out of my mind. So I’m not pursuing that as a career.
I don’t think indie dev is particularly prestigious. A lot of people see you as a kid playing games.
But I (mostly) enjoy doing it day to day. I’m excited to see my projects come to life and I love watching people play my games.
Basically, what I’m trying to say is: ask yourself if you’re doing it for the right reasons.
Are you excited about making games?
Or are you excited about telling people you’re a game developer?
Fun:
Boring:
I believe a big reason why people love doing gamejams is that you only have to make the fun parts of a game before moving on.
But you need to be able to do the boring work if you want to publish a commercial game.
As an indie game developer, I believe the hardest and most important skill to acquire is to finish a project even after you’ve lost interest in it.
Especially when you realize no one really cares if you complete your game or not.
You have no deadlines. No boss. No pressure. Only self-motivation.
Just by finishing a game, you’re ahead of most people who want to get into that field.
You should be proud of yourself whether or not it brings you the external success you wished for.
When making a game, the “creativity” part only represents a fraction of the project.
Getting a good idea takes a few minutes, implementing it can take days.
The difficulty of making a financially successful indie game on your own doesn’t usually come from hard technical challenges.
You’ll more likely struggle in:
It’s why being an excellent programmer doesn’t automatically translate to being an excellent indie developer.
When having to choose between multiple options (engines, ideas, languages…), always pick the simpler one.
Bringing a game to life is difficult enough that you should reduce complexity where you can.
This is one of the reasons why Rogue Legacy could be made in only 1 year and a half.
Do the hard parts of your work when you’re feeling motivated and energized.
Do the easy and exciting parts when you’re having a rough day.
Say you have no experience in game development.
You don’t have an artistic background, you don’t know how to code and you never played an instrument in your life.
If you start out by trying to create a MMORPG in a game engine you know nothing about…
You’ll almost certainly become overwhelmed by the sheer amount of information you have to learn to keep moving forward.
Every time you start a new project, pick only one or two new things to learn.
You’re making a plan on what you want to accomplish. Then you’re grinding to make it happen.
The difference is that it’s a lot easier in a game than in real life.
Because a game designer is making sure you’re getting rewarded exactly at the right times to feel like you’re progressing.
In your work, you might go through days and weeks of efforts without rewards.
But once they come (as praise, sales or simply players enjoying your game), they’re a lot more meaningful and satisfying than the former.
It’s mostly just dependent on your environment.
If you have:
Then it’s only a matter of time before you stop working on your game.
But if you:
Working on your project will be a piece of cake.
If you just set out to “make a game”, you will likely waste a lot of time contemplating all the different options and things you could do.
Instead, you could decide to make a 10 minutes long 2D platformer using GameMaker Studio 2 that’ll get published on itch.io in 2 weeks.
That would make it much easier to know what you have to do now in order to move forward.
Not all work is created equal.
You might think it looks cool to have 15 frames idle animations instead of 6 frames for your NPCs.
But the players don’t care that much and you’ll waste hours that could have been better spent.
Tracking down bugs gets more difficult. Compiling takes more time.
Overall, a lot of things become slower and more annoying to do.
Every functionality you choose to add into your game comes at the expense of something else.
Say you’re spending a week crafting beautiful menus while your players are asking you to fix game-breaking bugs or to add new enemies.
Even though your game might become 1% better because of those menus, it could have become 20% more fun in the same time frame had you worked on the latter issues instead.
Anyone could make a successful game with unlimited time, resources and feedback. But no one actually has that.
The real challenge of gamedev is knowing where to spend your energy and what you should disregard completely.
Join our newsletter to get the latest updates on our games, behind-the-scenes content, and more!