Archive for April, 2013

Nordenfelt Dev Log 40

The last 3 weeks led me down a rather bumpy road. After completing a few minor but motivational tasks I hit a road block. It was a problem of show-stopping nature.

Deploy System

In the last dev log entry I’ve mentioned working on an auto deploy system. It’s done and follows this simple scheme:

  1. get Nordenfelt‘s  latest version from SVN repository,
  2. compile it,
  3. archive it and
  4. upload the archive to the web server

I start to like scripting common tasks like deploy, directory cleanups an the like. Even if the scripted task can be done within seconds by hand, double-clicking a script file takes a fraction of a second, is less error-prone and needs less brainpower.


I’ve contacted Desura regarding alpha funding. They were positive about it but wanted a little more media to show. So I started working on a second level type: lava.

lava experiment collage

It will take a while ’til I can craft good lava levels. This collage is just an “outtake collection”, resulting from learning how to draw lava stuff.

Making Level Generation “Dumber”

When I was experimenting and testing the new lava tiles in-game I hit the initially mentioned road block: the level generator started to crawl. The increased number of background segments combined with the exponential growth of combination possibilities killed the performance. The problem was that too many, yet necessary rules where taken into consideration for stringing together level tiles to a complete level. A few optimizations made it faster but it was the overall algorithm which had to be changed finally. The solution was an easy one, derived from thoughtless human behaviour:

I know it when I see it.

The new generator code cranks out dozens of possible levels WTTM and a final decision maker algorithm chooses the best solution. Imagine a crowd of apes assembling prefabricated houses and one smarter ape who decides which one comes closest to habitable shelter. Sounds primitive? Yes, it is. And it works. 🙂


The jump to Desura became more of a low hop. So next time I want to tell you “Nordenfelt is on Desura”. Fingers crossed.


P.S.: Get real-time updates via Twitter feed @nordenfeltgame.

Nordenfelt Dev Log 39

The release of Nordenfelt 0.6 is coming close. The equipment tech tree is still missing and there are not enough bosses yet. Nevertheless the first beta version is within sight.

This happened since the last dev log entry:

Gameplay Tweaking

I’ve spent quite some time on improving the gameplay. The biggest issue was (and still is) the difficulty of the generated levels. Several factors like bullet speed, frequency, shot patterns, enemy density and the player’s weapon strength have to be balanced properly. I’ve integrated a difficulty system which determines for different difficulty levels how fast bullets travel, how many and which enemies can enter the screen, etc.

It’s an issue under continuous treatment.

Level Segments

A few new background segments were added to the game:

grain field/rural combiner

rural/grain field combiner

Crop circles are on the way. 🙂

I also dabbled in drawing a river segment. IMO it turned out not that bad, maybe a little “naked”:

rural river segment

The water stream is not animated. The funny thing is: when you’re playing the game the down-scrolling background creates the illusion of moving water. The eye simply sees what it wants to see.

Fighting Embarrassment

Most game developers (or stuff producers in general) will know this feeling: You keep improving your product because you think it’s not good enough to get published. I had this feeling back in 2010 as I have it today. I see it as some kind of stage fright.

I’ve started two counter-measures. The first was sending the “please fund me” email to Desura. When they say “yes” the ball is rolling and I have to release on a regular basis. It’s no big deal, just getting started is the tricky, frightening part.

The second procrastination killer is an auto deploy system I’m currently working on. It’s simply a sequence of scripted steps to fetch the latest version from Subversion (yes, I’m not using GIT), compile it, pack it and upload it to the web server. When deploy is just a double click onto a script file there is no excuse to not do it.

See next time.


P.S.: Get real-time updates via Twitter feed @nordenfeltgame.