Shifting Dungeons ~ Post-LD35 Update 1

One thing I’ve become exceedingly bad at is updating games once I’ve thrown them onto the Internet for the first time. The last time I did such a thing was probably over a year ago. But, starting today, I am a changed man! For I have vowed to complete Shifting Dungeons to a standard that I’m happy to put my name to and watch it run off into the wider world, playable and somewhat consistent. Ahh, games, they grow up so fast. I’ve been very preoccupied lately with ruining my sleep schedule by doing coursework right up until deadlines (and beyond…), but that didn’t stop me tweaking Shifting Dungeons a bit.

Without further ado, it’s time to list what’s changed! That’s what change-lists are for, after all.


Character Customisation

There’s a handful of new character customisation options, bringing the total of skin and clothing colours available to 8 each. That may increase in the future, but for now I’ve stuck with 16 total options because the UI feels clean and not overwhelming with choice, while providing a relatively broad number of outfit combinations.
The whole character customisation scene has a background too – I’ve decided to make it look like the player is getting changed in their bedroom. It’s woefully incomplete currently, but it’s a start.


Options Menu

The bare basics of an options menu are also now in the game. Most importantly, this menu has an exit button – something I’m very good at forgetting to add. Now you don’t have to Alt+F4 out of the game or use Task Manager! There are sliders for adjusting music and SFX volume and for changing text speed, but they don’t do anything right now (especially since there’s no music and next to no text). However, the sliders’ values are accurately stored, so it’s a start! I’ll probably have them fully implemented by next update.


Intro Cutscene

I’ve also started work on a cutscene for the start of the game. It’ll be rather short and serve only to introduce the concepts and backstory of the game in a better way than the Ludum Dare entry version handled it – a wall of text. Instead, short sentences accompanied by pretty pixel art will probably work better. Similar cutscenes will appear during major story arcs, but since there’s no story right now, this is the only cutscene implemented.


Controller Support

Any controller that supports X-Input should work with the game. I say should; I’ve been testing the game using a Wii U pro controller and an adapter that allows it to mimic an Xbox 360 controller (which uses X-Input), so hopefully it also works with other X-Input devices, although I can’t promise anything will work perfectly. The controls are fairly simple and you shouldn’t have any trouble getting to grips with them. However, there are no in-game instructions for controllers, so here is an image detailing how the controls work (which I probably could have just included in the game anyway):


Enemy Lock-on

To make it easier to take down baddies, you can now lock onto them. On a controller, aim in the general direction of the enemy and press the left button; using a mouse, press the right mouse button. It’s the same button to de-lock (lock off?), but make sure you’re not aiming at an enemy when you do it or it’ll just lock onto the new enemy. Unless that’s what you wanted to do, then great, that’s how you do that. When locked onto an enemy, their health will appear next to them and decrease in realtime, plus your bullets will fire straight at them, so you can see why it’s a handy feature. Plus, when you kill a locked-on enemy, it’ll automatically lock onto any nearby enemies. To aid your aiming, there’s a second cursor – the orange one is for locking on while the white one is the mouse’s actual position. I’ve yet to implement the white cursor for controller input, but it’ll be in the next update for sure. Oh, and the cursor sprite and animation is a lot fancier, too.


Mechanical Changes

The biggest gameplay change is possibly the addition of the Energy bar. There is a distinction between powerup energy and general energy, hence there two energy bars; the leftmost one, with the thunderbolt icon, will decrease when you fire bullets or slow down time and replenish when you move. The one on the right, with the arrow icon, starts off full when you pick up a powerup (try saying that five times fast), then slowly falls as you move until it reaches zero and the powerup expires. Health replenishes as you move as before, but at a slower rate, plus the UI is more reactive; being hit makes the health bar shake, and having low energy makes the energy bar shake more, the lower energy you have. Staying stationary also no longer stops time completely, but it slows it down a lot.

Shooting mechanics have had a bit of a mix-up too. Your bullets and enemy bullets don’t collide any more, as it provided an easy way to get rid of enemy attacks and there was no incentive to use the time-slowing mechanic to dodge bullets. However, you can now hold down the shoot button to start a hailstorm of bullets and wipe enemies off the map without me being liable for loads of repetitive strain injury lawsuits! To balance the increased shooting speed and the ability to lock on to enemies, your bullets do half as much damage, although in the next update I hope to add some system such as different bullet types that’ll let the player (and enemies) do more damage.

A few other changes are there, namely that rooms are much larger and the camera is zoomed out so the player can see further. It makes it slightly less confusing when you can hear you’re being shot at, since you can more easily see where it’s coming from by virtue of the threat actually being on-screen or only just off-screen, not a million miles away.


Yay low-quality GIFs! My computer is just bad at everything…

Bug Fixes

You know that game-breaking bug I wrote about in the last blog post? The one that means you couldn’t get past the first dungeon because you’re unable to move on its final floor? That’s been squished. There were also a couple oversights where the game would sometimes skip to the final floor when there was supposed to be another standard floor before it, but now the floors act like they should.

Bugs Implemented

There’s only one that I’ve actually found and can remember, and it’s not hugely important: on the character select screen, the player’s face appears blank. That’s because technically he’s looking upwards, and due the the fact the player’s at an angle in 3D space, the game doesn’t recognise the mouse position correctly and doesn’t face it. If you press the right stick on a controller, the player will face the correct way, but unfortunately the right stick’s rest position has the player looking upwards anyway… Swings and roundabouts, huh?


Meet the very introverted and shy hero of the game.

Next Update’s Priorities

Most of all, I hope to implement more enemy types. Right now, there’s only one type, and they share the same sprites as one of the character customisation options. They all share the same terrible AI too, so I’m going to at least attempt to work on pathfinding and give some enemies different attacking styles. I’ll also try to make more dungeon types and give more variety to the dungeons themselves – different sizes, shapes and maybe obstacles inside the rooms. Plus, I’ll try to finish the powerups that were originally planned for the Ludum Dare version and implement new ones – the ‘shapeshifting’ aspect of the game is a little bare currently. Finally, I still need to balance the floors’ difficulties and spawning rates of enemies and powerups, since it’s still very imbalanced.



Transcribe ~ WGD ‘Translate’ 48-Hour Jam

Last weekend was the WGD 48-hour game jam, which happens once every term. Because I hate sleep and love making games, I was there for ridiculous hours. The theme was ‘Translate’, so I made a little game in which you translate characters from one language to another.


It’s in 3D. THREEEE-DEEEE! *sparkle sparkle*

It’s a pretty simple game that took far too long to get working; you get given a word in one language (in the beginning, only English) and you’re asked to translate each character of the word into a different character set. There are four languages – English, Braille, Morse code and Nonglish (one I made up; it’s ‘not English’).  As you solve more words, the game gets more difficult – the words get longer and you’l possibly be asked to translate from a non-English word to another language. It gets seriously tense when that happens!


The interface for entering characters.

The difficulty of words is influenced by how common the characters of the word are in English text. For example, ‘e’ is weighted the least, while something like ‘x’ is right up there amongst the most difficult. The more words you complete, the more difficult the requested words will be. Your score can decrease if you select an incorrect combination of letters; if you make a wrong selection you can’t undo it, which may hinder you later on if the letter you accidentally picked is needed later on in the word! The only thing I forgot to add is a lose condition – the timer reaching zero was originally intended to stop the game, but I forgot to add this in. Silly me! The game just does… nothing when you run out of time. I’ll add that in if I ever complete this game properly!

A few drawback of the game are that it completely lacks sound and nice shiny particles and screen-shake when you get a word right or wrong. I also wanted a little score counter to come up for every character when a word is input so you can more visibly see which characters were correct and which weren’t. The game is simple enough that I may tweak it a little and polish it up in the future though.

To download this game, just click the very handy download banner below. Very soon, I’ll have another download up for the two-week jampetition game (which was made over summer and adapted in the two weeks), but it’s a much larger project, so a write-up may take a little while longer.


Radicool Trip 2 ~ WGD ‘Broken’ Two-Week Competition

The first thing I notice as I write this is that this is my 100th post on this blog! That averages out to a post every 10 or so days, so I really need to increase the frequency of my posts. I did want to do something special when this milestone came by, but I couldn’t think of anything I could do, so I’m just going to post as I normally would. Thanks to all my readers for supporting me up to this point! Hopefully there are many more posts to come. Also, I’m 13 days late with this post, since it’s the day before the two-week following this one. Ah well, I’m not known for my punctuality.

The themes for this jampetition was Broken, but due to an extra talk scheduled by the society, it lasted three weeks instead of the usual two. I guess that makes the title of this post quite misleading, but that’s not my fault! I decided to make a sequel to my previous game, Radicool Trip, although the gameplay is completely different. The game is also a sort-of 2D-3D hybrid, in which the world is 3D but you can only view the world from one plane at a time with an orthographic camera – that is, one that ‘looks straight’. It’s hard to explain, so here’s a screenshot:


I like how the psychedelic colours for the background turned out.

The flagship mechanic of the game, which is unfortunately very difficult to show off with images, is the ability to flip the world around in the X, Y and Z axes. Imagine Fez, but instead of just rotating the world left and right, you can rotate it up, down, clockwise and anticlockwise too. That’s what the UI in the bottom-right corner is for. The controls are a bit awkward, but it’s the only way to represent three-axis world rotations. I’ve tried this before unsuccessfully in a 3D game, so I was happy to figure out how to accomplish it. You can move the player left and right using A and D, or by flipping the world so there’s empty space below you. But beware, falling off the world will respawn you from the beginning of the level.


Of course I spent ages on text engines. What do you take me for?

A lot of the development time went on improving the text engine from Radicool Trip 1. It’s far more efficient and uses a better font than the previous engine. It’s also far easier to use, although I rushed the end of the game so it’s also very buggy. It worked out for the best though, because that made it fit the theme! There’s a bug where rotating the world and falling through two text triggers in a row causes them both to try and render at the same time, and another bug in the penultimate level that sometimes crashes the game inexplicably. I also set the wrong target level on the penultimate level’s goal so it sends you back to the first level, so it’s almost like some pretentious view on the repetitive, cyclic nature of life or something like that. But I swear it’s not.

I tried to write a bit of humour into the characters’ lines, although I also wrote them in about an hour before the jampetition showcase so it’s probably a little rusty. I’d really like to make an RPG of some kind at some point, so hopefully my shiny (yet broken) text engine will be of a lot of use for a project like that.

Anyway, you can find the game lurking in a corner of the internet somewhere! That horrifying corner is located on the very convenient link below.

The theme for the next two-week competition is Power, so you’ll very soon be seeing something I’ve been saving for a while. Plus, I’ll be posting about the WGD 48-hour game jam that happened this weekend even sooner; the theme for that was Translation.



Radicool Trip ~ WGD ‘Retro’ Two-Week Competition

It’s been a couple of weeks since the start of term, and with that came the return of Warwick Game Design’s Two-Week Competitions. I managed to cram a game into the past two weeks, and the result is Radicool Trip, a game where you’re an edgy 90’s kid with a slight addiction to a popular branded cola, Popsee.

radicool_01It’s exactly as dumb as it sounds.

It’s a short game, involving a trip from your bedroom to the shops. It was originally to be a sort-of puzzle platformer, but I spent so goddamn long on the text engine, it turned into a goofy text option-based… thing? I’m not even sure. It’s certainly not the most polished thing I’ve ever made, but it was enjoyable – the stupid 90’s references and jokes were fun to write. I like how the text engine worked out too; there’s room for improvement for sure, but I’ll most likely use it in future projects. Currently, the text system supports 6 rows of text with 14 mono-spaced characters each, but I’d like to add the ability to tweak the number of characters per row and switch from a purely mono-space font to variable-width fonts. I also hope to make the character controller feel better to control, as it’s currently a bit of a potato when it comes to jumping.

radicool_02Welcome to WGD.

The text engine also supported player choices in the form of small replies. The biggest pitfall of this is that each text box only supported one line of text – 14 characters – so replies were short. Plus, they obscured the actual text behind them. However, the concept of having different dialogue options and witty replies is something I’d like to build on, perhaps as part of an RPG.


Everyone loves options. Well, everyone has the option of liking options or not.

It’s an extremely short game (well, it’s basically just a tech demo of a text box), but I hope to take ideas from this into the next project. Speaking of which, the next WGD two-week competition is ‘Broken’ (with a side theme ‘Spooky’, for all the Halloween spookiness). I have plenty of ideas for it – I’ll most likely be going with a puzzle game I’ve wanted to make for a while, in which you have a world that can only be viewed from one side at a time using an orthographic camera. You’ll be able to view the world from different sides and rotate the world, but gravity will always act downwards so you’ll have to make sure the player doesn’t fall out of the world.

If you want to play Radicool Trip, you can try it out by clicking the flashy-looking button below. It’s short and there’s not much to do in it, but hey, it’s free!