Rogue Machine: How I made my own video game – Reader’s Feature

A reader describes his hobby of designing and creating video games, and why he doesn’t mind that it’s taking so long.

A couple of years ago GC ran a Hot Topic asking people about designing their own games and showed the video of the game I had started working on called Project Red.

The game is now called Rogue Machine and has turned into a third person sci-fi roguelike. The premise of the game has the player stomping through levels armed with two laser pistol/laser sword combo weapons, fighting enemies that use a variety of guns, swords and shields. Apart from that and a few vague concepts, I still have very little idea of what the overall game is about.

Rogue Machine is designed to be played on either a PC or tablet, using keyboard, gamepad or touchscreen. Now I know what you’re thinking, touch screen controls will never work for a game like this and it has already been mentioned to me that I should probably drop this. I generally hate on-screen joysticks and buttons, so for Rogue Machine I’ve gone for a gesture style of input; using floating joysticks that reposition themselves as the player touches the screen but otherwise remain invisible.

In order for this control system to work I had to limit the moveset and rely on a semi-automatic lock-on system to handle aiming and strafing. This is achieved through tapping the screen to turn the lock on and toggle between enemies. Combat then boils down to the player making decisions on the attacks they make and the timing of them. The actual accuracy is controlled by the game. However, this has the benefit of relying on the skill of the character, which in turn allows for levelling up. Which I feel is an integral part of any rougelike.

Another integral part of rougelikes is procedurally generated levels. I’m very conscious of the fact that procedurally generated content has a tendency to create levels that are very much of a muchness. If I told you that I have some cunning algorithm that creates vastly different experiences within the game I’d be lying. The method I’m using is actually quite crude but it does what I want it to do.

I’m currently designing different looks for the maps. The challenge that I’m now grappling with is that even if the maps look different they won’t necessarily play any differently, the basic underlying tactics do not change. At the moment I feel that I need to add more things to do, different challenges from the basics of fighting enemies. I’m not entirely sure what I’m going to do, but this all part of the fun of making games.

The enemy artificial intelligence was another big area that I’ve spent a lot of time on and, even though it is rather simple, I spent a lot of time planning it out with flow charts before I started coding it. The main challenge was making sure that the enemies are a credible threat, that they behave in a sensible fashion, going through the different states of behaviour, and don’t get stuck in some silly code loop where they run around in circles or stand still oblivious to the player.

I’m a big fan of 2000 AD and the look of Rogue Machine is inspired by a series called Shakara, and has since turned a little bit retro which I very much like. The actual amount of detail is quite low, instead relying on broad strokes of grey with splashes of white and red which has, in part, been driven by my dislike of texturing models. However, before I started getting accused of being lazy, in order to get the comic book look and the glow effect I had to learn about shaders, which I have never done before, requiring coding skills I never knew I had.

I make games for a hobby, working on them in my spare time, and so far I’ve spent two and half years on Rogue Machine, in one guise or another. There’s probably another 18 months of work to go, but I believe the project now has enough momentum to get finished and I’m really pleased with how it’s all turning out.