Archive for the ‘ Dev Log ’ Category

Nordenfelt 1.0 Released

Nordenfelt 1.0 got released today. There’s nothing left to be added. 🙂

Nordenfelt release banner

Check it out on the Nordenfelt website.


Nordenfelt Dev Log 43

The Nordenfelt demo got its overdue update. The last version 0.5.3 dated back to 2011. So it did no longer represent the current development state.

Level 4

Right now I’m working on a desert-themed level. It’s quite tough to make an interesting background which mainly consists of sand and rocks.

However this area will develop I won’t spend too much time struggling with it initially. Gameplay is more important than fancy backgrounds. Regardless if it doesn’t look that good I’ll switch to expanding the tech tree tomorrow.

Tech Tree

As stated above the next task is expanding the tech tree. It’s structure should influences the way how you can play the levels. E.g. some enemy types are immune to the primary weapon. So you have to unlock the right equipment to wipe them out. This is the basic idea which I’m going to refine within the next days.


It’s happening: Nordenfelt will be available on Desura on 9th of July.

The release was planned earlier but I made a mistake. I decided to add a new level boss while the latest version has been in Desura review. As soon as the initial boss draft moved across the screen I felt the urge to include it in the release. So be it. God knows why my rational brain did not intervene: “A new boss? Fella, you know this will delay everything for 3 weeks, don’t you?”.

Delay, delay, delay – it happens every once in a while.

Anyways, 9th of July is the day:

Desura Digital Distribution

The following stuff bears the blame for “being late”:

New Level Boss

The new flying warship level boss is a larger-than-screen enemy. You have to blow it up section by section:

flying warship

This boss introduced a crucial part in shmup design: scriptable bullet patterns. Patterns help players to memorize attack forms and let them come up with canned tactics how to dodge bullets.

(Not so) New Equipment

Also the Tesla gun got revived (first mentioned here):

tesla gun

This unlockable equipment is great when broad swarms of enemies enter the screen. Flashes of electrical discharge span over close neighbors. This way you can blow up whole flocks with less movement. Quite helpful when the screen gets littered with bullets.


Nordenfelt Dev Log 41

The tech tree finally gets it’s long outstanding attention, lava is OK but not great and Nordenfelt waits for Desura’s go.

Nordenfelt on Desura

At the beginning of this week I’ve uploaded Nordenfelt to Desura. Since then it’s stuck in their review queue. So the ball is in their court now. In the meantime I’ve added new equipment …

Bot Swarm

The tech tree is a core feature of Nordenfelt. Despite this intention I had to neglect it til now. So just 2 main weapon increments were available for a long time. Simply put, it was empty.

Now I’ve added the first standalone equipment: bot swarm

bot swarm in action

It’s simply a set of shooting bots accompanying the player ship.

The next equipment will be something more unique. “Unique” is a bold word because most equipment ideas already got implemented sometime in shmup history. I would need to know all shmups to be sure nothing comparable has ever be done. Nonetheless, the probability is rather low that I’ll reinvent an unknown wheel.

Basically it’s important to have a mix of novel and well-known features. Too much new stuff and people get scared off by the “experiment”. Too much well-known and the game gets tagged “old hat”. So the plan is something known, something new, something known, something new, etc.

Lava Level Continued

The lava level backgrounds don’t have satisfying quality yet. They serve their purpose and players won’t recognize their blandness as long as enemy hordes enter the screen. Nevertheless I can call them done.

lava level background

They are not as good as I want them but done and releasable. And that’s the only thing I have to know to sleep well at night.


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


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.

Nordenfelt Dev Log 38

Much happened since the last dev log entry. Level backgrounds got finished, boss AI was extended and the level generator grew up a little.

Rural Level Segments

I’ve created several seamless background segments showing rural areas. You may guess which game inspired me for this level type. 🙂

rural level segment

Most effort went into figuring out how to create the details, e.g. how to draw paths, tricks for making the segments seamless or how to create proper water. After figuring out the procedures for drawing the details it became easy to crank out new level segments.

I’m quite happy with the quality of the new background segments. Finally I’ve reached the point where I can make backgrounds of sellable quality.

Boss AI

The first boss got an AI update. Now it has two attack phases with different behaviours.

The most time-consuming task was the debugging. The turnaround times for tweak-compile-play-analyse can be quite long when you’re using C++ and (way too) complex AI code. I’ve considered using a script language for faster turnaround times but decided against it. Integration and porting of the AI would have taken longer than struggling with the C++ AI code. Maybe the next boss will get script support. Maybe.

Level Generation by Blueprint

The level generator got a new feature: level blueprints.

The old generator version took a set of enemy formations, background segments and assembled them according to a specified difficulty. The result was a random sequence of enemies battling in various climate zones within the same level. This testified the narrow “intelligence” of the generator algorithm. So I gave the generator a set of blueprints which instruct it how to assemble sequences of enemies and which background segments make a good level together.


A big flaw of Nordenfelt was the restart at death. Just one hit was enough and you had to start the level from scratch.

There were different solutions to fix this issue:

  • continues,
  • lives,
  • health bar,
  • no death at all

Finally Nordenfelt is a non-linear game and you can play the levels in any order you want. Therefore continues would have been senseless. No death at all would have killed the basic challenge: beat the level. The finalists were lives and a health bar. When you lose a life and can go on right from where you died then there is no difference to a health bar. This is why I decided for good old lives.


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