This is a crosspost from

Nordenfelt 0.7 Is Released

After a year of silence the development of Nordenfelt continues.

This is an excerpt from the change log:

  • added final boss
  • added level type desert
  • added equipment Omega Weapon and Auto-Aim System
  • added play analytics (player gets asked for permission)
  • (re-)added score system
  • replaced “level items” by “tech tree points” for unlocking equipment
  • primary weapon levels no longer need to get unlocked
  • player ship moves slower while shooting

I’m curious what percentage of players will allow the game to send information about their play behavior. The data is anonymous and only for reasons of game improvement. Nevertheless, people have the fear of being spied out. Therefore, enabling the analytics module is just for the brave. ūüėČ


Download the demo or get the whole game at or from Desura.
There’s nothing more to say, just a pile of tasks left to tackle for Nordenfelt 0.8.


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

Now that I’ve finished Game Project Completed, I slowly come back to Nordenfelt. The slowness comes from a lack of motivation. Unfortunately, I paused working on the game while it was in a messy state. Therefore I’m more cleaning up the whole thing than I make progress. This “house work” is boring.

However, today¬†I’ve made some feature tweaks which brought back some enthusiasm. It seems to get better.

A glimpse at the current work...
A glimpse at the current work…

But there is an even bigger enemy than “house work” which kills progress: distraction.

My main side job (sounds strange…) is giving pupils extra lessons in mathematics. Usually, this happens¬†in the evening, when school’s out. This, mixed with my natural preference to work in the afternoon and at night, creates a problem. The math lessons cut the whole day in two parts. Sometimes I have multiple appointments with some hours in between. These days are even more fragmented.

The “money earning interruptions” totally kill the progress of Nordenfelt. Having to leave the house every 2-4 hours each day ruins any workflow.

How to fix that?

Starting tomorrow, I’ll begin my workday in the morning, just like¬†average¬†Joe. It will take some time to adapt my sleep pattern to the night (sounds like dealing with a vampire or something). I can’t remember when it was the last time I got up at 8 am.¬†But it’s necessary to get back the big blocks of uninterrupted work time. Distraction just kills any project.

This will take lots of coffee…


Black Golem 2.0

After a long a time away I’m coming back to¬† It was time to update the whole site, especially because it ran on an antique Joomla version. It’s age made it easy for hackers to infested the old site with spam links. I’m curious how hackers get into systems like web servers that easy. If somebody knows some hacker training resources, please leave a note in the comments. Otherwise I’ll have to keep satisfying my curiosity with the hacking simulation Uplink. ūüôā

I have been away from for a long time now because I funneled all my time into my latest book Game Project Completed. The proofread paperbacks arrived today and they look good. So the paperback version will become available within the next 2 days.

Game Project Completed book

Aside from working on¬†Game Project Completed I’ve set up additional, game-unrelated income streams. Back in the end of 2011 I went bankrupt and had to find a day job again. I don’t want to face a depleted bank account any time soon. Therefore I’ve focused my attention on establishing multiple income streams I have full control over. Another reason why¬†did not get any attention during the last few months.

The book¬†Game Project Completed¬†is complete now and I’m coming back to develop¬†Nordenfelt¬†as my main project. During the last years of its history I had this feeling that I had to keep up with the latest shmup designs. Now¬†I’ve decided to ignore the bleeding edge of shmups to avoid the resulting feature creep. Instead I focus on established gameplay of the great shoot ’em ups from the 80s and 90s. It’s very tempting to add new features just because a similar game came up with it recently. Nordenfelt gets developed in a time-frozen environment now.

To put it in a nutshell, welcome (back) to Black Golem and its continued project Nordenfelt.

See you soon.


P.S.: If you are following this blog via a feed reader, please update the feed link to

Today website development heavily relies on three image formats: JPG, GIF and PNG. It’s easy to see why: JPG has the best compression ratio, GIF supports animation and PNG has truecolor, full transparency and a good compression ratio.

As rules of thumb I’m using these hints:

  • Opaque pictures? Use JPG.
  • Want animation? Use GIF.
  • Transparent areas in your image? PNG is the answer.

An additional decision factor is the file size. It’s still an important factor for websites, regardless of connection bandwidths. Slim sites are king. Ask “lightning-fast page delivery” Google.

When it comes to compression JPG prevails over PNG in most cases. JPG simply is a lossy format while PNG is lossless and has to keep all the information intact. Therefore most images on the Internet use the JPG format.

But JPG alone does not cut the mustard for graphically complex sites. Wherever a non-rectangular shape appears transparency comes into play. JPG does not support it so we have to bank on GIF or PNG. When pixels are either fully opaque or fully transparent you can get away with GIF. Despite GIF has compression it generally succumbs to PNG. So PNG is the best choice when it comes to transparent stuff on the Internet.

After using PNG on websites for a while you will see that its compression leaves much to be desired. The files are just too big. But how to shrink them?

The advantage JPG has over PNG is that it can drop details in favor to file size. So why don’t we use similar methods for PNGs?

Here are some tricks for reducing details in images to get smaller PNG files. I’m using Gimp for this but the procedures should be similar for Photoshop or other image manipulation tools.

Use Less Colors

The human eye can distinguish about 10 million colors. Theoretically this should be our threshold when we reduce color spaces. However, in practice it’s unimportant how many colors we can see. It’s just important to stay above the limit where graphics become ugly.

Check out the following image sequence. The first image has 8 bits per color channel, the next has 7, the next has 6, and so on:








Which is the last image with acceptable quality for you?

Surprisingly 3 to 5 bits per color are enough for our visual sensors. That’s makes up about 0.025% of the 24 bit color space.

Less bits per pixel make smaller images. So how can we reduce color depth? It’s really easy, it’s just one function in Gimp: Colors->Posterize:

gimp posterize

Just set the number of levels you want for your image. Levels are the possible steps per color channel. So 3 RGB channels with 2 levels would result in a color space cardinality of 8, 3 levels would give a total of 27 colors, 4 levels make up 64 colors, etc. Due to this exponentiality the quality improves logarithmically. Increasing a low level gives a massive improvement. Each additional level provides less improvement. On the other side (uncompressed) file size rises exponentially. So it’s the usual tradeoff between cost and quality.

I think you will be surprised how much can be done with a small amount of colors. Usually this method can half PNG file sizes without much quality loss.

Adjust Transparency Depth

Transparency can be scaled like color depth. This can be done by extracting the alpha channel, shrinking the transparency spectrum and stuffing it back into the image. For this use Gimp’s function Colors->Components->Decompose… with RGBA mode and select the alpha channel image. Now use Colors->Posterize to reduce the transparency depth:

alpha channel adjustment

The left alpha image uses 256 shades of grey. The right image shows the same channel reduced to 6 colors. At the moment it looks like a big quality loss. But check out the final result after reintegrating the alpha channel into the original image using Colors->Components->Recompose :

alpha comparison

The differences are marginal. Often it depends on the texture an image has. If it’s rather fractal like the example used here reducing alpha depth is an option. On the other hand shrinking transparency of fluent gradients is conspicuous . Human eyes have a high dynamic contrast ratio. So don’t try too hard optimizing smooth transitions.

Playing around with transparency regarding file size does not pay off as much as reducing colors. Nevertheless it can rip off a nice chunk of fat.

To Interlace or Not to Interlace

PNG’s interlacing option allows web browsers to show low-resolution version of PNGs before their download is completed. The good thing about this is that graphics pop up earlier. The drawback is that it increases file size. You have to decide what’s more important for you: faster low-res or slower high-res.

Divide and Conquer

When you are creating an image where just a small part is transparent splitting it up into multiple files can reduce download times. Check out this image:


Just the gradients on the sides have transparent pixels. Most of the image is opaque and therefore predestined for the JPG format. It could be split it up this way:

gradient split

Such split graphics are commonly used for graphics-heavy websites. It’s just important to keep the sum of file sizes below the original file size.

Compression Tools

There are many image compression tools and services available on the Internet. Have a look:

Sometimes they can shrink image files quite good. But in most cases it’s just a small percentage they can rip off. It’s not exactly brilliant but a nice final improvement step for your graphics.

Know Unimportant Information

The last advice is a general one. You have to know which details you can drop without sacrificing (too much) quality. The methods shown here are just a few available. Further methods could be color-specific reductions according to human high dark-color-contrasting or the higher sensitivity to green. Aside optimizing images themselves you can try using as few images as possible. Many web 2.0 templates use just colors, tiny images and smart tricks to create the illusion of texture and depth.

The best optimization is the one you don’t have to do.


Some games, selling for hard-earned money, surprised me when I saw them the first time. Examples are Avernum 6, Adventures of Fatman¬†or Slay. Some have acceptable graphics while others make you wonder how they can charge 20$ for their MS-Paint experiments. Aside from their graphics these games don’t provide much or any innovation in their genre. They look old and play old. So how can these games sell?

Players expect indies to come up with new ideas, mechanics or twists in their games. AAA titles have to stun with their realistic graphics, physics or exciting cutscenes. So genres from yesterday seem to have no right to live, have they?

The good news is: people are creatures of habit. They like exciting new stuff but also want a supply of familiar games. This explains why old-school genres are still in use. When we consider this why should we come up with any innovation when there are enough customers for established concepts? To explain this we have to take a look at the genre life cycle:

genre saturation curve

The birth of a genre can be a quick rise like Resident Evil brought the survival horror genre to the masses over night. Or it may veg out for many years until a famous title like Street Fighter II sets off an avalanche. It was Sega’s Heavyweight Champ which introduced the one-on-one fighting genre back in 1976. Quite a while from 1976 to 1992.

After gamers bought the first successful instance of a “new” genre in bucketfuls it gets more and more attention. Publishers and developers jump on the bandwagon and start an arms race of innovation in the genre. A few months later every gamer knows what it is all about. Limits of the genre become obvious and innovation starts to decline. After a flood of similar games players start to get bored by the genre. Sales curves drop. A few years later the gold rush is over and the genre forsaken.

Where do indies fit into this process? First there is this steep curve of innovation where more and more competitors enter the battlefield. No place for indies here. When everybody knows the genre AAA publishers/studios dominate the market. Again, not good for indies. After sucking all life out the big ones drop the genre and go over to more lucrative game types. Players won’t spend any dime after the gold rush. No chance indie, go home!

The truth is that indies can work as genre scavengers. After the big companies took the lion’s share small studios can take the rest. There will not be as much money involved as during the high times but enough to be worth the effort. The long tail of the life cycle does not drop to zero. It rather fades out over a long time:

genre long tail

So, how can we use this insight? The great thing is that you can take any gone genre and “revive” it. This is a list of dead beef I could imagine to pick up:

If you are fed up with the ongoing call for innovation and/or eye-candy graphics you may consider reviving an old genre. The wheel is already invented. You just have to spin it.


By continuing to use the site, you agree to the use of cookies. more info

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.