Archive for December, 2010

goto 2011;

2010 is coming to its end. Time to recapitulate what developing Nordenfelt tough me so far.

What Went Right

Early Showcases

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.

Data-Driven Content

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.

Back-End Features

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.

goto 2011;

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, on Twitter or Facebook for another year. We will meet again in 2011.

Happy new year,

Some quiet days will follow, even at the coding front of Nordenfelt. I’ll be back in a few days.

Christmas Postcard

A merry Christmas for you and your beloved ones.


Drop Shadows 0.1

Currently I’m adding drop shadows to flying objects. What I like the most here is its scalability, as I’ve written about here. Shadows can be everything from simple black circles to realistically casted, semi-transparent drop shadows. To get started I’ve implemented the former:

Screenshot of Nordenfelt 0.3.1 showing the new drop shadows

Further versions could be blurred circles with different radii, depending on their casters sizes. The best quality would be shadows exactly derived from the objects, blurred and displaced depending on flight height and shape-changing according to their casters states. I want to keep it as simple as possible yet matching the overall graphics style. The effort ramps up quickly.