PC Games

Lasagne Monsters
Three Guys Apocalypse
Water Closet
Blob Wars : Attrition
The Legend of Edgar
TBFTSS: The Pandoran War
Three Guys
Blob Wars : Blob and Conquer
Blob Wars : Metal Blob Solid
Project: Starfighter
TANX Squadron

Android Games

Number Blocks
Match 3 Warriors


2D shoot 'em up
2D top-down shooter
2D platform game
Sprite atlas tutorial
Working with TTF fonts
2D adventure game
Widget tutorial
2D shoot 'em up sequel
2D run and gun
Medals (Achievements)
2D turn-based strategy game
2D isometric game
2D map editor
2D mission-based shoot 'em up
2D Santa game
2D split screen game
SDL 1 tutorials (outdated)

Latest Updates

SDL2 Versus game tutorial
Wed, 20th March 2024

Download keys for SDL2 tutorials on itch.io
Sat, 16th March 2024

The Legend of Edgar 1.37
Mon, 1st January 2024

SDL2 Santa game tutorial 🎅
Thu, 23rd November 2023

SDL2 Shooter 3 tutorial
Wed, 15th February 2023

All Updates »


android (3)
battle-for-the-solar-system (10)
blob-wars (10)
brexit (1)
code (6)
edgar (9)
games (43)
lasagne-monsters (1)
making-of (5)
match3 (1)
numberblocksonline (1)
orb (2)
site (1)
tanx (4)
three-guys (3)
three-guys-apocalypse (3)
tutorials (17)
water-closet (4)


The Honour of the Knights (First Edition) (The Battle for the Solar System)

When starfighter pilot Simon Dodds is enrolled in a top secret military project, he and his wingmates begin to suspect that there is a lot more to the theft of a legendary battleship and an Imperial nation's civil war than either the Confederation Stellar Navy or the government are willing to let on.

Click here to learn more and read an extract!

Pandoran War mission structure

Mon, 18th January 2016

While keeping myself busy with The Pandoran War, adding missions, features, and all kinds of other bits, it struck me that I currently have no idea how the game is actually flowing. When creating the missions, I tend to create the mission file, specify which mission is required to unlock it (the previous in the same star system or one entirely different), and then go from there. I then just play the mission separately, starting it directly from the command line. The nice thing about PW is that the player doesn't receive upgrades, etc., so nothing of the sort transfers between missions; the only persistent things in the save file are the stats and the missions that have been completed.

I've made games in the past that follow a non-linear structure: the missions in both Blob Wars : Metal Blob Solid and Blob Wars : Attrition unlock as the game moves on. However, the major difference is that in those games there were only a relatively small number of missions - about 18 or so, so it was easy to keep track of things. Already PW is up to 30 missions, and the list is growing constantly. I found myself in danger of breaking the game by not resolving the mission structure properly.

The solution was to create a visualisation of the mission structure. Yay, dependency graphs! I poked around on stackoverflow for a bit, to see what people suggested, and then knocked up some Java code to create the graphic (it actually creates HTML, with some CSS styling on lists).

It does the job, but exposes the very problem I'd wanted to avoid: it will be very easy to lose track of the flow, and will soon become quite complicated. The other issue with the v0.4 approach was that it was a little too restrictive on the order in which the missions were unlocked. The game isn't linear by any means, but I wanted it to be a little looser.

So, I overhauled the mission structure, telling missions that they were only playable once a certain number of other missions had been completed, and when the mission prior to it in the same system had been completed. The result is this (click to enlarge):

Reading from left to right, the numbers in the grey box represent the number of missions required to unlock the missions in the set, and the number of missions that could have potentially been completed up to that point, respectively. I feel this is better, and easier to understand. Not shown is that there are error messages if missions are detected to be out of order or conflicting. This will be very important as more missions are added.

So there you go. A little insight into what goes into making a non-linear, mission-based game..!

Related News

SDL2 Versus game tutorial
Wed, 20th March 2024

Download keys for SDL2 tutorials on itch.io
Sat, 16th March 2024

The Legend of Edgar 1.37
Mon, 1st January 2024

The Legend of Edgar 1.36
Sun, 1st January 2023

TBFTSS: The Pandoran War - Amiga OS4 Port
Wed, 7th September 2022

Mobile site