PC Games

Orb
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

DDDDD
Number Blocks
Match 3 Warriors

Tutorials

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
Roguelike
SDL 1 tutorials (outdated)

Latest Updates

SDL2 Rogue tutorial
Wed, 29th September 2021

SDL2 Gunner tutorial
Thu, 26th August 2021

SDL2 Shooter 2 tutorial
Tue, 13th July 2021

SDL2 Widget tutorial
Fri, 18th June 2021

SDL2 Adventure tutorial
Tue, 8th June 2021

All Updates »

Tags

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

Books


Firmware

HF-Tech's chips have changed the world. Embedded into the heads of over 90% of the world's population, they have cured autism, dementia, provided intelligence boosts, and helped to ease some of the more mundane tasks in life. Daniel Blair, hacker and Workshop member, however is not convinced that everything is as rosy as it seems. But is he looking in all the wrong places..?

Click here to learn more and read an extract!

Blob Wars : Episode I

The Making Of

Introduction

Blob Wars : Metal Blob Solid was Parallel Realities' second contribution of Linux gaming and Open Source gaming in general. It was extremely well received by gamers and, despite some horrendous bugs, issues with gameplay and the occasional show stopper, it remained much more popular than we at first imagined.

This (rather lengthy) page tells the story of Metal Blob Solid including some legacy screenshots.

At times we will refer to numbers such as v0.5 and v0.96. These indicate the version number of the game. Generally a number before 1.0 means that the game is still in development with 1.0 and over meaning the game is stable with no or very few bugs. We tend to stop adding features and gameplay enhancements after V1.0 confirming that the game is 100% feature complete and therefore "done".

In the Beginning...

The first version of Metal Blob Solid was to involve a team of two Blobs. The first Blob would be code named "Solid Blob" and the second Blob, Bob. The pair would use team work to infiltrate the enemy Blob's various bases and hideouts and carry out objectives. The player would control Solid Blob and Bob would be an NPC. Bob would be very good at pushing objects and following orders. He would be very tough but also very stupid. The game was to be a top down affair with lots of different things such as patrolling enemies, many weapons, line of sight, etc. After playing around with this idea for a while it became apparent it wouldn't really work they way we wanted to, so we gave up.

The next attempt was a platform game. We wanted large maps to play around in and so this became a obvious choice. This new game featured the beginnings of the finished game you can play now. There were POWs to be rescued, a score and also the weapons had ammo. The player was going to have the ability to carry many different weapons with him (unlike a certain green cyborg who seems incapable of holding more than two at once). There were going to be machine guns, proximity mines, grenades, ice guns, flame guns, sticky bombs, a pistol and a host of other things.

This idea worked well until the limited ammo and number of enemies began to dull the game play. Most enemies would need to be shot three times or more before they died, which was fair enough. But once they were dead, they were dead. There was also very little point in other weapons such as proximity mines and timed mines. These weapons are supposed to be tactical, so there was little point when the enemies were stupid. These weapons were removed and the overall ammo was made unlimited. Remembering The New Zealand Story the ability to change weapons was removed and replaced with a weapon pickup instead. This coupled with making the enemies weak proved to be a lot more fun.

The Foundations

Bob (as he was now known) had lives. He had 3 lives and 5 units of health. 5 units of health was not enough and having lives in games in sort of old now. After fighting the bad guys, not having much health and having to restart from checkpoints once too often due to losing lives it was decided to do away with the lives and double the health. This worked nicely, especially with the enemies dropping generous health pickups. To begin with these were health packs.

Then came some levels with enemies that would spawn in around the player. Hazards, weapons and other such things appeared as well. Initally there was an idea that the hub would be just another level with teleporters to take you to the other levels. This became a bit annoying when having to make your way around just to enter the wrong teleporter. This was scrapped in favour of a map instead.

So now we had a game where you could fight bad guys and rescue MIAs. Fun, but where was the real point? Around v0.5 the infamous Galdov made his first appearence (although his apperance was actually restricted to the information for the RPMs!!).

Formation of the Story

It was decided that the aliens had invaded the Blobs' homeworld not simply for the sake of assimilating the population and creating an army, but to get their hands on four mysterious Crystals - Fire, Time, Space and Reality. The Blobs, being a simple race, knew nothing about these Crystals and the tombs in which they were sealed. Now the game had a little more purpose to it.

Two permanent powerups were introduced at this stage - An Aqua Lung and a Jetpack. The Aqua Lung would allow the player to swim forever, without having to worry about oxygen reserves. This added to the replay value of the previous levels since some MIAs couldn't be reached without it. The player would drown if they tried to swim to them.

Paking it up

Unlike a lot of Free and Open Source games, Metal Blob Solid's data comes as a custom made pak file. There are two reasons for this. First it takes up less room on disk (yes, you can tell we started working on the Amiga where space was at a premium!) and second of all it just looks a little more professional! Oh... and it also prevents players digging around in the files and potentially spoiling parts of the game for themselves by seeing cutscenes graphics, enemies, powerups, etc.

Originally Metal Blob Solid used ZZipLib. This was extremely unpopular with players as it required the player to download additional packages. Pretty much every Linux distribution comes with the most popular SDL libraries and also zlib. After some head banging a virtual compressed file system was created that took its basis from Id Software's pak file format (not pk3 - that's a zip!). This one was better than Starfighter's since it was compressed and also had all the file data at the end of the archive.

Music and Sound Effects

Music is always a hard one since there are thousands of music tracks available, but sadly there are few of them that are 1) Of a high quality and 2) Fit the situation. The Grasslands was an easy level to find music for since it simply had that have that Rambo / Commando style theme to it. The boss music was a track found during searching for other tracks and immediately it was decided upon. It had an upbeat, serious tone to it which was perfect.

Sometimes whilst hunting for music tracks it is easiest to think of the theme of the level and then hunt for a piece of music that may be named that way. The Flooded Tunnels, for example, are levels that feature a lot of water and swimming. The music track for the Flooded Tunnels is called "Do Viking". Vikings came across the sea to raid villages close to the shore and so seems to have quite watery feel to it. This coupled with an ambient sound of water dripping made this piece of music very fitting. The music for the Caves wasn't found this way, it was simply a track called "Thug Live" that simply seemed to fit the idea of being in a cave system very well. And so it went on.

The one track that was the absolute key and the hardest to find however was the title screen music. With the game being called Metal Blob Solid the title screen music really needed to sound something like the classic mood setting music from the opening of Metal Gear Solid. After listening to dozens and dozens of music tracks we stumbled upon a track called "Helmet Shake" by a talented musician known as Jogeir Liljedahl. After hearing this track it was just a simple case of timing the fading in of the logo to conincide with music. We're sure you'll agree it has the desired effect and works very well.

Finding sound effects can be equally as tricky. Anyone who has played Project: Starfighter will probably recognise some of the sounds from here (such as a plasma bolt and the item pickup sound). As a point of interest, Starfighter contained around 10 sound effects, whereas MBS contains well over 50. Some careful searching revealed some good sound effects that could be used. Originally the screams of the blobs being killed were going to be a little higher pitched but that was never done. Part of the reason for this was the lack of a quality sound editor for Linux. This problem has been rectified now though - Galdov's cry of pain is just one of the Blob's death crys that has been slowed down. It works well though.

Bosses

Then came the bosses. We wanted to make the bosses somewhat special. The original idea was that the bosses could not be killed directly and that something else would be needed to defeat them. The BioMech Tanks would have been needed to be drowned in lava to destroy them for example. This was all well and good, but basically we ran out of original ways in which to destroy the bosses, so it was scrapped. Making the bosses act vastly different to the other enemies was always a winner (and in Starfighter there are many players who are thrown by Kethlan's circling and sudden changes of direction).

The first boss to be created was infact the Jetpack Blob. The thought of having a boss that deflected your weapons if you didn't use the correct one was a fun idea and seems to have gone down well with the players. The only tweaking that was required for this boss was to drop a better hint about how to defeat it on the information panel in the hub. This boss was always going to be were Bob first got the Jetpack and it would be needed in order to battle the creature.

The BioMech Aqua Blob was the next boss to follow and again this was were the Aqua Lung could be found. Attempting this battle without the Aqualung would be plane silly, since Bob would drown very quickly. This boss cheats a bit - It can use the laser cannon underwater. Usually the game forbids most entities from firing underwater if they try to use anything but a pistol (another exception is the gun enplacements). However for the sake of this battle the boss is allowed to use that weapon. It just makes the whole thing more exciting.

Of the three bosses (except Galdov) the BioMech Tanks were the last two to be added. The pair are a pretty standard boss at the end of the day, except for the swapping and the green tank's instant kill beam weapon. That's not to say the bosses are worthless, these two provide a welcome break from the platform hopping the game had been so far.

"If there is one thing to admire about your race, it is that you are persistent..."

The game was going well. The ability to return to the levels to rescue all the other MIAs and complete other objectives helped to make the game longer (Starfighter could be completed in around 45 minutes. In total BW:MBS takes more than 7 hours!). However there was one completely unforseen problem - The only data that was stored in the save file were the MIAs rescued and the objectives completed. It said nothing about doors already opened, items picked up, etc. Forcing the player to defeat 200 enemies again even though they had defeated 158 the first time in the level was obviously not going to be popular. Likewise, having to hunt for all 10 diamonds again even though 7 had been found would also make many simply give up.

"Where do I find the Aqua Lung and Jetpack??!!1"

This was probably the most annoying question ever.

Due to the design of the game, it was clear that some MIAs, items and objectives would could not be completed on the first trip to the level. So, what do to? This gave scope for two items that could be aquired over the course of the game. The first item was the Aqua Lung. This item would allow Bob to swim forever (since usually his oxygen is limited). Knowing this, some MIAs, items and parts of the game could be placed in areas where they would be inaccessable without a longer air supply. This enhanced the gameplay and level replayability. To give the Aqua Lung some more purpose, it was placed on one of the boss levels were Bob had to battle a mutant AquaBlob. Obviously this battle being underwater, Bob would need such an item.

The second item was a Jetpack. Again, like the Aqua Lung, the jetpack would allow Bob to fly to new areas and complete previous objectives. Again it was introduced during a boss battle.

At times we regretted mentioning these items in the manual since it led to a flood of questions from players who wanted to know where to find them. In one case a player wrote in to say he had played the first level but had not found either of the items. He also pointed out that there was a bug in the game since he had not rescued all the MIAs on the level either.

Unfortunately the emails continued and eventually the question was added to the FAQ on the website. This was a real, real shame as it now spoiled the experience for the more patient players. After about two weeks the emails stopped and the question was removed. Then they start again. We took to simply ignoring these emails. Rude? Yes, but you can probably now understand why.

A Somewhat Violent Platform Game

Blood and Gore - On / Off. Good option, shame it was never properly implemented until v0.96! We received a few emails from people who, whilst liking the game, found it quite violent and didn't really think it was appropriate for their children. Getting rid of the blood is easy enough, but how to do away with the overall violence is another thing. Unfortunately any game that involves shooting things to kill them is considered violent. Turning that into a comic effect will help to alleviate this issue.

The first thing that was done was to stop the Blobs from screaming when they were killed. A humanlike scream of pain when being shot even without the blood is not pleasant. But now all that would happen is that the Blobs would tumble and then vanish. This looked a little boring. There was the choice of putting a score in place, but this became a little too distracting. Instead we opted to make the Blobs pop. There was a sound effect of a balloon bursting, but this only helped to make the game still somehow seem violent. In the end the pop sound from the end of mission screen was used and the Blobs were told to explode in a shower of particles according to their skin color. This was a lot more tolerable and was quite funny.

Breakages

Around v0.9 the game suddenly became incompatible with previous saves. And then, in v0.91 and v0.92, this was to allow the game to cache just about everything on all the levels visited. When returning to the level the player would be in the same spot they had been when they left and with the items they had been carrying. Furthermore, all enemies, item, doors, switches, etc would be in the same state. Once the teething problems had been worked out, this worked a treat.

Around late October it became clear that aside from some minor bugs and the need to spruce up the graphics somewhat, the game was done. The releases trickled out with the aim of reaching V1.0 in December and the final few releases of the game had all sorts of debugging switched on to help eliminate some errors on other platforms. Once this was done a fork was stuck it in, with any future release containing simply any bug fixes that had slipped through.

Closing Thoughts

Overall the game worked out better than first thought and things like the bosses and cutscenes really helped to bring it along. It was fun to make and it is great to be able to bring people such a game. If you're not familiar with the Open Source then you're probably wondering why spend such time and effort on a game to simply then just give it away. The answer is simple - We gain by becoming better programmers and better problem solvers. When you work in computers this is a very Good Thing(TM). And secondly the players gain by getting a game for Free (as in beer).

Everyone Wins.

Statistics

Total development time    : Approx. 18 months
Lines of code             : > 25,500
Number of source files    : 155
Size of source code       : 578K
Number of music tracks    : 15
Number of sound effects   : 62
Number of images          : > 450
Size of compressed data   : 7.5MBs
Size of uncompressed data : 16.5MBs
Estimated gameplay time   : More than 8 hours

Mobile site