Archive for April, 2013

Titan Attacks mobile – Developer Diary #4

Sunday, April 21st, 2013


game screen in iPad portrait mode

Once again, it’s been a while since my last Titan Attacks mobile developer diary – 3 months in fact! That’s due to a bunch of things such as:

- Re-launching Spring Bonus on mobile.
- Overseeing the mobile port of The Wonderful Wizard of Oz (it’s shipping soon.)
- Starting Techno Zombies as my January #onegameamonth but going way overboard and deciding to put it on the backburner for when Titan Attacks mobile is done.
- Making two other #onegameamonth games.
- Family illness (February was pretty much a write off due to colds/flus.)
- Going to GDC and having a week of unproductive jetlag when I got back.

At least when I was working on other games my Monkey game framework has improved a lot (Monkey is the programming language I use) as well as my knowledge of the language as a whole, which benefits Titan Attacks mobile.

Now I have an empty schedule, which feels nice, and have began working on Titan Attacks in earnest.

Here’s what I’ve been up to:

Controls

- Added a second finger to fire in easy mode but after showing it to Cas (designer of original Titan Attacks) we decided to make the alien parachute immune to your bullets so that we can stick with a single finger in “easy mode” instead.
- Tweaked the placement of the slider and fire button and their hit boxes to make it easier to move the ship right to the edge of the screen and to not clash with the fire button. This mode is still a bit awkward on iPhone so it’s likely that it’ll only be available on iPad, or if it is on iPhone, it will be an option only and “easy mode” will be the default.
- Fixed a bug where I couldn’t tap fire faster than the auto-fire. When I first saw this I got paranoid the game wasn’t receiving input fast enough and boosted the update rate to 120FPS instead of 60FPS, but was worried this could be really slow on old devices. Luckily now I’ve fixed it, I can safely go back to 60FPS.
- Had a meeting with Cas and decided to only support portrait on iPhone as there’s no where to put the slider under the game screen in landscape mode. iPad can support both orientations though.
- Made it so that you the slide range for easy mode (single finger) is smaller than the screen width so it’s easier to drag the tank right to the edge on phones.
- Made sure any finger can be used for positioning in easy mode and that the finger must be below the HUD to fire so it doesn’t clash with HUD button presses. Multi-touch controls are complex btw!
- Added device detection to framework and different default controls based on device.
- Added ability to flip the slider controls for left-handed people.

Testing

- Did a bunch of testing on iphone and verified that there’s no memory leak when changing screens. Pretty important as the iDevices have low memory and just bomb out if you use too much.
- Added an FPS Counter. Runs at 60FPS no problems at the moment, yay!
- Showed the game to some press and a bunch of indie friends at the Game Developer Conference in San Francisco. They seemed to agree with our control choices and commented that the game felt smooth.
- Looked into why touching a finger onto the iPhone doesn’t show the ship right above it. It goes to the right with a right hand finger and left with a left hand finger! Can’t do anything about it as it just seems to be the way iDevices detect your finger. It’s not a big deal though, I was just being perfectionist and wanted it to detect the exact middle of my finger.

GUI

- Added button hover and click sounds.
- Add clicked and mouse over graphic for buttons.
- Added the ability to transistion screens on/off in sequence or at the same time. The transition state is exposed to the screen to do whatever it wants with such as slide on/off, fade in/out, alpha fade over another screen, zoom in/out etc. It’s pretty cool.
- Added ability to slide screens on/off and used it on the in-game menu and options menu.
- Added screen fade out/in including the music.
- Added word-wrapping to my framework. Had to learn how Monkey handles string functions differently from BlitzMax.
- Made game detect device orientation change and reconfigure GUI to either portrait or landscape mode based on device size. This looks pretty cool and people seem to be impressed when they see it in action.
- Zoomed out the game screen for iPad Landscape mode and placed controls underneath. Works well, although we may have the game screen full size and integrate the controls with the ground somehow instead.
- Increased hit box for in-game buttons and title screen buttons/URL on iPhone.

Engine

- Added floating text particle support to my framework and made aliens give out a floating “10″
- Made sure all images and sounds are properly discarded instead of relying on Garbage Collection. I did this because I read that GC can’t be trusted on all devices and I need to make sure I’m not wasting any previous Megabytes of memory on iDevices.
- Coded AnimdDef and Animator classes and applied to Sprite class. Supports Once, Loop (several or infinite), Ping Pong. Also supports reverse and a non-zero starting position (can be randomised).
- Coded Animation class which is an array of AnimFrames so that animations can come from a collection of randomly placed images on a texture atlas. This means I can use TexturePacker and create 2048×2048 optimised textures with whitespace (alpha) removed so that I consume as least memory as possible on iDevices.
- Coded AnimationBank class to hold animations.

Game

- Added in a wall of aliens to test collision, particle effects and animation.
- Added some placeholder particle effects for when the aliens explode.

Next Up

My framework is pretty much done now and I need to focus on getting the game content added and working. That’s quite a big task because there are 100 levels spread over 5 worlds with many different aliens (and bosses!) all with different behaviours and special effects. I also have to add a shop and do more GUI work. So there’s still a lot to do.

Here’s what I’m planning on doing next:

- Make a loader that works with TexturePacker’s output format. Should be easy.
- Read in the animation xml files from the original game and make sure they pick the correct images from the texture atlases.
- Animate tank when moving.
- Make all different tank sizes, add ons and bullet sizes work.
- Read in the level files and display the correct aliens. (They won’t be using their correct behaviours as that is a whole load more code to be done later.)

Well hopefully the next developer diary will be pretty soon as I need to get this game done and out by the summer.

Grey Alien Games Spring Update

Wednesday, April 17th, 2013

So what have I been up to since my return to the UK in August 2012 and what is coming next?

Holiday Bonus GOLD

In December 2012 I released Holiday Bonus GOLD on PC/Mac/iPad/Android. I added 55 new levels and made some technical tweaks and released as a new game on some portals and as an update on others.

Sturdy Games also updated the iOS/Android version that they ported to mobile for me last year and we released Holiday Bonus GOLD as a new iPad/Android game.

Overall it did pretty well and has got me thinking about doing a GOLD version of The Wonderful Wizard of Oz.

Titan Attacks Mobile

In November 2012 I agreed to port Titan Attacks, by Puppy Games, to mobile. I’ve been working on this off and on due to other projects.

I’m using the Monkey coding language for the project and this means writing a whole new framework to support mobile games. The framework is basically done now though and I’ve had a basic test version of the game on mobile devices for a couple of months, which went down well when I showed it to people at the Game Developer Conference in March.

This is my main project and I’m working on it every day at the moment so expect to see another Developer Diary soon. I aim to release it in the early summer.

Artwork

I used to draw a lot in my youth but that fell to the wayside for many years. This year I decided to practice doing some digital art and I made a few quick “paintings”, first with a mouse, and then with a graphics tablet. You can see them here.

I’ve never done digital art like this and I was quite surprised and encouraged by the results. Since I made these paintings I’ve become a bit busy with other things but hope to get back to it soon!

One Game a Month

I signed up to the One Game a Month thing that lots of indie developers are doing. The aim is to release one game a month in 2013. You don’t have to spend a whole month on each game, just release a game a month.

My January game is an online remake of a math game I made back in 2010. You can play it here. Try to beat level 10!

My February game is called Cyber Citadel, but I cheated a bit and uploaded a shell game that I’ve since done a bit more work on. I’ll finish it and put it online soon.

My March game is a relaunch of Spring Bonus on mobile (more on this below). I’d have preferred to make a brand new game for my March game, but I just didn’t have time, especially as the Game Developer Conference consumed a week in March.

I haven’t started my April game yet and time is rapidly running out! However, I plan to make it during the Ludum Dare competition at the end of April.

In truth I’m finding it quite hard to do this alongside my main projects which pay the bills, and many of my indie developer friends question why I’m doing it instead of just focusing on some cool larger indie game, or more casual games. They do have a good point, but I feel a deep need to create a bunch of small games like I used to play and program as kid and I’m determined to complete this challenge.

Spring Bonus mobile re-release

Last year Sturdy Games ported Spring Bonus to mobile for me and Hothead Games published it on iPhone/iPad/Android/Kindle. It did OK but not great and they gave us back the rights to self-publish it this year.

This time I had to set up the In App Purchase items myself so that players could buy level packs, which I’d never done before. However, after a bit of wrangling we got it to work properly. Sturdy Games also fixed a couple of bugs and improved the image quality on some screens.

Then we worked with Appy Nation to get it promoted. They also asked us to add Chartboost to the game so that players of the free version see adverts in between levels, and that has worked out pretty well revenue-wise.

The game even got featured in “New and Noteworthy” in Europe which boosted it into the top 10 in the iPad Board Games category in many countries. Ultimately though, it’s not a big earner, which is a shame. Still it’s good to have it out there again and players seem to love it which is why it has so many 5 star reviews.

The Wonderful Wizard of Oz mobile

Lemon Moose Games have ported this game to mobile for me and it’s already been released for Blackberry.

I tried to get Big Fish Games to publish it but they only seem interested in Hidden Object Adventure games on mobile, which is a shame. However I’m in talks with a publisher at the moment about releasing it for iOS and Android, and it will also be coming to Windows Phone and Windows 8 soon too.

Techno Zombies

Techno Zombies was going to be my January “One Game a Month” but I got carried away making it and it was also pretty complex. So I decided to stop work on it whilst I get some other things out the way first, then after Titan Attacks mobile has shipped I’ll probably turn it into a Flash game that is more like a demo. Then I’ll put it on Kongregate and see what kind of reactions it gets and decide if it’s worth turning into a larger “indie game”.

I’ve put a few videos online such as this one that show early gameplay footage. People seem to really love the atmosphere even though I haven’t gotten round to adding techno zombies (think “cyborgs gone wrong”) yet!

Also I took it to GDC on my iPad and it went down well. It was good to see how people tried to play it on iPad and has given me several ideas for how to revise the controls.

I definitely think there’s a hardcore market of Dungeon Master fans out there who would play it if I finished it. However some developer friends have suggested that I should make better graphics for it instead of using my minimalist placeholder art so that it appeals to wider audience such as people who liked Legend of Grimrock, and this could be wise.

Anyway watch this space!

What’s Next in 2013?

First up I must finish Titan Attacks mobile, and ship Oz on mobile. Then I can decide what to do next.

If Titan Attacks mobile does well and generates enough money for me to keep going for a few more months, then I’ll either work on Techno Zombies or a new “indie” game for about 6 months and then release it on my site and also try to get it on Steam via my various contacts.

If Titan Attacks doesn’t generate enough money for me to keep going then I’ll make another casual game. I already have designs for at least two match-3s ready to roll. I know how to make these pretty well know and know they will make me money. This will then free me up to work on an “indie” game which is a bit more risky.

I’m also helping a casual game developer friend with the design of a new game which hopefully will come out before the end of 2013. I’m quite excited about the design of this game and I think it could do pretty well in the casual game space.

Naturally I’ll keep trying to bang out One Game a Month and it’ll be interesting to see what I’ve produced at the end of the year.

I’d also like to finish off my Dying To Live platformer at some point so that I can have a reusable platform game engine in my Monkey code framework.

Well it’s been a busy time since I’ve returned to the UK (I’ve counted 8 different projects in this post!) and it certainly looks busy ahead too.

Good luck with your own projects and wish me luck with mine! Thanks :-)