Game-developing can be lean as much as it can be profitable. It can be ungratifying as much as it can be rewarding and it can be stressful as much as it can be fun. In this article, we are providing some tips for becoming an Indie Game Developer:
1. Learn The Basics First
Before moving on to game-development you must know the very basics – How games made? What goes into making them? and so on… You must also be familiar with the popular paradigms such as ECS and OOP. Even if the underlying game engine allows visual scripting yet knowing how to program will only benefit you and widen your perspective and allow you to make advanced games that otherwise might not have been possible to build using visual scripting!
The rest of the learning depends on what you want to build:
- If you have interest in making physics-based games like Angry Birds, etc then you must know the very basic principles of physics like gravity, acceleration, friction, and restitution. For 3D games, the physics can be very complicated and the basic knowledge won’t suffice. So if you want to make a physics-based game in 3D then you must be super-comfortable with matrices and quaternions! Needless to say, you must also know about the various collision-detection algorithms!
- If your interest is in making clicker games (like Cookie Clicker, Clicker Heroes, etc.) or bubble games (like Candy Crush, Bubble Shooter, Pet Rescue, etc.) then you don’t need to know anything about physics! But then you should be familiar with interpolation and easing if you want to make those kind of juicy games!
- If you are want to make a board-game or strategy-game then you must know about the AI principles. For Example, you must know about Dijkstra’s shortest path algorithm to find the shortest path that a military unit can take to move from the guild to the war-zone, in your strategic war-game!
- If you want to make a simple multiplayer game like Ludo, Snake and Ladders where a limited (very limited) number of people play together online then you must be familiar with networking. You must be familiar with UDP or TCP (depending on which protocol your game-engine uses) and must know bits of server-side programming (basic PHP skills are enough). But if you want to program a massively multiplayer game then you should probably drop the idea since that would involve great amount of server-side programming and there’s, in fact, an entire field dedicated to that called game-server engineering which by the way is a very prosperous field with a lot of scope – companies like EA, Ubisoft are always looking for good game-server engineer!
Don’t run without learning how to walk! Don’t make games without learning how to make games.
It may be tempting to follow the learn as you go learning paradigm and trying to turn every tutorial into a finished product but you must also realize the consequences of doing that! Either this would slow your learning rate or worse – demotivate you and distract from what is important. Don’t fly from tutorial to tutorial – take a course and stick to it until you finish it! Draw a line between your learning phase and your first serious game, do not over-learn, learn what’s important and learn only what you will ever need to be an indie game developer!
2. Choose the Right Framework!
Many indie-game-developers choose the right framework for the wrong game! For context, you may use Unreal Engine’s Paper2D to make your 2D side-scroller game only to later realize that the process gets more and more tiredly. Or you could use Gideros and have a basic side-scroller game prototype ready in 15 minutes – the choice is yours! The number of free game-engines have increased exponentially over the past few years – each having their own advantage and disadvantage. Don’t’ let the freebie bug get you – see what’s best for you, explore your options. Also try to avoid specific game-engines as much as possible! You may purchase a visual-novel maker game engine to regret having spent money over a framework that doesn’t let you change the default UI! An interesting irony is that specific game-engines never quite work the way you may want for a specific case.
For Example, you may want capsule-collision detection but the specific game-engine only allows AABB collision-detection and what if you are in the middle of your project! If you are making a very straightforward game then maybe straightforward specific game-engines can help you achieve your vision in lesser time compared to the general game engines like Unity!
Most developers choose the right engine for the wrong game only to realize later that it was never suited for their project.
Note: The rest of the article is for those who have learned the basics of game development and are now looking for tips about game-development and also the things that they should know before releasing a game!
3. Make Games Not Game-Engines
The most common sentiment in the game development world is perhaps – “Make Engines not Games” and yet many developers fall in the common pitfall and go on to make their own game engine!! It’s okay if you don’t understand how game engines work – as long as you are making money in the process!! Game-Engines are one of the most complicated pieces of software! Modern game-engines not just have modules for physics, AI, networking, etc but are also interactive – they have a WYSIWYG scene editor, a method for visual scripting and automatic logging and debugging system among others! Game-Engines like BuildBox, RPG-Maker, etc are more geared towards artists than they are towards programmers! Because of their complex nature making a workable game-engine can usually take months and with interactivity involved it can take even years depending on how complicated the engine is and how much time you give to the project!
Never get into game-engine development if all you want to do is make games.
4. Don’t Be Perfect
Doesn’t matter if you call yourselves a perfectionist, games have always been an influx of bugs – as long as a bug doesn’t come up that often it doesn’t matter! Does that mean you should be ignorant of the bugs? No! What that means is you should not think about the bugs that the player will never notice! Game-development is not the same as web-development – a bug in the game doesn’t affect the user’s data. Unlike websites, games hardly stick that long, the ones that do stick for some time-release newer editions which tackle the bugs that were present in the previous version! So you can improve your game after it starts gaining attention but before releasing it don’t waste time getting that perfect tween or making the perfect eye (if you are an artist as well)! There is an infinite number of things you can do to make this look better or that’d look more natural or realistic but you have to pay your electricity bills this month! You can’t spend a lot of time tweaking stuff when you can utilize that time to improve the game mechanics or perhaps work in some other project!
The worst thing you can do to yourself is to be a perfectionist and waste your precious time in making the perfect walk sequence or the perfect hitbox for an actor and wasting the time that could have been well spent in advertising and marketing your game.
5. Do Not Rush to Release The Game
Do not rush to deliver your product – do not sell a unplayable game! There is no Ubisoft executive behind your back pressurizing you to meet the deadline! You are an indie game developer with a lot of time in your hands! (even if, allegedly) You are your boss! Take your time and make the next-big-thing in the game industry. Okay maybe that was a bit far-fetched but there should be a high-quality product shipping out it’s complete!
Remember there is no quick way to earn money or to be successful! Stay calm, stay focused and test the game well before releasing
6. Do You Really Need Innovation?
Most people think to earn a fortune through game-development you have to be all innovative – you must come up with something new, something completely original! These people know nothing about games or the history of games! Games pieces of art and art have always reproduced itself! Artists have always copied from other artists, there is nothing such as an original concept. Every other concept has been copied (or inspired as they say) from every other concept. The most popular iOS game – of it’s time – Flappy Bird was actually a clone of the existing LameHeli or Helicopter!! One of the most popular flash game Candy Crush was also a clone of Microsoft’s Bejeweled with redesigned graphics and animations and yet people went nuts for the game when it was released!
That doesn’t mean however that you should brainlessly copy from existing games or just make clones of other games! The last thing I’d suggest you would be to make verbatim clones of the already existing games! What I’m rather suggesting is not to stress your brain over the so-called innovation! Turn on the TV and see trash sells, as long as it’s well-marketed trash! Your game doesn’t have to be that ground-breaking (or even successful for that matter)! Just aim for a good quality product and a game that’s fun to play.
The sole purpose of a game is not to innovate or re-innovate something, but to be fun and playable. People play games to escape from their stressful environment (even if for a moment) and not to appreciate what has been innovated or what performance optimization the developer made.
7. Do not Plagiarize! Don’t Use Assets From Other Games
A game is identified not just by its name but also by its look and its assets! People can tell that This character is same as the one in the other game that I played, and if you cannot trick the audience you definitely cannot trick the censor board (the editorialists who will greenlit your game on their platforms). So do not ever use assets from other games and publish them in your game. If the company whose IP you threatened comes to know about the fact that you just used their assets on your game will not just sue you but sue you to the ground. Your studio (if you have any studio) will be taken from you and you possibly couldn’t make games for the next two years or so! There are already lots of people out there supporting piracy – don’t be one of them. Respect an artist’s work and if you want assets there are other ways to get them. You can look for free CC0 assets online or you could buy assets from the asset marketplace.
As prompting it can be to steal game assets, you must also know that a lot of effort has been put into making those assets! How would you feel if someone made tons of money from the assets that you made and were meant to be used only by you!
8. Before You Release Your Game
So you have made a game and are now only one step away from releasing it. It may be tempting to simply publish the game to Play Store but take your time – relax and think about all the other games, games that that failed to gain limelight, games that failed to get even 1000 downloads or even be successful enough to cover-up the money spent on the game or even the money spent in publishing it! Learn from the mistakes of other game-developers! Don’t just learn from the veterans, learn also from the losers (as some people may see them)! What did the losers do wrong that the winners did right? Many unsuccessful indie-game developers blame the big studios for stealing publicity while some blame their luck! But is it the big studios who have stolen opportunity from the indie-game developers or is it just plain luck? Does the actual game matter nothing? Ask yourselves these questions and when you figure out the answer do let me know as well 😉
So you have completed 90 percent of your game? Great! Now get ready to work on the other 90 percent!
- 8 Effective Tips to Increase Productivity as a Developer
- 5 Tips to Make a Career as a Linux Kernel Developer
- 6 Tips to Prepare Behavioural Interview Questions
- Common Sense tips for Mobile Security for End Users
- Some time-saving tips for Linux Users
- Optimization Tips for Python Code
- 10 Essential Python Tips And Tricks For Programmers
- Tips for restarting career after a break
- Tips on Operating System Installations
- Tips to improve college placement
- Important Tips on How To Prepare for the GRE
- Beginner Tips for Learning Python
- 10 Cybersecurity Tips For Entrepreneur
- Resume Building - Resources and Tips
- Some Useful Tips for Choosing Best VPN and Recommended VPN Services
- 7 Tips and Tricks to Learn Programming Faster
- Debugging: Tips To Get Better At It
- Tips for Making Side Projects
- Few Tips for Fast & Productive Work on a Linux Terminal
- 10 Tips to Protect Your Online Data Privacy in 2019
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.