Saturday 4 October 2014

New Game Mechanic

I've got the new game mechanic working and it adds a whole new dimension to the game. Here's a clue as to what to expect:


Sunday 21 September 2014

Thought I'd add some detail from the development process. Here are a couple of images showing how the levels are constructed:


They are built in 3D to give the parallax effect of the backgrounds - although the camera is locked to a 2D plane, it's still doing all the usual perspective projection stuff.

You can also see the culling grids that I use to keep the processing of the backgrounds as efficient as possible. I haven't really had much feedback on performance - I'd be interested to know how the game runs on different devices.

The circles visible around the hooks are a guide for spacing grapple points - it's important to get this right because it has a big impact on the flow of the game. Not sure I got it right on every level.

All of this is output to a level xml file that the game loads.

When I came up with the design of the game, one of the interesting things for me was that you mostly start at the top of a level and finish at the bottom. This is opposite to how most games work but is a natural consequence of gravity being the driving force of movement through the level. I can't think of any other games that use this approach - I'm sure there are plenty, though - no such thing as an original idea, especially in the world of apps.

Saturday 20 September 2014

Here's an idea of the theme for the next set of levels. I'll refine the look as I go, so it might end up being a bit different. I'm also introducing a new game mechanic, but I'll keep that as a surprise.


Thursday 18 September 2014

I've decided to put a free demo up on Google Play. You can get it by clicking the link on the left. If it's not there yet, try again later.

I hope you like it!

Tuesday 16 September 2014

I've submitted a small update to Google Play that changes the minimum Android version to 2.2. It was 4.1 before. This should open the game up to more devices. If there are any issues, let me know.

Update: Fixed a bug on older Android versions.


Sunday 14 September 2014

Published!

I've published the game to Google Play. Apparently it might take a while to appear but I'm really excited at the prospect of people getting to play it. I've put it up as a paid app because I hate adverts and I hate in-app purchases and I really hope it can do ok without needing to use those options.

If you have any problems, comments or suggestions for future features, please let me know.

I hope you enjoy it!

Now, it's on to creating the next set of levels...


Monday 8 September 2014

Finished! (sort of)

I've finally got to the point where I feel I can release the game! I won't say it's finished because there is so much I still want to add, but it has enough in it to call it a complete game. I want to keep a steady stream of new content coming for as long as people want it, the first update will be a new set of levels with a new theme. Following that I have a list of features I want to add like:

Moving grapple points
Breakable grapple points
New block types e.g. TNT
Animated backgrounds
etc. etc.

Whenever I add a new feature, I'll create a new set of levels using that feature.

Hopefully, if people play the game and like it, I'll get some feedback on what people want adding in the future.

The last thing to do is get it submitted to Google Play. When it's up on the store I think I'll write a full post-mortem of the development process.

This is the promo image I've prepared:


I might simplify the text a bit to make it more readable at smaller sizes.

Monday 1 September 2014

New Levels

Forgot to mention the theme for the new levels. I don't want to give everything away so here's a clue:


Nearly There...


I've added loads of new stuff - all the sound fx are in, the music is in, tutorial levels, more levels...

After I made the game too easy by making it nearly impossible to fall, and then making it a bit too hard by making it really easy to fall, I had the brainwave that I could use these different approaches as a kind of difficulty level to ease people into the game. So, the game starts with it being nearly impossible to fall-off and then introduces the concept of being able to let go if you want to. It's still pretty tough when you get to the levels where you can fall off, but at least it shouldn't immediately put people off. Since the game is based around swinging and hanging, I thought it would make sense to repeat this theme through the front-end. Everything uses the idea of what I call hangers. You can hang lots of visual elements off them and they're simulated by the physics. Here's how the Level Select screen looks with this approach:


It's more interesting when it's all swinging about.

Here's a screenshot from one of the early tutorial levels:


As you can see, it's got the basic instructions as part of the background.

And here's another later level:


I've gone with a very simple hand drawn style. I found it's important to keep things as simple as possible or the screen can look too busy. This is especially important if you have a small display.

It's nearly done. Just a few more levels to make...

Sunday 13 July 2014

I had a go at making a full level and came to the conclusion that I'd made it too easy. Back when I added the grapple points I thought it was too hard, so I made it so the robot wouldn't let go unless there was a grapple point close enough. That made it virtually impossible to fall off resulting in a lack of challenge. I've changed it now so tapping will make the robot let go and tapping again makes him shoot an arm to the nearest grapple. This makes it much easier to fall off, but also makes it more fun as you have more freedom in how you swing around the level. I'm pleased with the result but I think there is a danger of people being put off too quickly, so I'll need to have some good tutorial levels or some mechanism to keep it simple on earlier levels.

I've also added some enemies that will appear if you hang around in one place too long. They're based on some unusual family allergies.


If you're not swinging quickly enough when one of these collides with you, you'll get knocked off.

I've also added an exit from the levels in the form of a builders rubbish chute. You just have to drop into it to finish the level.

Lots of other bits and pieces have also gone in. The end is in sight now...

Thursday 29 May 2014

Added the sound effects manager. Spent ages trying to work out why it wouldn't play any sounds. Finally discovered the SoundPool is a bit choosy about the format and size of sound files it will play. Changed my sound to .ogg format and crunched it down a bit and it's all working fine now.

Monday 26 May 2014

I've also had a stab at a high-res version of the icon for when this finally goes up on Google Play

It's been a while so I thought I'd do a quick update. I've added a lot of the game functionality now. I have stacks of blocks that will collapse if you hit them. They are stacked in a hieratchy, so if you take out the bottom blocks, the whole lot will come down. This will form a sort of puzzle element where you need to drop some blocks to break them - I haven't fleshed that bit out yet. Also, got the level start sequence in place and the way the bonus stars appear in the arc of your swing if you are swinging in a nice rythm.

Started roughing out some ideas for the early tutorial levels. I'm going with a sketchy blueprint style as that seemed to fit. Still all WIP - hopefully I should have a complete level in the next week.


Monday 5 May 2014

Added the initial functionality for pickup bonuses and simple VFX. I had the idea that when the bonuses appear they will sketch themselves in. That's why there's all the sketch stars in the screenshot. It's a hand drawn animation which is a style I might adopt for other things. When they finish appearing they will take on a more solid form, but I haven't got round to that yet.

I've been having some issues with the garbage collector triggering more often than I'd like. I tracked one problem down to me creating a new matrix array everytime I drew a sprite - which was alot of matrices. I fixed that one, but there seem to be some less frequent ones still cropping up now. I'll track it down.


Thursday 1 May 2014

Added some placeholder music. I wanted to test if it had any impact on framerate. Seems ok at the moment. I fell into the trap of the garbage collector collecting the MediaPlayer and killing the music. Fixed by making the scope more global.

Also have a company name and logo:


Saturday 26 April 2014

Got the scores and title screen roughed in. Things will probably slow down a bit now but hopefully I've built up a bit of momentum...
Based on playing with the fixed grapple points, I've made it harder to miss and fall. Also, the game always picks the nearest grapple point to where the robot is - it had been using the touch position. This makes it much simpler to just swipe and tap anywhere on the screen which should work better with different display sizes.

Friday 25 April 2014

Grapple points are in! They are currently static positions - I have big plans for moving grapple points, breakable ones etc, but I thought I better take it one step at a time.

What adding these has revealed is that the game could easily get too difficult. At the moment, if you try to grab a grapple point that is out of reach, you fall. This was fine when I was just grappling to any position you touch on the screen, but becomes annoyingly tough when you have fixed points.

I want the game to be accessible and fun, so I'll need to remix the ingredients to get the balance right.

The next thing I need to decide is what the goal is...

Wednesday 23 April 2014

Level Manager


Finally got some time to work on this. I've added the level manager, so now I can have huge sprawling levels without killing the CPU with trying to render loads of off-screen sprites. I ended up implementing it as a set of configurable culling grids that sit at a given depth in the world. Because the game is largely 2D, I can split the scene into discrete slices and add a culling grid for that slice.
Each cell in the grid holds a list of sprites that cover that cell. I then just find which grid cells are visible using a sort of simplified frustum cull - as far as OpenGL is concerned the game is 3D.

I also created a simple level setup tool that I can use to quickly layout a level. This is on the PC and will not be part of the final game.

Next step is to add the actual elements you can grapple...