My game KnifeBoy is out on Steam and soon it will be ported to console... What a ride it has been! I would like to share some of my thought creating a Game from scratch with no previous experience and hopefully it can help other beginners out there to NOT do what I did.
Don't Start everywhere at once:
One of the biggest mistakes I did with KnifeBoy is that I started designing EVERYTHING at once - levels, enemies, the Hub World, animations - You name it.
At this point I didn't even know how to program, thinking "Ah, I will make it work later..."
Eventually I reached a point when I actually had to sit down and start programming and it turned out that a lot of the level-design I had made, didn't fit the actual gameplay - Let me give an example. All graphics is KnifeBoy is hand-drawned. I drew a pitfall, thinking "With a double Jump you should be able to make it to the other side..." but in reality, the Player were no where near reaching the other side of the Pitfall while performing a double-jump. Which meant that I had to go back to Photoshop and re-design A LOT of stuff now that I had an actual Player-Controller script.
Don't Start everywhere at once... Again!
Now that I had learned some basic programming and how to use Unity, I started building ALL levels at once and made specific scripts for specific situations - dump idea! Once all the Levels were "Done" I had to link them together somehow and this took AGES to make it all work without any game breaking bugs, errors or odd behaviors. I wanted to game to have a lot of non-repeated situations to make each level offer something new and interesting to the Player, and I'm very proud of what I managed to do, but as a first-timer, I should have kept it to the basics. Each "unique" event/situation meant that I had to create a specific script for that particular event/situation - this will come back and bite you in the butt when its time for bug-testing... Trust me!
Work on 1 scene until ALL functions are working.
I would recommend to work on one scene until all your functions are working correctly.
Once they're all working, you should start building the actual game. This is very basic knowledge for some Game Devs. but I had no idea that starting everywhere at once would have such a negative impact later on - I wish I had stuck it out and made all functions and Player-Controller work 100% Before I started building the Levels. It would have saved me 10-14 months of back-tracking - for sure!
I probably have millions of tips that Noobs should look out for, but these 3 are the biggest time consumer-mistakes I made. Had I built a solid base with a working Player.Controller, EnemyAI, GameManager and Event-Script I could have finished the game a year earlier.
At times, the Game felt like a deck of cars that would collapse every time I added/removed something from it.
Next Blog I will share some information about my next game!
I just became a Father and have had little time to work on the game, but since I'm focusing on ONE SCENE, the game is well on its way! I Look forward to share my vision for my next project soon!