Archive for the ‘Game Development’ Category

Maze Generation code in Monkey

Monday, December 30th, 2013

Click image to see it full size

I decided to add a random maze to a game I’m working on called Cyber Citadel (coming soon).

I’m using the cross-platform Monkey language and thought I’d post the code in case other people found it useful. The code uses a stack and a recursive backtracking algorithm.

I going to make One Game a Month in 2013

Saturday, December 22nd, 2012

I’ve decided to join in with One Game a Month, organised by McFunkypants, in 2013. A while ago I was thinking how cool it would be to make one game a week but that is probably a bit too hardcore for my current life setup with a family and the need to earn money to survive, so a game a month sounds much more doable for me.

Why do I want to do this?

The most fun I had coding was probably when I was a kid/teenager. I did a “gamejam” most weekends with a friend and also made games all week long as my hobby (after school). I want to relive that experience and explore some of my favourite genres with modern technology and with better programming skills. I’ve been meaning to do it for years but not been able to justify it due to working on money-earning projects to feed my family. However, my situation has changed slightly recently and it will afford me a bit of freedom for the first time in a long time.

How long will I spend on each game?

I won’t be spending a whole month on each game. I’ll just make sure I produce a game a month. Some of them may just be 1-2 day games, which is fine, and others may take longer. Some of them may be publishable on iPhone/iPad and others may work well as Flash games. After I have 12 games done I may find that one of them really excites me and might continue working on it and turn it into a bigger project. Basically I’m thinking of it as a year of producing 12 prototypes.

At the start of the year I have to finish porting Titan Attacks to mobile, and later in the year I’ll still continue to work some casual games and Dying To Live so that I don’t run out of money. So these 12 games will be side projects alongside my main work. I’m pretty confident I can do it now that I’ve committed to doing it :-)

What language will I use?

I’ll most likely use Monkey for all the games. It’s a powerful cross-platform OOP BASIC-style language that is best-suited to 2D.

I’ll probably also learn a lot more about game design along the way, which will be fun!

Will I use a framework?

I already have a basic game framework in Monkey that is improving as I work on Titan Attacks. I’ll use it and improve it as I write the 12 games and so by the end of the year it should be pretty good and ready to roll for more commercial games.

I don’t necessarily advise other people write a framework as it’s easy to get bogged down in such things, so don’t do it if you don’t want to. However, if you write each game using as much common code as possible, by the end you could have a pretty decent reusable framework…

Are you entering the challenge too?

Let me know in the comments. And good luck to you too! :-)

iOS Devices Research

Sunday, November 4th, 2012

I’ve already shipped 2 games on iOS: Holiday Bonus and Spring Bonus. The 3rd title (The Wonderful Wizard of Oz) will be ready for testing soon.

So I’m building a list of what iOS devices exist to figure out what I’m planning to support because things have changed a lot in the last year.

Devices I plan to support

- iPhone 3 (not supporting this, its ARMv6 CPU is too slow)
- iPhone 3GS faster ARMv7 CPU
- iPhone 4 retina display
- iPhone 4S retina display and faster
- iPhone 5 retina display and longer screen (16:9)
- iPad 1 slow
- iPad 2 faster
- iPad 3 retina but slower than iPad 2 due to 4x pixels to draw
- iPad 4 retina and faster
- iPad Mini same as iPad2 hardware


- iPod Touch 3th gen comparable to iPhone 3GS (32Gb and 64Gb. Watch out for 8Gb which is a 2nd Gen in disguise.)

- iPod Touch 4th gen with retina and comparable CPU/GPU hardware to iPhone 4 but same 256Mb RAM as 3S

- iPod Touch 5th gen retina display and longer screen (16:9) but not iPhone 5 hardware, more like iPhone 4S inc. 512MB RAM

Hope this list is useful to other devs wanting to see the lay of the land.

Ideal test devices

[EDIT] OK I’ve added my ideal list of test devices (without having to own one of everything):

- iPhone 3GS (256Mb RAM, slow, non-retina)
- iPod Touch 4G (for retina with only 256Mb RAM)
- iPhone 4S just because it’s my current phone and is nice.
- iPhone 5 in simulator to avoid buying iPhone 5 or iPod 5th gen
- iPad 1 (slow)
- iPad mini (compares to iPad2 but has smaller screen)
- iPad 3 (retina but slowish)
- Don’t need an iPad 4 yet

Please let me know if I’ve got anything wrong or should add anything else. Thanks!