Friday, June 17, 2016

Why this action game dev made a visual novel

I just add these pictures for prettyness
I got into gaming because of Sonic the Hedgehog for the Sega Megadrive and Gamegear, I love myself a fast-paced arcade racing game, with Trackmania, Extreme G and WipEout as some of my favourites and even in modern gaming I can have my adrenaline fix whilst racing in a GTA-like game or any faux retro arcade game. Imagine my surprise when I was staring at my own design for a scripting engine and thinking: "You know what? I should make a visual novel!"

What brought me to this wild conclusion? Let's back up a little. Even though I finished a computer sciences degree at university, I make my games in Unity. I could make my own game engine, but why re-do something that has been done better by others before? With Unity as an engine base, I can make even more awesome games than if I had to build the graphics part myself. Unity is very suitable for 3D action games and that's why it is my engine of choice. With standard assets and scripts you can build a prototype within the hour.

But, as with any existing engine, Unity can not be tailoring to every possible kind of game you might want to make with it. What I was missing was a decent way of scripting. Sure, Unity has a great object-oriented scripting system, which is great when you want to handle many pieces in a game environment, but a story script does not work that way. Many things working at a time makes a story confusing. What you want is something more monolithic, guiding the program and player in a certain direction. What you want is something called a structural scripting language, something like BASIC.

More pretty pictures!
"Whaaaat?! Surely you jest, claiming BASIC is better than C-sharp!" You might be right in most cases, but story-wise it's a different matter. Object oriented scripts have other problems when it comes to writing stories. First, if you slip up in its syntax, your script won't compile. This is devastating for your flow of writing! A structural language, on the other hand, has more room for errors, which benefits the writing of the story. Second, if you want to make your story even slightly non-linear, you want to jump around between lines. Sure, there is a 'goto' command in Unity, but suffice to say you'll go to coder-hell if you use the C command we shall not speak of.

Fortunately, Unity has an asset store that can get you any kind of asset, script or functionality you desire. Unfortunately, none of them felt right. There's a lua framework, that mostly focuses on moddability of games and there are several visual novel toolkits that do little else. However, none give me any tools to script events in a game field, which, as an action-fan, kind of saddens me. The final level on the spaceship in Sonic 2 would be less impressive if you just teleported there, the scenes in Tomb Raider with Miss Natla made the spelunking feel extra mysterious and anyone who played Final Fantasy 6 (or 3, maybe not an action title) will remember how awesome it was to see that asshole Kefka be blown apart bit by bit in the end. Also, yes, I am excluding over-scripted games, so I can make my point.

So, with all the existing systems being unsatisfactory, I set out to make my own scripting system. These were the requirements I had for the system:
  • Portability to every platform Unity provides, so everything had to be built from scratch
  • Modularity, it should be easy to expand and easy to use for multiple purposes
  • Easy localization for text and speech
  • Communication with the playing field, start animations etc. at given times in the script
  • GUI handling, let the new script handle menus, because Unity's GUI handling is so atrocious, it needs a complete post of its own.

I call it: the Story Engine.

What could all these pretty pictures be for?
If you've done it once, building a scripting system is pretty easy, provided you consistently keep using modules and functions the way they are supposed to. To put it in proper English: I blatantly copied the insides of a computer: I made a C script to store values (memory), a C script to execute commands (processor), a C script to handle the GUI (monitor, mouse and keyboard), a C script to hold and interpret my custom scripts (HDD?) and connected them withing unity like you would with a real PC. Add to this that the scripting language I botched together was based on assembly and it's a surprise IBM did not come knocking on my door. Luckily, this design is older than computers have been around, so I was in the clear.

The scripting language was the main focus for the system. A script for the system consists of a CSV or "Comma Separated Value" file. For easy parsing, I interchanged the commas with whatever this vertical line character is called: "|". That way I did not have to worry about quotes and commas in text. Another benefit of CSV files is that you can edit them in Excel or any other alternative.

Basic design of the system


The first row in the CSV file tells the interpreter what every cell in every column does.The top line of a typical script would be:

label cmd arg0 arg1 arg2 arg3 txt_en txt_es txt_fr spk_en

Every row in the Excel sheet holds 1 command. I won't go into too much detail, but these are the basics:
  • There are several possible commands possible for the cmd column. All commands are eventually handled by the 'processor' module.
  • Arguments for those commands can be put in the arg0-arg3 columns, if you want to use a command with more than 4 arguments, just add a column in Excel
  • The label column depicts labels for the goto and gosub commands to jump to.
  • The txt_xx column sets the text for any GUI element, like buttons, story-text or subtitles. A locale command can switch the txt column used for text with the language code used for xx.
  • spk_xx, for when spoken text is needed, holds the name of a sound file. Also switchable with the locale command. In this case, the budget only allowed 1 spoken language :(.

A little girl with explosives.
It only took me 2 days to design, implement the bare basics and have the first prototype running. However, a prototype is barely the beginning. If I wanted to use it, I needed to test it with something bigger and that's where the idea for a visual novel sneaked into my mind.

I have not been kind to the dating sim, the sibling of the visual novel, comparing it to a screwdriver to my eye, but I have always had a certain respect for the visual novel format in a story-telling kind of way. Text based stories easily break the "show, don't tell" rule, while on the other hand visual stories need to have everything shown, even dull conversations, or it breaks immersion. A visual novel can show a lot without description, while still leaving room for the imagination of the reader.

Also, a visual novel is perfect to test your scripting system with. Even though I did not know much about visual novels, I was happy to dive into that world and I met a lot of nice people along the way. If those people are reading this: you know who you are, you're awesome!

So, I made the first prototype of a Chapter in 1 day (12 hours in 1 day, so technically one and a half work day), a proof of concept demo with actual artists in a month (released as a demo much later) and today, as of writing, we release the full product. Introducing:

The logo of Detective Hank and the Golden Sneeze


Detective Hank and the Golden Sneeze is an interactive whodunnit visual novel with a different culprit on each playthrough. It uses almost all capabilities of my scripting system. Localization and voice acting are pending. As for now, I will keep on polishing the engine, as after release a lot of people are bound to bump into fringe-bugs.

It's getting crowded in here.
The fun part is: everything can be added in a matter of seconds (if you don't count actually making the extra content) and the code I wrote for this system can also be used for other purposes. Every module is interchangeable due to use of inheritance in C-sharp and can be linked to different parts of a game field. In other words: the code that moves the pictures on screen can later be expanded to move 3D models through a field or do all kinds of things.

Building this visual novel was a fantastic test for my scripting system. I found out a lot of parts did not work as I intended them to and, because the system did not need much expansion, the bugs were easy to isolate and fix. As I wanted more functionality for the novel, I got to experiment with inheritance and see if expansion of the base-code worked. And it did!

For the sake of just making a visual novel why didn't I just go with Ren.py or TyranoBuilder? I could have, but the pieces of code I hold now are so modular, I might just use them for every game I am going to make for the next couple of years. It was fun to build a visual novel to test both my engine coding and story writing skills and it definitely made me a better game developer. That's why this action-loving dev made a visual novel... and it might not be his last.

As of writing, Detective Hank and the Golden Sneeze is still awaiting the Steam Greenlight process, but it is already available on itch.io over here. If you want to try it out first, we have a demo available here.

Tuesday, March 1, 2016

Gley Lancer, the coolest game with the weirdest name

When I first came across Gley Lancer I played it on an emulator and how could I otherwise? It was released exclusively in Japan until it got released on the Wii in 2008. Now, this isn't going to be one of my "Oh, what a shame" posts, because its developer is still in business and still making money off of this game. This post is going to be an "Why haven't you played this already?" posts.

Gley Lancer might just look like any ordinary side-scrolling shooter and, in a way, it is. You move left to right and shoot bad guys until you get to the boss and shoot him to pieces. Yet, slowly, but surely, its awesomeness starts creeping onto you. Let me take you on the trip I had when I started playing this back in 1999.

Memory lane
When I first booted up Gley Lancer I was taken aback by the large intro. This intro was really, really long, but also very relatable: girl's father gets kidnapped, girl is sad, girl steals space ship to rescue father, you know, the usual. I didn't speak Japanese at the time and since I learned to, I haven't taken the time to translate the story, but I recon that's what the pictures meant. And then there was the first level.
First level and you get stuff thrown at you.

Gley Lancer features spoken text and its first line is "Stick to it and believe in your power." That first line sets the tone for the rest of the game. I played this in 1999 and spoken language was so common that its presence did not impress me. Yet, I was blown away by Gley Lancer's first level. The brilliance of Gley Lancer is not in its technical abilities, but its usage of its aesthetics.  The designers of Gley Lancer knew that the human mind can not block the brilliance of certain sights and that's why the first level has you flying through the ring of Saturn.

At first it looks like you are flying through an asteroid field, but then Saturn comes in from the right. It's a very simple level to learn you the basics of the game. Enemies come in gently, becoming more and more during the level and around the middle, you get asteroids thrown at you. Saturn fades away to the left and you arrive at the boss, which appears to be literally throwing the asteroids you encountered mid-level. It's a nice pay-off for a gentle beginning. The game is full off satisfying build-ups and pay-offs and the first level is just the beginning of a fantastic adventure.

LIGHTSABERS!!!
LIGHTSABERS! (insert SPACESHIP! reference)
While Gley Lancer has great pacing, it's not even its best feature. No, the best feature is that your plane can have FRIGGIN' LIGHT SABERS! Sure, the lasers, spread bombs and even flame throwers are awesome, but come on man! LIGHT SABERS! Nothing I can say can add enough to that. Gley Lancer has different ways of gun movement, one of which is a constant roll around your plane. In my first play-through I combined the roll with the light sabers and EVERYTHING EXPLODED! I was 13/14 at the time, it was the coolest thing I saw in games at the time and since then I've seen very few things surpass that.

And its awesomeness doesn't stop there. The game does its best to make you feel like a true hero. In the second to last level you have to save a ship from an alien attack. The boss of that level is shooting at a starship and you have to kill the boss before the ship is demolished. I have never seen the ship explode, but it can lose a lot of parts. It has 2 engines, a couple of middle parts and an escape pod, all of which fall off as you take longer to shoot down the boss. At my first play-through I (supposedly) saved the ship just barely, leaving just the escape pod. And when you do save the ship, a fleet of space-jet-fighters come in and congratulate you on your accomplishment. The best part? The higher you set the difficulty, the bigger the fleet.


Not for the faint of heart.
Kill it! KILL IT!
The game is not without its flaws. First of all: its art is not very consistent. At one time you fight aliens, but in one of the later levels you fly through ancient Greek architecture, which was a bit confusing. Also, the gun modes I mentioned earlier, there are 7 different modes: normal, reverse, auto-aim, 2way, 2way reverse, shadow and roll; but you can boil them down to 2: 'auto-aim' and 'why haven't you picked auto-aim?' Also, what is a 'Gley Lancer'? Usually I can re-translate Japanese errors in English, but I haven't got a clue what this should have been. (Grey Lancer? Grey Ranger? Glee?)


If its difficulty is a strong or a weak point is up for debate. Gley Lancer is easy in the beginning, but gets HARD around the third level and that might be off-putting. You will run out of lives FAST. On the other hand, some like it hard and 13 year old me didn't care, we had save-states in emulators in 1999. If you ever finish the hardest difficulty, you get a code at the end of the credits to unlock mania difficulty. At the fighter-fleet level, there will be so many fighters congratulating you, you can't see yourself or the ship you were supposed to save.

Have you played it yet?
So, have you played this game yet? Yes, it has some flaws, but it's one of the best I've played. I haven't even mentioned the music, which is awesome. It is still available for sale and if not to you, an emulator is never far away. Even if great gameplay doesn't convince you, let me just remind you: IT HAS LIGHTSABERS!

Tuesday, February 16, 2016

Sonic 3 would have been the best in the series, if not for this one mistake

Don't worry, this is not a fanboy post. Yes, Sonic is my favourite video game character. Yes, I am of the opinion that Sonic the Hedgehog 3 is better than 2, Adventure and Generations. But, I am perfectly aware that Sonic 3 had a certain problem and that is what this post will be about.

 

From the start

ZOOM!
Let's take a look at the beginning of the series. Nintendo had a lot of success with Mario for almost 6 years when Sonic came around. If you remember the loyalty wars between Sonic and Mario fans, you can imagine that Sega did a great job designing Sonic to make people doubt the leading video game protagonist for 6 years running.

The first game for the Megadrive (Genesis for those across the pond) was pretty sweet. Sonic ran really fast, but you could see in some levels that the level designers did not know how to implement speed. They improved on this in Sonic 2, there were longer stretches to run in and jumping did not feel slow. The best idea they had was adding the sidekick, Tails the flying fox, as an immortal playable character next to Sonic as player 1. This was the best implementation of couch multiplayer I've ever seen, because anyone could just pick up a controller and play along without player 1 being too annoyed

And then came Sonic 3. They took everything and improved even more. Tails could now lift Sonic to places he could not reach before. There levels were even faster and the theming was better thought through. To top it all off, Sega release Sonic and Knuckles, with which you could play Sonic 3 AND Sonic and Knuckles back to back with Sonic, Tails or Knuckles. As a little kid, my mind was blown.


Bring on the classics!


This place has its own expletives.
And yet, if you ask, most Sonic fans will almost never cite Sonic 3 as the best in the series. Almost no youtuber (at least not my favourite ones) has made a Sonic 3 video and someone makes one, they are just walkthroughs. Why?

I will now give you 5 words that strike fear in the heart of any Sonic 3 player: Carnival Night Zone's Spinning Drums. For all the things Sonic 3 did well, there is 1 great mistake that undid all of them. Somewhere in the second half of the Carnival Night Zone level Sonic is locked in a small room with nothing but a spinning drum in a hole where you supposedly need to get through. You can not evade going into the room. You will enter and you will spend there more than 10 minutes. After those ten minutes, Sonic dies of a so called 'Time Over.' The torture is slow and the carnival music makes it all the worse.

These spinning drums are not a menace on their own, they are scattered across the level and sometimes Sonic will land on them and they will bounce. When you get locked in that room, that is what you are going to try: jump on the drum and try to get it through the hole. This will not work, you can get it halfway through and you will be able to make a huge jump, but you will not be able to get through.

No reason for this screenshot,
this game is just beautiful
If you want to enjoy Sonic 3, I've got 1 tip for you: use the up and down arrows on the gamepad. That is what you are supposed to do. The stupid thing is, the game does not give you ANY visual cues on it. Sonic does not bend his knees and at first the drum only barely moves up and down, but surely and steadily it will move 3 screens up and crush Sonic on the ceiling, if you are not careful. Why did Sonic Team put this in the game and why implement it like this? Everything else is intuitive and sleek, except for this part.

What happened?

Of-course, I haven't got the answers, but here is my speculation: it's a mix of things. First of all: the drums follow a complicated rule using a kind of acceleration we associate with standard physics nowadays. By locking Sonic in the room, the creators made sure you could not see past this complicated piece of game engineering.But that does not explain the lack of visual cues.

Pics or it didn't happen, am I right?
Let me sidetrack a little. I've got a portable Sega Game Gear in the attic that I got for my 7th birthday. The screen is burned and I keep it for parts for when my second Game Gear will finally break. On this Game Gear is a sticker I put under the screen when I was 10. On that sticker you can still see the number of the Sega Mega Phone. It's a telephone number you could call if you got stuck in a game for 1 Gulden per minute, about 0.45 Euro/Dollar cents.

And that is what went wrong. Those days, the internet was not yet widespread and what was on it, usually did not involve walkthroughs. Several 'information hotlines' sprung up during that time to help you with your games if you were stuck. With that information being hot business, it helped that new games would bring in money for them too. I will not say that the spinning drum room was deliberate, but with a game bound for release and thinking the info will be readily available, Sonic Team will probably not have wanted to fix that mistake either.

Except, nobody called those numbers as our parents would not let us. Most people just gave up on Sonic 3. Buying Sonic and Knuckles and combining it with Sonic 3 did not help much, because Sonic would still get stuck in the spinning drum room before you could get to the Sonic and Knuckles level set. The Knuckles level set did not contain the spinning drum room, as if the developers knew.

One tip to the perfect game

The spinning drum mistake should not have been made, it's a stain on an otherwise perfect game, but it does not have to spoil your enjoyment. If, despite my rambling, you still want to try out Sonic 3 with the Knuckles expansion, remember this: use the up and down arrows when you are stuck and you are in for one of the most awesome games in history.

Tuesday, February 9, 2016

The Playstation 3 that never really was, was so awesome

BTW: this is not the 60GB. Can't you tell?
Imagine a Dutch boy going to a game store in a neighboring city, anticipating his new console and finally meeting the grandiose that is the Sony Playstation 3 60GB. "I had go through a lot of trouble to get this thing," he says. "I know," the shopkeeper replies, "we even get people from Groningen (far side of the country), just to get this model." Now imagine that boy nearing his 30's and this event happening last year, because that is me.

Although I hate the stereotype of us Dutch being cheap, I did not want to shell out the 800 Euro's required to purchase the system on launch. I was happy with my PS2, but I had mostly be playing PC games before that and I did not mind going back. Unfortunately I missed out on the awesomeness that would be the PS3.

It has been almost 10 years ago, but do you remember all the features that would be in the original PS3? Backwards compatibility spanning back to the PSX era, communication with the PSP, Linux installation and it's possibility to play Blu-ray make it an absolute behemoth of a console.

Unfortunately these features did not only come with a price tag. Sony had to do them right in order for them to stick around and they let that one slip. They had to cut down on features to save on costs, not only because of the material used in the product, but also to save on labor. Since I finally got my hands on the original PS3, let me break down some of those features on why they are awesome and what went wrong.

The backwards compatibility

All playable on the 60GB version
Let me start by telling you that the backwards compatibility on the PS3 was awesome! Remember that the PS1 released in 1994, so on release of the PS3 you already had a library of games 12 years big. With the PS3 not yet at its end of life, that accumulates to 21 years today! Also, these games are possible to view over HDMI and the PS3 takes care of the image scaling for you. With the wireless PS3 controller you add extra play comfort. I would play all of my old games on it, if not for one of several major drawbacks.

You can't load your saves from the previous playstations. Yes, the PS3 60GB has a memory card slot, but somewhere along the design line something was misinterpreted and that slot was changed from a PS2 type to one of those multi-card readers you find on those (now) old PC's. You also cannot connect any old PS2/PSX controller. I can perfectly imagine why this happened, cutting costs among others, but it does not end there.

The PS3 is region free (perfect slogan), but the PSX and PS2 are not. Probably for commercial reasons, they kept the region locking. It makes perfect sense to make a console region free: you make 1 type for all regions, but if you design your backwards compatibility to keep the region lock, you are still building different consoles for different regions.

It is obvious why the backwards compatibility was scratched first, it was the most expensive, but it is such a shame. If they had taken a better look at the design, they might have kept it. Then again, if you know a bit about computer architecture, you'd know how hard backwards compatibility can be, but I'll save that for another post.

Linux compatibility

I am out of puns, insert punguin here...
You might not care to remember, but the PS3 had the possibility to install the Linux operating system. I have not tried this myself, since I did not want to jeopardize my collectible PS3, but I have played enough with Linux to be really excited to try it on another PS3 someday.

Although it was cool, this feature really gave me the idea Sony wasn't really thinking in the design phase. Mainly for these 2 reasons:
  1. Practically no gamer uses Linux
  2. Any OS, but especially Linux, gives the user full access to your hardware.
It wasn't a surprise the Linux feature was the leak that eventually made the PS3 crackable and Sony even removed it with a system update. It's a shame, because the PS3 processor had some new stuff not common in PC's. There's a lot to say about that, but I'll save that too for another post.

Communication with your PSP

We take the PSX hardware and make it portable.
What shall we call it?
Has anyone tried this? Did you know you can play games on your Playstation Portable from your Playstation 3? No? Well neither did I. You can also swap out savegames from your PSP to your PS3, so you can continue a game at home on the big screen after you've played it on the road.

I got my PSP last year too and I had that thing soft-modded before you could say "hey, isn't that be piracy?" The irony of it all is that I only play legally purchased PSP and PSX games on it, the PSX games being the original disc softwarematically mangled on a PC to be stored on the PSP memory stick. This last feature was never fully developed by Sony, because a hacker group found out before the release of the PS3. Again, it's a shame, because it works so well.

Then there is remote play. Long before Valve's Steam had a streaming function, you could stream your PS3 contents to your PSP. Yes, you heard that right, you can go to the little men's (or women's) room and play Playstation games on your PS3! You can insert a PSX disc in a PS3 60GB and have it streamed over Wifi!

Unfortunately, Sony thinks the PSP does not have enough sticks and buttons, so the PS3 downright refuses to play most content, including PS2 and PS3, but also Netflix and any other app you might have installed, which leaves remote play to be nothing more than a remote PS3 savegames-manager. Then, there is the problem of the PSP not being able to connect to WPA2 wifi (most modern routers) and its chip is barely fast enough to stream. You can play an RPG, but do not try a racing game, the delay is just a bit too much. Add to that that Sony never really pushed remote play for developers and you will therefore probably never use it.

Enjoying the PS3 nonetheless

Even though Sony did not polish a lot of its features, the original 60GB is a hackers dream come true. The amount of features is a rabbit-hole I'd love to dive in some more and I definitely will. To end on a high note: although most of these features did not come out as much as we'd hoped, at least Sony has learned from it. They now know better what works and at least they continued the remote play feature to PSvita and PS4. I haven't had my hands on a vita yet, but it seems it can connect to a PS3 as well. Just to keep a combo going, I'll save that topic for another post.

Monday, August 31, 2015

Heavy Gear: a franchise in need of love (and maybe a genre)

Heavy Gear's box art, courtesy of Activision
Everyone has that one special game nobody has played except him/her. Heavy Gear is not one of those games for me, but I do wish I knew of people who have played it. In all my life, I have not met one person who played it and did not borrow my copy. I haven't even been able to buy (or pirate) a copy of the sequel. I did, however, see a crappy 3D animated episode of a series years after I finished this game, which was kind of an odd experience.

Heavy Gear is a first-person, open-field war game and in that sentence is where its first problem arises. Probably only one of those genre depictions has made sense to you and it was about the camera angle. Here's the thing: even though Heavy Gear does not do anything ground breaking, it is still hard to point out in which genre it is supposed to go. Sure, you can describe what you can do in the game, but that does not solve the problem. You can build your own robot, but is it a robot builder? The prefabs work just as well. You are a soldier, but is it a military shooter? As long as you don't shoot humans in the face, people get confused. You pilot a giant robot, is it like MechWarrior? Thank you for drawing attention to the competitor! Let me expand on what I mean.

Mech building
As said, you can build your own robot from the ground up. The original game I got came with a single language manual of 100+ pages explaining every part and pre-configured robot (or 'Gear', as they call it. From legs and engines to guns and rockets, everything was documented on what it did and what its stats were. I spent hours comparing torso's and then adding parts to the INSIDE of that torso, to get the optimal result. Let that sink in: you can not only choose parts, but every leg, arm, torso and head has individual sub-parts you can add and remove. It is vast! It is awesome!

The kodiak model. Every prefab bot has
a picture of this quality in the manual
And then you find the pre-configured bots. They work just as well. An entire building system rendered useless. The thing is, the differences between all parts is marginal at best. Also, you only need one gun: the medium assault rifle, the one in the title picture, but more on that later. In any case: Heavy Gear is not depicted as a mecha builder.

Combat and gameplay
The gameplay is awesome. The Gear really feels as gear. You run around over a field in a very fluid motion and you have fast control over turns. It does not feel as vehicular as MechWarrior, even when you are in vehicle mode. That mode feels like you are on roller-skates, which they are and they are soooo handy! You have a vast environment to zip through which even for its time (1997) was very big. This is war, it feels like it and you are the soldier that is going to bring a lot of damage.

And then the sensors come in... Don't get me wrong, there is a lot of choice and all but one of them do pretty awesome things. All but one... That one, when activated turns off all graphics and only shows a blue wire frame for every object. Textures: Gone! Skybox: Gone! Explosions: Gone! Immersion: RIP. The worst part: it is by far the best way to find and destroy the enemy, because it has camouflage colors. Strafe and shoot 3 shots to the chest with the medium assault rifle on any enemy and its gear flings away in separate pieces. There might be an explosion in there, but it isn't rendered when the sensor is on.

OK, graphics aren't that great, but imagine
a sensor rendering even less
But we were talking about genre depiction and not about its gameplay quality, which makes it all the sadder. It does not play like MechWarrior and not like a military shooter, which were not as prominent at the time, but already a presence. Heavy Gear had a very unique gameplay ruined by 1 little thing. It did not fit into an existing genre and its own gameplay had a fatal flaw, so it did not make it earn its own genre.

Also, the AI is stupid, there was nobody in multiplayer and therefore the not-part-of-story-campaign missions were boring. I did not know where to put this, it just adds on a detriment to the gameplay, but speaking of story...


Story
YOU GUYS! THE STORY IS AWESOME! This game meshes story and gameplay perfectly using everything that can be used in a videogame. There are live action movies (which you can skip, but I didn't), extensive texts building the world (which you don't have to read, but I did for this game) and scripted events that do NOT INTERRUPT GAMEPLAY. I wish more developers played this game to take note on how you tell a story. Mind you, the actual story and the acting could be better, but its presentation was so good, my suspension of disbelief was through the roof and I didn't even notice.

As for the Story: On a distant planet, there is a war between the North and the South. You are a Northern soldier on a giant desert-crawling frigate and it gets marooned in the badlands between North and South. In itself this is not such a big problem, but there is also a Southern frigate somewhere and so both frigates are in a kind of Mexican stand-off, but with whole platoons instead of guns. Both sides are too far away from home for support and there is a chance neither will go home alive.

Either an actor that doesn't know Heavy Gear or
a Heavy Gear fan that doesn't know how to act.
The whole campaign has this brooding dread spread through it. Where is the other frigate? Will we survive? Through the campaign you get captured and characters die and defect. Every death and defection gave me a little sting, because this was not a war between North and South, this was up close and personal.

Then there is the moment when both frigates finally meet and mayhem ensues. Even though it was a difficult mission, I turned off the lame sensor to watch both frigates blast away on eachother. Yes, even for its time the graphics did not make it look as majestic as this description, but I did not care. I was zipping around on my roller-skates, trying to spot foes between my friends and generally not get killed.

And all the reviewers ever did was comparing it to Command and Conquer, an RTS no less. C&C had campaigns for both factions, Heavy Gear had only the Northern campaign, thus the reviewers claimed it fell short. And that is all they ever wrote about it! How can you compare a military shooter story (of which there is usually 1 in a military shooter) to two RTS stories? Personally, I prefer 1 great story to 2 mediocre ones, but I guess quantity outweighs quality. Again a point where its lack of genre profile cut the game short in reviews.


In the end
Assault: more Graphics, more color, more love?
Despite its shortcomings, Heavy Gear is a lot of fun and it is such a shame reviewers did not really know what to make from it. Sure, on average it got around 80% in reviews, but remember that only games above 90% can make a difference. With customers not knowing what it was, nobody bought it, nobody played it, except me.

Before I got to writing this post, I went on to do a little research and little did I know it was actually based on a universe for a tabletop game and a role-playing game! (That explained the late, 40 episode, crappy TV series I came across) They even kickstarted a new videogame (Heavy Gear Assault) and it did not reach its target, moving on to early access (which I never heard about) to be released in 2016. I haven't tried it yet, but I think I will when I get the opportunity. Hopefully this franchise will get the love in videogames it deserves.

Friday, May 2, 2014

I hate social media

So, for those few who follow my blog: Sorry for not posting so long. I've been through a lot of things, but I can say the result is worth it: I am now making games. Not as much as I would want to, because I need to put bread on the table with my day job, but I am effectively working on games 1 day of the week. If this goes well, I might be able to transition from making games as a hobby to making it my day job. Yay!
I don't know all of these logos, I am getting old.

But before I get to that point, I need to know EVERYTHING about making games. That includes not only programming, art and music, but also marketing and financials. While I am quite apt with the first and quite fair with 2 and 3, I have still a lot to learn on the last two. I have the financials quite straight now, because my games are free and I get food with my day job, but to make my games popular I really need to get my marketing straight. Thankfully social media should make this job easier than a decade before... should...

This is where the titular opinion of this post starts. I hate social media; Not because it is hip to hate Facebook, but because I never got the hang of being likable on the internet. In real life, I make friends without even trying and I have no problem speaking for large groups. To the contrary, I live for meeting new people and I love to improvise a class lecture in front of a random crowd, but online? Online I am worse than the shyest kid you've ever met. You probably never met me online.

It's not like I haven't tried. I have accounts on multiple sites, including reddit. I have tried getting some attention making this video clip and when it felt right, I even tried making a whole internet series a couple of years later. While it was fun to make the videos and I feel informed reading opinions from everyday people, it is not as fulfilling as actually meeting people and talking about your opinions/videos.

Here's the thing: to me, being online is not the same as actually being in someone's vicinity, being actually able to, but not needing to, touch someone's personal bubble. First of all, the reactions are not spontaneous online. Most interaction is done through text. I might not be dyslectic, but I am a very slow reader. I hate reading and the only reason I do it, is because I need to get the information or the cool story that is hidden within the text. I like writing, but it takes me a lot of effort to get the meaning right, while face to face I am able to make my point almost instantly clear using not only words, but also intonation and gestures.

Apart from that primary gripe, when I actually do get to the online interaction, NOBODY LISTENS! I might have had a couple of reactions, but if you are not on the first page of a forum post or the front page of someone's youtube, all you get is crickets chirping. If you want a reaction, you have to stalk your sites, waiting for a moment that someone makes a post, pounce when they do and hope the post goes big. Rinse, lather, repeat. Stalking takes time, a lot of time which I'd rather spend on making games.
Quick, altogether now! AAAAAAH!

So it's a kind of choosing between 2 evils. If I spend a lot of time online stalking, I am not able to make some games. If I spend my time making a game, I do not have the time to make a lot of posts to get feedback with. Without that feedback, I don't know what I made was approved or disliked. Though sites try to fix this with upvotes and likes, when I get a score, I don't know if I am liked by the people that matter to me. To me, there is no interaction online, only screaming into the void.


Social media should make marketing more easy. You can post anywhere, then it should go viral and you will be rolling in the dough. The internet is plastered with success stories that couldn't have happened 20 years ago. A couple of examples are Gangnam style, nyan cat, goat simulator and every month there will be one more to add to that list. I like those stories, but for every viral video there is "100 hours of video [sic] uploaded to YouTube every minute" that do not get that VIP treatment.


This is where the whole package starts to look futile. The whole internet is telling me to advertise my games in between a lot of content that is equally screaming for attention. Furthermore, you can not post on one place and then be done with it, you have to go to Facebook, Twitter, Youtube, Reddit, 4Chan and many more and then still not everyone has heard about my game. Nobody cares, nobody tells anyone and your marketing is dead. If I would, say, wear a clown's nose and spread flyers all over town while drawing everyone's attention, something I'd love to do, by the way, I might not market to a big area, but people will remember me and tell other people about my game ("Look at this flyer, Margaret. I got it from a guy wearing a clown nose! He made a game!").

But, I have to catch up with the times. People nowadays want a lot of information, all the time. The least I can do is updating any interesting events, or at least the ones I want people to know about. I can do the clown-thingy anyway and maybe someone will tape it and it becomes a viral video. I am going to set stuff up on as much social media as I am comfortable with and market and repost as much as possible. I am now reviving this blog for such purposes. Maybe if I keep my posts short and maybe more frequent that once a year, people might even take a look at it.

But I won't go on Facebook. It is too intrusive and it saves me a place to post updates to. Also, it is hip to hate Facebook.

Sunday, December 16, 2012

A gamer's guide on how to install linux

Summary: You do not have to read everything in this guide, just the summaries.
Although he's the Linux mascot, I've never
seen this guy on a distro image...
With Steam coming to Linux, the open source platform is becoming ever more attractive to gamers. I was able to figure out Linux, mostly because I studied computer sciences (I had to) and I have enough patience to actually read all the manuals out there.

A lot of people are not in my position and therefore do not try Linux. It's scary for them, because they do not know what they are getting themselves into. There is no need for them to sink that much time in trying to learn Linux, because they can just as easily sink money in Windows and Mac to have a working computer. This is a shame, because Linux can be easily explained and learned.

I made this guide to be as complete and clear and yet as short as possible with the focus on gaming. I did this for 3 reasons: (1) We gamers are not known for our attention span, (2) when I started out I was annoyed by the walls of text and slow youtube movies that wasted my time trying to help me with very simple actions and (3) when you've finally got something to work, you'd want to wind down with a game, right?

Not counting the intro, I've divided this guide in 4 parts: getting, installing, using and gaming (in) Linux. I summarized every part in a small "Too Long; Didn't Read" at the beginning of every part, for when you just want to 'get on with it'.

This tutorial assumes you know how to burn a disc image to a DVD, how to change the boot order on your motherboard and what a hard disk partition is. We will focus on making a Linux-Windows dual-boot, so that if you are having trouble getting your games to run on Linux, you can always switch back without reinstalling.

0 - Before we start: Is Linux for you?

Summary: Take some time to dive into Linux.
Let's take some game analogies to see if you are fit to use Linux. As with anything in life, Linux is not for everybody. You have to be prepared to tweak your system a bit to satisfy your needs, as no distro will cater exactly to what you want. Fortunately, you can also do this in games.

If you are an avid Minecraft or World Of Warcraft player, do not think twice, you are probably going to like Linux. These games are pretty console-line heavy when you want to enjoy them to the fullest. If you have used the console in ANY game without too much trouble, you have tackled the biggest Linux hurdle: the terminal.

You do not need to be very command-creative to be able to like Linux. If you've ever made a custom level or tweaked your game's files to cheat a little, you've still got the right mindset. Linux will not try to sell you its features Instead YOU have to actively search for them. You need to want to try stretching what you can do with your operating system.

Do NOT attempt Linux if you are scared of exploration and the accompanied potential failure. Learning Linux comes with trial and error. You will probably ruin a computer (or virtual machine, more on that later) when trying out Linux. If this is the case, let me fix that for you: don't be scared, mistakes are normal. There, now everyone can try Linux.

1 - Getting Linux

Summary: Download an Ubuntu disc image here. If you tried it and don't like it, move to another distro. Check for an overview of other distro's at distrowatch.
The current Ubuntu logo
My first mistake with Linux was expecting I could type "download Linux" in Google and start right away. There is not just one Linux (although technically they all have the same kernel). There are countless different distributions (distro for short) and versions. They all have a different community and their composition can vary A LOT. If you thought the difference between Windows 98 and XP was large, just wait until you compare Arch and Debian.

This list gives you an idea of what you can expect.
  • Ubuntu; You'll hear most about this one. It has the biggest marketing campaign and claims to be the most user-friendly. It has great support, but as of writing people are not being too happy with the new interface. That's okay, since there are a lot of different versions with a different interface, like Kubuntu, Xubuntu and Lubuntu.
  • openSUSE; A linux distro especially made for the corporate world. It's nice but you will notice it assumes your computer will be used by more than one person. It will ask for your password more often than Ubuntu and its community is not very focused on media and gaming.
  • Arch; For the more experienced Linux user who wants to do anything to his/her distro, this one keeps it down on the safety-mechanisms. If you've got leading edge and cutting edge, Arch is bleeding edge. It comes with the warning that you should not update 24 hours prior to a moment when you really need your computer. An alternative to Arch is Gentoo.
  • Fedora; Fedora tries to be a bit more safe with the bleeding edge. Every version of Fedora has a stable core and tries to test new bits on that core. If something is broken, wait for the next update and it should work again. It's a lot of fun if you want to try new stuff, but do not want to get stuck fixing everything yourself.
  • Sabayon; Some distro's want to be original, some just take an existing distro and dump it full of packages to give you a complete out-of-the-box experience. Sabayon is one of those distro's. It has 3 versions of every kind of program you could think of and is mainly a big pile of packages. Other distro's in this genre are Poseidon and Ultimate Edition.
  • Puppy; Some times you need a small OS for a small hard drive. That's where minimal distro's are for. Puppy linux is not the smallest and definitely not the prettiest, but still the most popular with just 100MB needed for install. Other examples are SliTaz and Damn Small Linux.
  • Mint; I currently use Mint to write this post, so I can't leave it off the list. ;) It's based on Ubuntu (which in turn is based of Debian) and focuses on having a stable OS with a nice interface.
I have used all these distro's at least once, but there are a lot more available out there. Check distrowatch for more distro's and experiment for yourself! If you want to know which distro's are similar, check this distro map from wikipedia.

2 - Installing Linux

Summary: Try out your distro in a live environment and practice installing Linux on an empty partition next to Windows on an old computer or in Oracle VB. When you use it on your main or old computer, burn Ubuntu on DVD-RW, boot from said DVD and follow instructions on screen.
It's not the installing of Linux that is the hard part, it's the preparation. Before you even think of installing Linux to your main computer, I recommend you practice on an old computer. If you do not have or want an extra computer lying around, you should practice on a Virtual Machine, like Oracle Virtual Box.

VM's are nice, because you can install from a disc image straight to a virtual computer. Unless you are using a VM, I suggest you stock up on some rewritable DVD's and burn some of your favourite distro's on them. Re-use the discs of distro's you don't like or are out-dated. Do not use recordables, I found out you will run out of them very soon.

It's also possible to burn a distro image to USB stick, but be aware that not all distro images can be booted when burned to USB and that not all (old) computers can boot from USB. Most distro images are hybrids (USB and CD) and there are ways to get disc-only images on USB drive (like LiLi and Pendrive linux), BUT save yourself a hassle and just burn to DVD.

Before you start to install Linux next to Windows, make sure you've got an empty partition. It will be wiped. Back up all the data from that partition. Next make sure your computer or VM boots from your DVD drive before the hard disk. Now you're good to go.

IMPORTANT PART: Installing Linux is relatively easy: Insert disc (or load image in VM), wait until the installing environment starts up and follow the signs saying "Install <distro name>." Note that most distro's have a live environment in which you can try out the distro without installing. 

Usually Linux installs make sure it can be installed next to Windows, Windows doesn't, so make sure Windows is installed first. You can still fix the Master Boot Record if Windows is installed first, but save yourself the trouble.

3 - Using Linux

Summary: Linux is not Windows. Be prepared, but if you read only the summaries, have fun exploring! No, seriously, have fun!
If you think you know how an operating system works because you know Windows in and out, you might get yourself in a pinch. Windows is not like Linux, but you can still learn to use it without too much trouble. Go explore for yourself, it's fun. If you want me to hold your hand, here is a list of things that are a bit different.
  • Interface; Where Windows has just one kind of point and click interface per version, Linux has room for more than just one per install. If you don't like the interface of your distro, just install another one and select it when you log in. The most used ones are KDE and Gnome, but if you don't like them you can go to XFCE, LXDE, Cinnamon or MATE.
  • Terminal (command line); A common story about Linux is that you have to use the terminal. This is not entirely true. You do not have to use the terminal, but if you know your way around with it, it saves you a lot of headache. It is the difference between strolling through menus searching for that one button that solves your problem (visual interface) and just telling the computer what you want (terminal). Here is a list of useful commands and if any of them don't work, try 'sudo <command here>'.
  • Directory structure; Forget everything you know about drive letters and the windows directory structure. Chances are your data is cluttered around it on stations, like D:\, E:\, and so forth and your OS is installed in C:\windows\ and all other stuff . Linux on the other hand is installed in /. Your 'my documents' are available in /home/<user name>/. Your other drives with games and movies are only available if you 'mount' them to a directory. Usually these drives are mounted to /media/<drive name> or /mnt/<drive name>/. Note that Linux uses forward slashes for directories instead of back-slashes.
  • File system; Just so you know, Windows can't read the Linux file systems (ext2, ext3, ext4), but Linux can read Windows's (FAT32, NTFS). That's also why a partition gets wiped when you install Linux on it.
  • Installing software; Linux works a bit different with installing new software. These are the 3 main ways of installing software ordered by ease of use.
    • Repository; Think of an app store on your smartphone as a paid-for repository. Note: Linux had repositories decades before Apple came with their app store. The repository holds an online storage of all packages that have been compiled especially for your distro. You can use a package manager, like synaptic or pacman, to search and install packages from your repository. They will not always be up-to-date, though.
    • Binaries; If the (version of a) package is not available from your repository, you can download binaries from a website. Depending on your distro, these are files with a .deb (Ubuntu and Debian based) or .rpm extension (for distro's like Fedora, SUSE and other Red Hat based). The package manager will handle them and needed dependancies for you.
    • Compile from source; This means you get the program's code and build it for your distro yourself. Use a terminal for this! Download the code, unzip and execute the soon-to-be familiar dance of "./configure; make; make install" in the code's main directory. Make sure you can satisfy all dependancies yourself!
  • Drivers; As with the terminal story, the driver story is partially true. Not every piece of hardware is compatible with Linux. The newest hardware always takes a while before it is usable in your Linux distro and some developers do not even bother with Linux. That said, since the switch from Windows XP to Vista a lot of hardware suddenly is not compatible with Windows anymore. However, the hardware that was compatible with Linux has stayed compatible. I've already found some (not even that) old hardware that works instantly with Linux, but not with Windows 7. If you want to know if a piece of hardware, like a printer, is compatible with Linux, google its driver before buying.

4 - Gaming on Linux

Summary: It's like modding, just a little bit different.
This will be your best
friend when using Linux
Since this is a gaming blog, I will not go into detail with utilities like LibreOffice or GIMP. Most utilities will be pre-installed with your distro or available in your repositories anyway.

I have to be honest here. Gaming will not be as easy on linux as it is on windows. It is possible to run all your windows games on linux after some fiddling about. However, if you want to wind down and enjoy a new game, you might not want to tweak with linux for an hour. Here's where a lin-win dual boot might come in handy. That said, the Linux games market share is growing very fast since Desura, Steam and indy developers are more and more releasing their games for linux.

Here's a list to get you started on running games on Linux:
  • WINE; Wine is an abstract program interface that lets you run MS Windows programs on linux and mac. Just open any .exe with wine and it is most likely to run. Wine is usually available in repositories, but it might be better to get the latest version from their site. Be careful! Some cheat detectors in multiplayer games might classify Wine as a cheating program of sorts.
  • DOSBOX; Your favourite DOS emulator works just as well in linux as in windows. Play almost all DOS PC games released ever!
  • SCUMMVM; Play all your favourite old point and click adventures.
  • Desura; It's quite rare to find games released natively for Linux. This site does not cater to Linux games exclusively, but it has quite a lot of native Linux games.
  • Open Source games and engines; Some games are paid, some are completely open source. You repository is full of them. These are some notable open source, moddable games.
    • Sauerbraten; The Unreal engine of Linux. First person shooter with quite a community
    • Spring Engine; A RTS engine based on the design of Total Annihilation. Many mods are available giving you quite a couple of RTS games to play.
    • Doom; Look in your repositories, the original developers at Id left you a present. You need the original files to play.
    • OpenRA; Command and Conquer on Linux. It even works with the files of the original C&C and Red Alert.
    • OpenTTD; Transport Tycoon Deluxe, updated with a community, multiplayer modes and HUGE environments. Original files not needed to play, but still optional.
  • Console emulators; Console emulators are in a bit of a moral gray area, since console published games were not meant to be copied. Still, it is your right by law to do with your old games as you like and luckily Linux has enough emulators to let you play thousands of games with little effort.
    • Mednafen; An emulator that successfully emulates almost every console up to 1995 plus some more. Most likely to be in your repository.
    • Gens; One of the better Sega Genesis/Megadrive emulator
    • ZSNES; If you've emulated SNES in windows, ZSNES will be familiar to you. It's in your repository.
    • Mupen64; Great Nintendo 64 emulator. Not in your repository.
    • PCSX/PCSX2; Emulate Playstation 1 and 2. If they run slow, make an image of the disc.
    • GMAMEUI/Advance MAME; The Multiple Arcade Machine Emulator is available on linux in many forms. These two versions were easiest to use for me.
  • Steam; Valve's Steam is now available for Linux. Some avid Linux users don't want it on Linux because it is a kind of DRM and it would close down the system. While they might have a point, I still like Steam's service and it will bring games to the Linux platform, so it is on this list.

5 - So now what?

Summary: We're done, go enjoy your system
If I missed something or things have changed since writing, please let me know in the comments. Most of this post is quite general, but I will try and update this post when necessary.

And that's about it. This should give you enough pointers to work with Linux and install games on it. If things don't work out, remember Google is your friend and someone somewhere might have had the same problem. The communities are big, you will not be left out.

Monday, October 29, 2012

We should play more REAL simulations

With Medal of honor: Warfighter coming out, the discussion about games being bogged down to one genre and being less interactive has fired up again. IGN has flamed the new MoH installment and Total Biscuit uses the new MoH to show what has gone wrong with the FPS genre. I will not say the internet is in great peril, but game fans are not tranquil either.

A medal of hono(u)r. Shiny, but I would
not want to go through the trouble
getting it...
The problem with the internet is that, when people are disgruntled, everyone is pointing out the problem, but not giving an active solution. Sure, "Do not buy MoH: warfighter" might be a good solution, but it is not active. If people buy it accidentally ("ooh, 90% off!"), the solution is lost and the evil corporation grows stronger. An active solution would be "burn all copies of MoH:WF!" This doesn't work, because that means you have to buy all copies before you can burn them, giving the evil corporation more money in the process. Fortunately, I have an active solution that might just work. You just need to look at the bigger picture.

Go play simulation games. Yes, even Street cleaning simulator. I know what you're thinking: "Why? What would it do? How does it help?" It's a difficult dilemma, but let me answer in one sentence: "WHY CAN'T YOU PEOPLE ASK ONE QUESTION AT A TIME!?"

Let me back up a little; I am not a big fan of simulations or simulation games. They miss rules that make me feel I achieved something. I have never really played Minecraft and Terraria ultimately seemed pointless to me. I like games who go nuts on action and occasional wackiness. Transformers: war for cybertron and Saints row 2 are some of my favourites , but I don't stick to action, as the Final Fantasy series and Okami are also on the same shelf in my collection. What these games have in common is that its creators know how to make a nice game by applying rules to a certain environment.

See? Can easily win gamespot's GOTY award.
What games like MoH:WF do wrong is that they mix up rules of the game with rules of an environment. This is not a weird appearance, since both sets of rules need to be determined by the designer. To illustrate: Risk has a different order of taking turns than football (soccer AND rugby variant included). You don't go kicking around pieces on the Risk board and you don't say to the football opponent it's not his turn to kick the ball. These are both obvious, since the abstractness of risk facilitates turn-taking and the closeness of football makes you take the ball from your opponent. MOH:WF gives you a realistic environment and then tells you when it is your turn to do something. Total Biscuit said it best: "As an elite operator I'm immune to bullets. What am I not immune to? Uneven tiled floor!"

This is where simulation games should come in. Simulations are just the environment and a setting. You have to make up the rules. A good simulation does not judge you for going out of bounds. When I played DCS A10-C warthog, I could do whatever I wanted. If I did a quick and dirty startup or made a 180 barrel roll, the simulation did not care. I got the washing machine flying without breaking it, so that was OK. The fact that a 180 barrel roll in a simulation is way more difficult than in an arcade game makes it all the more awesome. Also, Train Simulator 2013 did not judge me for making the biggest train ever (and I want to show it off):



When a person is in an environment with nothing to do, a funny human psychological element starts to kick in. They start to make their own rules or do whatever they want. This is what separates playing a video game from actual human play. It is also the reason why minecraft got so big, you can build whatever you want. People train their abilities and have fun. I stated earlier that fun and learning are closely connected. This also explains why MoH:WF is not fun: you are not training, you are just doing as told.

DCS A10C warthog... I meant to do that, really!

What I'm trying to explain is this: games should be environments with loose rules in which they let the player do their thing and occasionally reach a goal. If games do not meet this requirement, they do not engage human play and they are not games. Simulations are here to remind us what the difference is between environment and game. You want to shoot your gun, fly that plane or race that car without someone bothering you.

Also, if you buy more simulation games, this genre becomes more attractive to develop, giving the market more reminders on how an environment should be made. This makes restrictive games less attractive, because statistics will show simulations are sold more. You don't have to play your collection of simulations for this to have effect. You will have tweaked the statistics and have something to fall back on when you see the next FPS disaster coming along.

Panic and fear come from not being informed. Fear turns into anger and that is what you see at every big release of game schlock that still seems to sell. People don't know why it is popular and can not give an alternative for it. That's why you have to buy and play simulations. You'll have knowledge of what is wrong with the schlock, you'll immediately have an alternative and you cranked manager's statistics more favourable to intelectual classiness. If you miss flying games, play DCS A10-C warthog, if you hate Call of Duty, go play ARMA2 and DayZ, and if you want to know how you REALLY make a zombie game, go play Trains vs Zombies 2.

Friday, October 19, 2012

For Science! For real!

If you are reading this, you are probably from reddit or the Escapist. I am pretty sure, since this blog does not get much monthly hits and the hits I do get are usually image searches for a philips screw driver. Let me say welcome and thank you. Thank you for helping me in my research on educational games, or more specifically: "How to teach software design in the form of an educational game."

Arthur, the mascot
So, how did it go? Well, I was just minding my own business, trying to write my thesis and then suddenly I have to present my research in Switzerland and I win an award in Austria for best gamification paper. I'll admit it sounds better than it actually is. Switzerland was just a poster presentation in the hallway at the end of the conference and the paper for Austria, although it mainly described my own research, was mostly written by one of my superiors. Nonetheless, I am proud of the achievement. Thank you for making it all possible.

If you know what I am thanking you for, you've only seen the tip of the iceberg. If you don't know what in blazes name I am writing about, let me explain. A couple of months ago I released a freeware game, called "the Art of Software Design". With it came 2 surveys, one to be taken before the game and one for after playing. This was part of the research I needed for my paper, but that is not the only thing I did. For a full research you need some preliminary reading (I look at A), a hypothesis (I think A gives B), you need to test the hypothesis (I'll do A), the test will give data (Ooooh, I now have C) and from that data you can draw conclusions (I say C is B, so I am right).

I am going to tell what all the other things I did for my research were . I am going to try to put it in very simple terms. If you are not interested, stop reading, accept my thanks for your cooperation and go read something else. If you want to see the full research, software and extra papers, go here. If you are still interested in this blog post you can, ofcourse, just read on. Ready? OK, go!

What did I first know?
My teacher wanted me to make a game that teaches software design, because software design has a big dullness stigma. A game might spark some interest in people who don't know what they want. I wanted to make the game fun. To do that, as a scientist, I had to find out what 'fun' actually is. The few people who have read my blog might remember my post about 'addiction does not equal fun.' Back then I ranted about the fact that game developers make a game as if they make a maze for rats. Instead of giving the player the possibility to do their thing, they want the player to do everything the way the designer intended. I said once before that games like NFS most wanted are rigged. The best part of research is that you can really dig out a subject you personally want to know about, even if it is not completely in sync with the demanded research. Just like an ice-cream man can serve himself some ice-cream, I served myself some information.

I'm learniiiing!
When making a game, most developers only look at the addiction part, but not at the learning part. When you play a game, you learn the controls, mechanics and features and you want to get better in those. People want to create their own style when playing. Even if the information is not useful, they still learn from a game. My problem starts when what you do in the game does not matter anymore. A lot of games make you lose on purpose and on that moment you are not learning anymore, you are just pushing buttons because a screen tells you to. If you ever wondered why quick-time-events are so annoying, this is the explanation. Pushing buttons when told does not make you learn, you don't practice a style and therefore you are not having fun.

My game was to be fun and educational. So I wanted my players not to become rats in mazes, I wanted them to learn and create their own style with software design. If you start researching the essence of learning (or just read this link) you'll find that in order to learn, the student/player has to have some kind of emotional connection with the thing he or she learns. In other words: if the teacher is entertaining, the kids pay attention. This is why an educational game, when done right, can teach a lot to the player. This is also why learning things, when done right, can also be fun. Education is not necessarily dull at its core. People want to do and learn things, just for the fun.

Long story short, I condensed the essence of fun and learning into 3 points that need to be balanced when making a (educational) game. They are:
  • Tolerance; Don't punish the player too hard, but don't be lenient. Too little tolerance (or too much punishment) makes the player want to stop playing the game. Too much tolerance and the player does whatever they want and nothing is learned.
  • Variation; Don't give too much similar situations to the player, but don't give them something completely new every time either. Too little variation makes the game dull, too much variation and the player does not understand what the game (or learning subject) is about.
  • Deviation; When the player gets stuck, they need to be able to go to a different problem, solve that and get back to the earlier problem to solve it with the new knowledge they got. With too little deviation, they get stuck, don't play on and don't see the rest of the game. With too much deviation they will avoid parts of the game, because they don't feel like doing that one difficult part.
With this information I knew how learning could be fun, but I did not know enough about software design to actually teach it. I dived into a big pile of books, picked some subjects that would be possible to implement and build some mechanics around them. If you want to know what the subjects are and what they do, go play my game already. It is way easier and faster for you to play the game than it is for me to write it all down here and make you understand.


How did I do the science?
With all information and expectations in place, it was time to make the game and test it on people. This is easier said than done. Making a software design model is easy to translate to an environment. Some concepts are easy to translate, like coupling, some concepts are challenging to put into a game, like data flow, and some are so vague I needed 3 different takes on the subject before I got the mechanic right (cohesion). If you don't know what I'm rambling about, again, play the game.

Eventually I was able to make a game. This was not the version you got to play. I first tested it on some people in so called 'speak out loud' tests. These tests are as weird as they sound, people played the game and had to actively say what they were thinking whilst they played the game. It's weird, but very effective. I was able to fix a lot of bugs and counter-intuitiveness from the game.

After I fixed the game, it was ready for global release... or at least on reddit and the escapist. I made a pre-game and a post-game survey which players had to fill in before and after playing the game respectively. In the surveys I would ask questions about the subjects and the idea was that after playing the game people would know more about the subjects after playing the game.

I just forgot about one factor: the average attention span of a person on the internet. Barely one out of five people who did the pre-game survey pushed through to the post-game survey. It was a set-back, but luckily I could still use the data and I already had the speak-out-load results. It was time to make something out of my findings.

And then?
The whole thing with science is that you can not know what the results will be beforehand. If you did, you probably tweaked your results and you would be a lousy scientist. This is why it is so hard to get research funding and why you should never trust research funded by companies when it says that those companies are right on some subject.

For Science! Muhahaha
As with all research, also with mine things went wrong. There were still some nasty but rare bugs that broke the game on some points. This might explain why a lot of people did not do the post-game survey and not everyone could recall all subjects after playing that game. In hindsight, I should have implemented some netcode in which I traced people's actions.

Then again, netcode would have taken a lot of time to make and, as with all things in life, my paper had a deadline. The game was already hard to make as it was intended. I wanted multiple solutions per puzzle (variation) and a nonlinear way of going through puzzles (deviation). This meant i needed to put a lot of time creating and testing every puzzle and also that I needed a lot of puzzles. Let's just say I did not have a lot of time to do anything else besides level creating when I should be doing sciency stuff.

How did I smugly say I was right all along?
With all things considered, the research was a success. Why? People DID learn software design. At the speak out loud tests people started talking in software design terms within a couple of puzzles. When looking at the surveys the more advanced subjects were not always learned correctly, but that was because they were not practiced enough within the game. Most people were positive and we were able to reach out to people interested in software design and computer sciences, which was our main goal.

The best data I got from this research is signs that the puzzle structure was right when looking at the point of deviation from earlier. At the speak out loud tests people got stuck on certain puzzles, solved another one and returned to the previous puzzle to solve it. Note that I only saw signs, but can not claim that it really works, because for that I need to speak-out-loud-test much more people.

My research was presented at 2 software design conferences. One presentation was done by me, the other by one of my teachers and he got the award. In the end the research was a success thanks to all you fine internet people. Thank you for playing my game and I hope you enjoyed learning about software design.

Also, keep an eye on the art of software design website. There will soon be an expansion of 3 big puzzles and I will also publish the source code.