2010 is coming to its end. Time to recapitulate what developing Nordenfelt tough me so far.
What Went Right
The best way to know how your game will perform in the wilderness is by sending it right there. At the beginning I was afraid showing ugly test graphics and features which won’t make it into the final version. I thought people would laugh and ignore my project immediately. But that never happened. There’s the phrase “no interest in how the sausage is made”. Not true, at least for game development.
Dumping Thoughts on the Internet
Posting thoughts, feelings and lessons-learned gives your product a human touch. It shows people that you are not a cold, capitalistic corporation but a human being. They will remember your best/worst hour if you share it with them. And they will remember your game.
Learned How to Handle Feedback
Feedback is a double-edged sword. It can improve your game or push it off track. Don’t follow each advice. Most of them are well-intentioned but may not marry up with your own vision. Finally you can’t be everybody’s darling.
3rd-Party Libraries and Tools
What should I explain here? Simply save work time by using external libraries and tools as much as you can. Don’t reinvent the wheel.
That’s a common trade-off: should I hard-code this or define it in an additional file/database/whatever? The former is the fast solution at short sight but the latter becomes apparent to be the better choice in most cases. At the latest tweaking for game-play will extrude many properties in a bunch of files. So why delay it?
What Went Wrong
Lack of Exact Vision
In the shmup genre some distinct game mechanics evolved over time. There are game-play styles like danmaku, maniac or memorizer. Scroll movement can be vertical, horizontal, isometric, inside an arena, etc. From the very beginning I knew that Nordenfelt will become a vertical shooter. Reading about all the different game mechanics and scoring systems soon confused me. What I should go for? Each time I’ve settled for one game mechanic I became aware of two new ones. As long as there is no clear goal you can’t follow the shortest path to it. It’s that simple.
No Clue About Visual Style
In the early days of Nordenfelt I wanted it to have sprite art. It’s the graphics style I like the most in shmups. Some investigation into this visual style made it clear that sprite art would be the wrong choice. Modern high resolution monitors and the cumbersome nature of sprite art made it hardly applicable for me. Prerendered 3D models were the simplest solution I could imagine. This insight took nearly 2 months. In this case my lack of artistic experience wasted many hours.
Less Design Results in More Redesign
Quick and dirty hacks may solve problems immediately. In the long run they become hurdles where you have to jump over each time you alter code around it. Soon they become real show-stoppers. So you have to fix them by redesigning this part of code. The longer you wait the more work (exponentially growing) it will be.
One of my favorite interests is procedural content generation. I’ve planned using PCG heavily in Nordenfelt. So I started off by implementing algorithms for building levels, distributing enemies and concatenating these levels to an appropriate story. It was really fun… for me! But the game-play did not profit from PCG. Therefore I switched over to handcrafted levels. IMO it’s important to be able to design levels by hand first before you can write algorithms mimicking the design tasks. The human factor won’t disappear from creating game-play in the near future. But PCG can boost the boring parts a lot.
Forging Nails Yourself
When you want to do every part of the game yourself don’t be surprised if everything lasts longer than planned. Forging your own nails can be rewarding work but buying them in a hardware store saves you a lot of time.
That’s it for my very first year in my career as indie game developer. I hope you enjoyed the journey so far and keep following me here, at www.blackgolem.com, on Twitter or Facebook for another year. We will meet again in 2011.
Happy new year,