I did read that before, take me to lessons!
Some indie developers have all the luck.
Minecraft by Notch, Stardew Valley by ConcernedApe, and many more.
Not only they made successful products containing months of entertaining gameplay minimum, completely alone. They also earned ton of money. And their names got worldwide recognition.
Certainly much more than you will ever get.
And it sucks, right?
Because their productions are good, but far from great.
Minecraft is block-building simulator with low-effort graphic that lacks any RPG and survival elements. Stardew Valley is simple 2D mini-title that could be made just with “Game Maker”.
And you know what’s worst?
They didn’t advertise. They made simple graphic because they couldn’t better. And they ignored every significant factor.
And still became insanely successful.
How could such simplicity, made by single person, not advertised at all, and lacking visually, steal players from top productions like World of Warcraft and League of Legends that were made by giants? What are they doing differently? Why are they that effective?
Answer can’t be stuffed in few lines, however…
They never stopped. They continued the development at inhuman pace until products took off.
And it paid off more than they imagined.
Most Likely, You Will NOT Finish Your Game
I don’t say this because I don’t like you.
I say this because that’s the reality.
Most of us won’t develop their products to the point where people consider it worth playing.
It’s true for over 99% of cases.
Wait what? You know nothing about me.
I don’t. And many successful productions were created by just one person.
But that word many relatively to all the people who tried, means…
Less than 0.01%.
Of all the people who tried to make a game on their own, less than 0.01% finished it and acquired players.
I know it does.
You should strive for greatness despite low global success rate. Maybe you are concealed genius? You won’t know unless you try.
Why does everyone fail to release game, let alone acquire players?
They Are Weak
I don’t mean that you should hit gym. Although getting rid of that scrawny teenager posture wouldn’t hurt either.
The thing is.
People are weak.
Not physically, they have weak will.
Everyone wants results, but no one wants to put the work in.
And the small % that will, most likely is going to give up after 3 months without seeing benefits.
It’s understandable. People are impatient and focus their efforts on things that yield profit of any form.
That’s why I won’t tell you to neglect everything, collect food required for next 6 months, lock yourself in dark room and work on idea till your fingers dry from overheated laptop and head numbs from information.
Because to most of us, it won’t pay off.
But to create a successful product, means put a lot of work in, even despite not seeing fruits of your labor in long time.
To stick through the endless production phase.
Only then you will become recognized, and profit on your work.
That’s why if you don’t have strong will, you should give up.
They Have Busy Lifestyle
Do you know what’s the most daunting trait of this hobby?
Even if you love it.
It takes a lot of time to produce results.
Life is finite. Just like bad video games, people die as well (even if they weren’t necessarily bad). You don’t want to regret not experiencing enough whatever activity. More over, you have responsibilities. And you can’t finish in two days.
Well you can, but then no one will play it.
Joseph Hall: Perfection is the child of time.
This is not like…
A job where you get paid every month for being 8 hours at workplace.
This is more like…
Being a slave to your own dreams and working your ass off for months or years to come without getting paid.
Can you afford the time needed to make a quality product?
If the answer is no…
Then you shouldn’t continue.
Their Empty Wallets Interfere
This hobby costs too much.
Not only it takes insane time amount, but huge expenses as well:
- Tools and complex features you can’t code.
- Models and textures.
- Sounds and songs.
- Servers and website.
- Social media and advertising.
- Steam price and fee.
What’s worse, if you hire 3D artist that’ll disappear after a while, you’ll have to find new one.
And you won’t have consistent style.
This also applies to downloading free assets.
As an independent developer you don’t know if your creation will take off and become popular. You don’t know if it will generate income. And you don’t want to spend money unless you must.
That’s why you should do majority of work on your own. But even then, you have more problems to come.
You need to pay rent, bills, and buy food.
Therefore, if you don’t have a job, you will not make it through the production phase.
On the other side of the coin, if you have a job, you go back home tired, and have very limited amount of time.
Continue only if you can afford to at least support yourself during the production phase.
Becoming An Exception And Releasing Your Game
Lack of commitment, time, and money made success of indie developer outrageously rare.
That, and competition.
It kind of makes sense. Bigger companies have even over 100 skilled & educated employees working on their product in same time.
Therefore they can do 100 times more work than you in same time. Or more, considering that they are pro and you’re just starting.
That takes us to the next section focused on taking huge shortcut…
Shortcut that will save our time and money, and make us work less while getting more done.
And achieving even higher quality.
How I Got 50% Of Work Done Without Money & Effort
All the problems I mentioned are absolutely real issue among indie devs but there’s one way to get stupidly huge boost for free and without doing any additional work.
In fact, it will make us work much less, save our money, and time, even up to 50%.
It will let us achieve same things in shorter time while also getting results with higher quality than if we didn’t make use of it.
The solution to all above issues is…
Using a tool that will do the hard work for you, and that tool is called game engine.
What are the major engine benefits?
I strongly recommend you using an engine, even as a die-hard fan of developing things from scratch.
Easier To Scale
It’s simpler to implement new features using engine.
Growing your project without one is tedious process. Simple things without it will take a lot of time. Your discipline and confidence will take a hit whenever you add new features to your creation.
There’s no reason to reinvent the wheel and create your own semi-engine if the main plan is to create a successful game.
Chances are, you will spend some weeks this way, then abandon all work and use engine anyway.
Literal Life Saver
You decided to add physics.
And you did it just fine. However, it took you few days. It caused a lot of headaches. That time could be spent doing something else, something productive.
But how we will then make use of physics if we don’t code it?
Engines have physics components built-in.
You could achieve even better effect by just adding a component that they made for you. And it would take you few clicks. So you could spend next days on something else.
Isn’t that awesome?
Before engines became mainstream, you would search GPU framework to draw simple 3D cube. Or you would have to code your own…
You would struggle a lot. You would waste time. In the end you would just buy ready solution from someone, and then you would face another problem.
Without engine, even importing a 3D model to our project would take lot of effort.
For comparison, you just have to drag it with mouse to achieve this effect in engine.
And this is how much easier they make the process.
Engines already have all basic tools built-in. Map designer, 3D shapes, physics, water, character movement, networking are just some of the most common things you would have to spend months working on, or half your salary.
These could be spent in better way.
Choosing Best Option So We Can Get Even More Bang For Free
Every producer steals.
Singers borrow words and topics for their albums from other musicians whether it’s conscious or not.
Every successful person checks competition and thinks:
Damn, this is so hot, maybe I should add it to my product.
And it’s completely alright. As long as you don’t make literal duplicate.
Search. Borrow. Steal.
As long as you don’t commit real theft crime and just derive inspiration instead – it’s all fine.
That takes us to next section.
Lets check what tools are the professionals using.
What Is Used In Professional World
Most popular engines and frameworks which produce titles that actually sell:
- Unity – multi-platform 2D and 3D engine. Devs use C#.
- Unreal Engine – heavy open source 3D multi-platform engine. Devs use blueprints and C++.
- GameMaker – simple 2D engine for beginners.
- Godot – MIT license open source 2D and 3D engine.
- AppGameKit – engine for beginners targeting mobile.
- CryEngine – console and VR focused 3D engine.
- Amazon Lumberyard – easy Amazon engine.
- RPG Maker – simple 2D RPG engine.
- LibGDX – most popular Java framework.
There are many, and they all do the job well.
However, few of them are of outstanding quality and provide more value.
Narrowing To The Best Of The Best
You may feel confused.
And that’s okay.
There’s a lot of engines, programming languages, and target platforms that you could choose.
Years ago, I was like you.
I was deceived by meaningless slogans like “compile once, run anywhere”.
Or “3 billion devices run Java”.
I didn’t know which factors are critical. I switched frameworks and languages over and over.
Which resulted in wasting a lot of time.
Time, that could be used to produce something great.
Luckily for you, I’ve checked most of them, done the needed brainstorming, and realized what’s important.
The truth is, you want to go strong and pick the best option available.
Don’t limit yourself with language that is not efficient in making games. Don’t chose only one platform, that has small user-base. Don’t pick framework over engine.
That’s why the only reasonable choices left are Unreal Engine 4 and Unity (previously called Unity3D).
Reasons to use them:
- Best quality and performance.
- Free except royalties (small fee after you start making sales – not before).
- Target major platforms.
- Support 2D and 3D.
- Suitable for all genres.
- Biggest userbase.
- A lot of solutions in internet.
The other interesting choices from the list are BabylonJS and Godot.
If you for some reason have a huge need to target browsers, then you should add Babylon to your list of top choices.
You can also export to browser using Unity and Unreal.
In fact, there are many Unity browser titles on the web right now and they’re not laggy at all.
Godot is 100% open source and 100% free 3D engine that supports C#, C++ and more.
I wouldn’t recommend it to beginner, though. It’s not popular at all and there’s not much sample code a beginner can find whenever his own code doesn’t work. Not only that but its relatively new and has small team of developers, and its less developed than other engines.
The Battle-Tested Final Choice
We are left with two engines of insanely high quality.
You may already prefer one over the other if you heard about them before.
The engine I consider reasonably better is Unity.
Because major factors, such as performance are on par with Unreal Engine 4.
However, there are more reasons to use Unity, and these are not minor things.
Why Unity is better than Unreal:
- C# destroys C++. Not only it’s easier, it’s also newer, better thought, higher level and used more often (it’s common practice to make websites and many other things with it).
- It’s more popular. This one is huge. We choose things already recommended by others. Unity, since years, has been most popular engine (about 16 times more than Unreal). With popularity, more benefits arise.
- Your skills are on demand. Even if you failed to make money on your project, there’s a huge chance you will find Unity job (about 20 times more offers than Unreal), as it’s most popular engine.
- Huge community. The last thing you want is dead end situation. You encounter problem. You ask on internet. You never get a reply. That doesn’t happen with Unity.
- Solutions and sample code everywhere. Huge community made it simple to implement features. Anything you will ever need can be found in internet.
- It creates faster. Due to the nature of modern gamedev, amount of sample code online, and huge documentation, a lot of your coding will be in form of copying and adjusting. That’s not possible in case of Unreal Engine 4, because everyone works in blueprints – you can’t copy them from web page. And blueprints take ages to replicate from screenshots and videos.
How To Attract The Player And Hook Him For Long
Most indie devs have no clue what’s going on and that’s why they fail.
They fail so much that they give up in the end.
You can make your creation quickly. Maybe it will even be playable. But that’s not enough. Your invention needs to be addicting. Great projects steal people attention all the time.
When they go to sleep. When they wake up. And when they are in school or job.
They think about your game.
At least they should.
You won’t see many unsuccessful games that are trully interesting, well made, and addicting.
Gaming addiction is a real issue (and a blessing to gamedev companies), a lot of people constantly think about how they will sit in front of monitor, go kill minotaurs and hunt players after school bell rings or shift is over.
They should be learning math or serving customers, but their minds are busy thinking about playing their favorite title.
I bet that’s what currently happening to at least 25% of Fortnite player-base.
And this is the place where you want your project to be.
More Things To Consider Before You Start
That’s why I decided to write this long post as first, before actual game design tutorial.
You need to be aware of how significant is going through development process with player and gameplay in mind.
Because if you won’t think about it, then your project will be another boring, soulless, forgotten production that people want to quit as soon as they launch it.
And that’s why picking genre will significantly impact the outcome, either positively.
What genre will attract the player?
Most popular genres as of last years include:
- RPG – Role Playing Game.
- MMORPG – Massively Multiplayer Online Role Playing Game.
- MOBA – Multiplayer Online Battle Arena.
- BR – Battle Royale.
Saying briefly, all these genres have one or few major features that keep the players hooked.
In MOBA and BR it’s skill and competition. Whenever you kill someone, you get their items, level up or other reward. Not only that, but you hear “Stephanie killed EdgyLord666!” or “Penta Kill!”, and everyone knows you’re a badass.
In RPG and MMORPG you feel rewarded whenever you:
- Level up character or skill.
- Find not-yet-cleared grinding spot.
- Finish hard quest.
- Obtain over-powered item.
- Kill powerful monster or boss and take his loot.
- Kill someone in PvP or successively run to safe zone from higher level PK.
Our brain actually can make us feel better when we level up than when we pass exams with best grade among our peers.
Best video game creations work like dangerous drugs, especially to young players, who are new to these patterns.
Thats why such humongous part of Fortnite playerbase are 10 year old kids.
For older players, Fortnite is nothing new, it’s essentialy just another shooter deathmatch with small teams and parachutes in it.
For younger people, it’s probably first time they’re exposed to such addicting game.
And thats one of the reasons why Fortnite is so successful.
Finalizing Our Plan With Smart Genre Pick
Maybe you want to create MMORPG or MOBA instead.
And that’s okay.
I love to play MMORPGs, and encourage other developers to create them.
However, RPGs are much easier to create. And they are almost equally interesting. We can insert literally everything in it and it will seem like perfectly fitting addition.
So they are perfect choice for your first project.
For MMORPGs, you will need huge player-base from day one (no one will play multi-player game alone), money for servers, and much more time.
And I encourage you to try.
You should learn to walk before you run.
You may think that MMOs steal all the players.
That’s true, but not always. Minecraft was single-player at first. You just need strong idea.
If you copy existing patterns – your project will never become popular.
That’s why you won’t only pick very addicting genre.
That fundamentally could only interest players completely new to the genre.
You will also implement unique ideas that will absolutely convince and hook players for long.
Your distinctive game traits will fit perfectly with RPG genre.
That’s why this huge tutorial will guide you through creating your first RPG.
The Closing Note
Think strongly what addicting and entertaining key features your project should have. Transfer your ideas to code. Play it and see if its enjoyable.
And you will completely kill it!
If you want to have players and potential income or recognition, you need sick ideas.
That’s why if you previously spent years on gaming, you could derive inspiration and ideas from creations you played.
But this time it will be different. Roles will be reserved.
You will be the one trying to bribe players.
So now you know why we choose Unity and RPG. Chances are, these were already your preferences when you visited this article. However I needed to explain this so you don’t consider switching genres or engines for some minor reason after you spent months working.
Next parts of guide are below.
And they contain everything you need to know to not be like this dude.
List Of Chapters
This guide is written in a way that makes it simple to follow even for not tech-savvy people.
It’s detailed at first but with each lesson it gets less repetetive and less obvious.
It goes through the development phase from downloading the tools to implementing major features, then adding details that will finalize our work.
Despite following the guide, you still need to put your own invention and a lot of work.
I am only explaining the basics and introducing you to game development world. The actual design of a product that sells requires ton of creativity, planning, and work.
And I am here to help you, but consider this project as a prototype of your game, not its final version.
This way after you learn and create a working prototype, you will be able to transfer everything to your final project, or perhaps, rewrite it even better!
Keep that in mind, work hard and smart, and you will reach your aim.
I changed my mind, I want to read the introduction too!