About grayhaze (twitter: @grayhaze)


Ludum Dare 35
Ludum Dare 30
Ludum Dare 29
Ludum Dare 27

grayhaze's Trophies

Hacker Newser
Awarded by udo
on August 29, 2013

grayhaze's Archive

Shifty’s Keyboard Ghost Buster

Posted by (twitter: @grayhaze)
Wednesday, April 20th, 2016 5:03 pm

After a bit more tinkering, I’ve uploaded another accessibility bugfix version of my game Shifty’s Shape Escape which allows for switching between a set of different keyboard control layouts. This should hopefully put to rest all the issues people have been having with keyboard ghosting preventing more than three keys being pressed simultaneously, as it includes three different layouts for each of QWERTY, QWERTZ and AZERTY keyboards, a numpad layout, and a “universal” layout which uses Tab, Shift, Backspace and Enter. If you had issues with ghosting before, give one of the alternative layouts a try and let me know how you get on.


Keyboard Ghosting Issues

Posted by (twitter: @grayhaze)
Monday, April 18th, 2016 11:03 am

Despite my best efforts, my entry Shifty’s Shape Escape has presented issues for people using non-English keyboard layouts and keyboards on which certain combinations of simultaneous keypresses don’t register due to ghosting.

See https://www.microsoft.com/appliedsciences/content/projects/KeyboardGhostingDemo.aspx) for more information on this.

As a result I changed the controls from “Q”, “W”, “A” and “S” to “Q”, “P”, “A” and “;”, which has at least enabled people using Macs to play the game, but has had the side effect of rendering the controls difficult or broken for those on non-English keyboards.


Obviously a way to solve this with more development would be to support keyboard remapping within the game, but that luxury wouldn’t be considered a bugfix. I’m interested to hear thoughts from anyone else who has tried implementing keyboard controls where more than three keys can be pressed simultaneously, and if there’s any configuration which would work universally for my game. Note the controls need to represent four diagonal corners, so arrow keys or WASD wouldn’t solve the problem and likely would suffer from ghosting issues anyway.

Let me hear your thoughts on the issue, and your experiences with the controls in my game!

Shifty’s Shape Escape

Posted by (twitter: @grayhaze)
Sunday, April 17th, 2016 5:16 pm

Well after spending only around a day on this, I’ve actually ended up with a more complete game than my previous efforts:

Shifty's Shape Escape - Title Screenshapeescape2

For a nice change, the idea I had came together pretty much how I intended. There’s obviously still a lot of polishing that can be done, but for once I managed to squeeze in full sound, a tutorial and at least some nice graphics.

Have a play and let me know your thoughts!

Base jumping shapeshifter

Posted by (twitter: @grayhaze)
Sunday, April 17th, 2016 8:01 am

I’ve started to flesh out the game mechanics so that Shifty does more than just throw shapes. Still placeholder graphics, but he’s now doing what he’s meant to do – base jumping through a building with dangerous shaped floors.


Smooth Shifty

Posted by (twitter: @grayhaze)
Sunday, April 17th, 2016 5:03 am

Back working on Shifty this morning and have things looking a lot smoother. Now to actually build the game around him. 😉


Shifty shapeshifter

Posted by (twitter: @grayhaze)
Saturday, April 16th, 2016 5:22 pm

Started messing around with something late in the day after banishing a migraine. Not sure if I’ll go any further with it tomorrow, but needed to get an idea down.


Developing my entry into a full game

Posted by (twitter: @grayhaze)
Sunday, August 31st, 2014 2:59 am

I’ve started work on developing my entry ‘Bound‘ into a full game. This isn’t the first time I’ve tried to develop a Ludum Dare entry further to make a full game, as I also started doing so with my first entry ‘Birth‘ after LD 27. But this is the first time I’ve had a clear vision for how the final game will look and play.

I thought some of you might be interested to see my current progress in developing the visual style of the game:



There are obvious comparisons to be drawn with Super Meat Boy, but the little slime guy in my game (currently called Nomnom) has a slightly bigger range of movement options to Meat Boy, being able to stick to and walk across ceilings for limited periods of time. The tile graphics are still very much a work in progress, but the character is coming along nicely.

I’ll shortly be starting a development blog for this game on my new site http://cavycade.com, so if you’re interested in seeing how he progresses come along and have a read. In the meantime, if you’d like to have a play of my admittedly incomplete entry for the contest, take a look here. You can at least get an idea of how Nomnom will control in the final game.


Game platforms

Posted by (twitter: @grayhaze)
Friday, August 29th, 2014 2:15 pm

As I’m working my way through the entries for LD 30 I’m noticing that fewer games are being made in a format which is playable on the web these days. As I’m often short on time and dip in and out of rating entries, taking the time to download, virus check and run an unknown executable file isn’t really viable for me. I also alternate between working on a Windows machine and a Mac, so it’s not always possible to play the majority of Windows-only games. I therefore tend to gravitate toward those entries that have a web version and ignore those that don’t.

What are other people’s opinions on this? Are you turned off by games in a particular format? What holds you back from creating web-based versions along with executables?

Having said this, I have personally started uploading Windows versions of my entries to go along with the web versions, as I know there are likely to be people who feel the opposite way. If you’re looking for a good 2D game framework which compiles to the full range of platforms (Flash, HTML5, Windows, Mac, Linux, Android, iOS and more) I’d recommend taking a look at HaxeFlixel, a popular port and improvement of the original Flixel for Flash written in Haxe and using the OpenFL framework. You can develop your games on Windows, Mac or Linux and usually create versions for other platforms with little to no changes.

Bound Postmortem

Posted by (twitter: @grayhaze)
Monday, August 25th, 2014 2:57 am

I came into the competition with a pretty good idea of what I wanted to achieve this time, but as usual spent most of the first day researching and struggling to get a prototype working. My initial idea was that I would create a split screen game with one side being a Sokoban-style game where you push coloured blocks into a specific configuration. On the other side of the screen you would control a platform game made up of level chunks of the same colours, with those chunks moving around as they’re pushed around on the other side. The idea would have been that in order to reach subsequent blocks in the pushing game you would need to collect matching keys in the platform game.

Then I decided I’d go for procedural generation…

The first day was spent building a modular procedural platform level generator, the results of which can be seen below:



Each block is generated from a random template selected from a pre-defined pool, with the overall level layout also being random. Openings are made between the blocks to allow the player to progress.

While I was pleased with the results, I realised on Sunday that the shapes of the levels were just too random and non-uniform, making generation of the block pushing levels extremely difficult. I also realised part way through the day that I’d spent far too long on the level generation and almost no time on the game itself!

After a bit more research I realised that generation of Sokoban-style levels was just too complex and computationally expensive to make it viable – also nobody had really generated Sokoban levels with locked doors and a final configuration where specific blocks would sit on specific pads. I therefore needed to come up with an alternative approach.

While I started work on the platforming mechanics, I came up with an idea of the block pushing part of the game actually being a sliding tile puzzle. Unfortunately Castlevania got there first. So my second choice was a tile-swapping mechanic similar to Bejewelled, but with the ability to freely swap any two adjacent tiles. This would make it possible to navigate through the level in a variety of different ways, but would require that all levels were square or rectangular in configuration. I therefore spent a bit more time on the level generation code and came up with a system which always generates a rectangular grid of blocks, with a clear start-to-end path and occasional side rooms to fill the gaps.

Unfortunately time was running out, so I focussed on the platforming mechanics for most of the evening and ended up struggling with working on them until around an hour before the deadline. I ended up with some pretty solid mechanics, but still had a static level configuration and no clear way to progress. Thankfully I’d already written the level code in a way that made it easy to just randomly swap blocks every so often. I quickly put together a coin collecting game, where collecting all coins would move to the next level and threw in a title screen. The end result is Bound, which you can play here.

bound1 bound2

(Please excuse the poor quality of these GIFs… the game looks slightly better!)

I’m pretty pleased with the final game, even if it’s not quite what I had in mind. The platforming mechanics are solid and, despite some frustrating pauses as you wait for the level to reconfigure itself so you can progress, I feel it’s pretty fun to play. This is the first platform game I’ve ever made, and I basically made the engine from scratch without using any of the built-in tile drawing or level collision code of HaxeFlixel. Yet again I find myself in a position where I want to continue working on my game after the competition has ended! I’d especially like to get the split screen stuff working and get rid of the randomness of the block switching.

Bound – Play Now!

Posted by (twitter: @grayhaze)
Sunday, August 24th, 2014 5:57 pm

Well I managed to finish something, even if it wasn’t quite what I was aiming for! Enjoy! :)



Bound – Level Generation

Posted by (twitter: @grayhaze)
Saturday, August 23rd, 2014 3:10 pm

After a late start this morning, I’ve spent most of the day working on procedural level generation for my game. You can see some of the results below:


In the final game, each coloured block will be a stand-alone module which can be moved around to open up the path from the start (the red block currently) to the end. Currently the path is pretty linear, but I have the individual blocks generating using a template system from eighty different designs. The levels vary in length and complexity.

I’m not sure I’m going to have time to finish the actual game, but learning this much has been pretty fun so far. I have a very definite idea of how the final game should work, but there’s a huge amount left to do. The blocks you see here make up a platforming level, with controls similar but not identical to Super Meat Boy. The screen will be split into two, with a character on one side pushing the blocks around while the character on the left tries to navigate through them.

Almost, Bob, but not quite

Posted by (twitter: @grayhaze)
Sunday, April 27th, 2014 3:36 pm

So I failed to finish my entry, but I feel like I’ve learnt a huge amount over this weekend. What I currently have is a fun little physics sandbox without an endgame.

Screenshot 2014-04-27 23.28.11

Click here to see my (unfinished) entry!

If I’d had more time, here’s what would have happened to Bob as you held him under:


You had a lucky escape this time, Bob.

Time to die, Bob

Posted by (twitter: @grayhaze)
Sunday, April 27th, 2014 5:19 am

I took a bit of a detour and added some background animation, along with an easy first level to demonstrate the concept. I also knocked Bob’s teeth out, as my wife didn’t like them. Poor Bob.

I still need to actually make Bob drown, but that should be pretty straightforward now I have the level set up. The sky above the water actually has collision detection on it, so all I need to do is start a timer when Bob stops colliding with that area and freeze or reset it if he comes back to the surface. He also needs to go purple over time.

Poor Bob

Posted by (twitter: @grayhaze)
Sunday, April 27th, 2014 2:53 am

I made a little more progress with Bob yesterday, implementing the ability to pause the physics to allow the player to move objects around. This likely won’t be the way the final game works, but it allows me to easily test which combinations of objects work best for drowning poor Bob.

The next thing to add is the timer and animation for Bob running out of air, then I’ll move on to building some levels. I’m still not convinced I’ll have time to finish this today, as my herd of guinea pigs need their cages cleaned.

Early test – Bob

Posted by (twitter: @grayhaze)
Saturday, April 26th, 2014 12:35 pm

I haven’t managed to get much done on my entry today, and I’m not sure if I’ll have the time to actually complete it, but currently I have physics working and some very rough placeholder sprites. The aim of of the game will be to hold Bob beneath the surface until he drowns by using the props available to you on each level…

One Rescue

Posted by (twitter: @grayhaze)
Sunday, December 15th, 2013 5:37 am

I started out with an idea that I thought could work and wouldn’t be too difficult to finish in time, but ended up falling at the first hurdle and giving up after a few hours of frustration. I’m not sure I’m cut out for rapid game development, as I’m so fussy about the details that I need time to polish and tweak my games.

If anyone else wants to grab my idea at the last minute, it was going to involve you being in a helicopter crash in remote wilderness with one other survivor. The other guy is seriously injured and you have to keep him warm over the course of one day and night with nothing more than a single match with which to start a fire. The game was going to involve balancing keeping the fire going with exploring the surrounding area to gather wood for fuel. If you strayed too far from the fire for a period of time you’d start to freeze, but as the day goes on you need to venture further and further to find resources as you deplete those closest to your camp. As night falls, you need to carry a torch with you, which takes a little fuel away from your fire and burns out after a short while. If you succeed in keeping your companion (and yourself) alive for the night, rescue arrives in the form of another helicopter.

The issue I had was trying to come up with a good way of handling multiple light sources in HaxeFlixel, as it seems it’s really not suited to doing this through masking. Next time I’ll make sure I choose a game set in the daytime.

[cache: storing page]