Every Noob Indie Developer MUST know...
The last article I wrote in 2016 was trendy and I am thankful to all the readers.
I think it’s time for an update and I have better and improved advice to share.
So, let’s dig in!
Precision! Yes, it's very important. There are two ways to look at it. One way to think about is, are you sticking to your development goals and not adding or making something far from what you initially sought to design?
It?'s good if the idea grows into something fantastic but you should be focused. Accept changes if you see improvement with your goal not just going with the idea of making “SOMETHING”.
Only a dead fish goes with the flow
Another way precision also means quality. When you do something with precision it has a certain uniqueness of its own.
"But I want to make 10+ games every year!" - Someone. Agreed but aren’t you going to use the same modules, code, features again and again for different code or you are going to start every project from scratch? 10+ games mean most of the work is modular and useable.
So to build high-quality products to bring precision to your development process and product.
2. Don't try to do everything on your own
Being a solo developer myself, I can tell you it’s incredibly hard to work alone and create everything but even then there is a lot of help out there.
You can buy high-quality assets (Free and paid) and other people can join you if they like your game or you can even get work done for anything from $5-$5000 dollars on freelancing platform. I myself use Fiverr. Don't try to do everything on your own.
It's best to focus on what you want to do best
3. Modular, Debuggable, Editable
Ryan Hipple’s video on game architecture with scriptable objects made me think about creating games using a completely different approach. This improved my perspective when looking at development altogether. Making things modular, debuggable, and editable.
- Making things modular means within the game you can remove and add features wherever you quickly, and it doesn't crash or slow the development process everytime you make changes.
When developing the next title, you can use the same module.
Improving the module will improve all the games/apps at the same time! No need to make changes to one title at a time. Everything uses the same model.
Announcer Module, Save Game Module, Achievements and Leaderboard Module, Shop Modules, Rating System Module, Multiplayer Module, Automatch Module, UI & UX Module.
There is nothing you can’t make a modular expect main Gameplay.
As a programmer, the most time-consumer process is in debugging the build. I have improved it, but it's still not as good. Making a game highly debuggable is the key to quickly and efficiently building a game without the need to continuously halt the development process.
The most annoying times for me are when a bug shows up! I want to move forward but now I have to try and identify where is that tiny annoying piece of code that is preventing me from moving forward.
On another level breaks my motivation of moving forward. But if you create code that is highly debuggable, you can easily find out where the error occurred whenever the error occurs, saving you time and keeping you moving forward!
Even as a solo developer, when I am working on the editor I want to stick to the editor and make iterations and changes there quickly and not have to change code one by one but have everything in the inspector at the ready of my hands.
This helps with faster development and naturally improves the design.
The goal here is to kill the unwanted development hurdles as much as you can. If you are a team of 3-4 people, you definitely don't want to ask the coder again and again for small features but rather have everything ready for you. This also leaves the designer in control of making big changes.
4. Copy with taste
This is something I learned from Jon Youshaei. Basically, all great artists copy elements from other people’s work to integrate, improve, and redo everything to develop it in a more contemporary format.
The idea of copying sounded more like ripping off someone's work at first, but after listening carefully it sounds more like improving on what works and is found to be great and using it for your own product.
The process that's explained isn't about just copying and pasting, it's more copying of taste! You should look for different games, menu ideas, modules, uniqueness, and admire and appreciate and see if you can apply something similar to your own product. It will definitely save you a lot of time just coming up with an idea from scratch and even make your game mind-blowing with ease!
"Geniuses often cluster at the same time in the same place because it's easier for them to copy off one another."
Shakespeare copied from so many persons that critiques claimed that he was not even a real person but a pen name for 4 contributing authors.
5. Reliability and Future Growth
Hmm, let me give you an example for this.
The biggest reason why I use Unity is that I see much better future growth than other game engines out there even though the graphics quality is not as great as theirs. Yes, it does involve multiplatform; I even bought many asset packs for CryEngine and thought about going for it but the community, development team, and asset store and overall didn't give me a great feeling. Looking at the company didn't show as great a future growth as for Unity.
What we are gonna use in our business forever should be high-standard, reliable and improving
This was my important insights in indie development. I would hear from you whether you agree or disagree with me. You can leave a comment or email me at directly at firstname.lastname@example.org.
Few links that might be of interest:
Check out the games I am building:
- Nuclear Reaction: Battle in a crazy-fun local or online multiplayer puzzle game. 2-8 players.
- Turny Road: Welcome to a crazy fun & ultra-fast zig-zag racer pursuit.