Saturday, January 30, 2010

Friday, January 29, 2010

Gamma IV Entry is Finished.

It is 4AM... and it is done. Also... the Global Game Jam starts tomorrow. ERgh. I am going to be wrecked next week.

I would like to present Unstable Radial! Beta Testers please apply to! It run's on Windows and OSX.


Update: Download from here.

Thursday, January 28, 2010

Gamma IV Entry Progress #3

Racing is really tough when you have to dodge exploding barrels...

And you have no control over the steering!

I've added some exploding barrels to my Gamma IV One Button Game. My eyes are so blurry now, I must sleep.

Wednesday, January 27, 2010

Python and iPhone Game Development - The RocketHands Team

The chaps over at RocketHands recently released a unique physics/action/puzzle game called RocketFuse. I know that the RH crew are all keen Python coders, so I figured it would be great to get an insight into how Python factors in their game development processes.

Now that you is getting into iPhone development, is Python still important for RH? How does Python factor into RocketFuse development?
Python wasn't a huge factor in RocketFuse because the iPhone platform didn't support python. (This might have changed since then but apple have some strange rules to do with development on iPhone). We did however use python and pygame to knock out a very smart level editor in record time. Another strange connection is that the library we used on iPhone is cocos2d-iphone. A port of a python game library that RocketHands have used on other projects, notable PuzzlePeeps, a gamejam entry.

EC: download at - or puzzle_peeps_linux32.tar.bz2 (Linux).

What exactly is RocketFuse all about?
RocketFuse is an innovative physics action game. You need to draw thrusters with fuses onto a Rocketship which is otherwise immobilised and trapped at the bottom of a cave. The fuses will burn down and the thrusters will ignite causing the ship to move in quite realistic but obviously cartoony ways. You can attach heaps of rockets on the ship to have it blasting all around. The goal is to escape the ship from a series of levels. You need to pay close attention to the number of thrusters you use and the time you take in order to unlock achievement medals for each level to properly finish the game. The game has a distinctive cardboard look to it which gives it some character above the generic sci-fi look.

Why do you use pygame?
Choosing pygame for the level editor was mostly due to a case of familiarity and speed of implementation. Most RocketHands programmers are very familiar and proficient with python as well as pygame. We especially like it for gamejam project because of the quick turnaround that is possible. (Example games from RocketHands members written in pygame: Ladybug Garden, Troll, Lurching Urchins, Dodgy Game, Under One Roof.
EC: download at -,,, or see the Under One Roof GGJ web site.

What other libraries to do you rely on?
Other libs we've used include Hafs game engine, Box2d, Chipmunk, Cocos2d for python and iPhone, psycho, XNA. We spread ourselves around and try to use the right technology for the task at hand :)

How else do you, or would you like to use Python?
RH uses python a lot for our gamejam activities, also for prototypes etc. (see the list above). If we could use it more easily for XBLA or iPhone development we probably would ;)

The RH Team are keen participants and supporters of the local GameJam community in Perth. In fact, they're participating in the upcoming Global Game Jam. I can't wait to see what they come up with.

Gamma IV Entry Progress #2

It's probably time to go to sleep, seeing as I have to work tomorrow... I'm happy with the holiday's progress. Track is complete, it looks reasonable, and 4 player mode is working. The cars are tuned for stability and maximum fun. I've finally got the hang of Unity3D wheel colliders.

I still need to add some AI for empty player slots, a lap timer and end condition checking. I also want to add some destructible props to get in the way. Exploding barrels anyone?

If I get time, I'll also add some random sheep to squish and run about.

Tuesday, January 26, 2010

Gamma IV Entry Progress

I had a simple idea, and spent an evening seeing if it would work. Having spent the last 30 minutes "play testing" with my neighbour, I can say that the game is definitely fun. It's a simple little racing game, with cool physics!

Hopefully I get time to finish this. I only have two evenings left before the deadline. It's funny how a stupid little constraint can actually help produce a creative solution.

Unity3D WheelCollider Tip #2.

Always adjust the centreOfMass attribute of the rigid body of your vehicle AFTER you've attached the WheelCollider components. Otherwise, the centreOfMass attribute appears to be reset, resulting in much unstableness (unless your vehicle is particularly well designed).

Depending on your objective, you probably will get the best results if you set the centreOfMass to just below your wheel axles.

Unity3D WheelCollider Tip.

If you're dynamically creating WheelCollider components in your game, make sure you position/transform the GameObject instance BEFORE you call AddComponent("WheelCollider").

Much frustration and question marks will be avoided.

Monday, January 25, 2010

One Button Compo

After reading Brad's post about his Gamma4 entry, I feel a little inspired to take part.

Hmm but I'm so busy and there is so little time left... Hmm tommorow is a public holiday after all...

Hmm indeed.

Sunday, January 24, 2010

Infiltrator - 1986

Another game which I never finished was Infiltrator, released in 1986. I'm pretty sure this game used a printed code book for copy protection, with black writing on dark purple paper, so that it wouldn't photocopy.

The game consisted of a short flight through enemy airspace in a helicopter, where you could choose to fight or fool enemy aircraft. After landing outside the enemy camp, you walked through the gates and had to avoid enemy guards. If questioned, you could show some fake papers or use a can of sleeping gas. Sleeping gas, handy stuff that!

I don't remember the point of this game, I think you had to go and take out some big boss or some such. Gameplay basically involved exploring buildings and avoiding getting caught by wearing enemy uniforms or using the sleeping gas. There were no guns or combat, just lots of sneaking around and hoping you didn't run out of gas.

Why didn't I finish this game? It used a very poor game mechanic, the count down timer. When the time runs out you had to repeat the whole flight/land/sneak/gas sequence again. This is a miserable way to add difficulty to a game. After the umpteenth restart, all fun evaporates.

Infiltrator was interesting, because it combined a few games into one. It was part flight sim, part action isometric, and it had a interior building exploration component too, which reminded me of the Spy Vs Spy games. Ultiimately, despite it's innovation, the game failed. The sum of its mediocre parts still summed up to a total of... mediocrity.

Saturday, January 23, 2010

Tyrian - 1995

The best game I ever played on my 486. Tyrian, followed by Tyrian 2000 4 years later. Tyrian is a very good 2D top down shmup, with plenty of ships, plenty of upgrades for different components and a pumping sound track.

What made this game especially awesome was the complex plot, detailed universe and the awesome 'meta' ending which I won't spoil for you here! :-)

Tyrian had heaps of different ships, with unlockables spread throughout the game. You could fly a Stealth ship, and load it up with a ninja star weapon. Or, you could unlock the carrot ship, and obliterate the opposition using flying bananas. I tell no lie.

Despite the awesome gameplay, the thing that makes Tyrian memorable for me is the extra stuff they gave you. Hidden away in the game files was a jukebox, which let you play all the game tracks with a cool particle effect display driven by the music. And, if you completed the game (with the carrot ship?) you unlocked a completely separate scorched earth type game, which was rather cool, and multiplayer.

Friday, January 22, 2010

Best iPhone Case on the Planet!

I've just a bought a "Fuel" case by case-mate. I am certain that this is the best iPhone case I've ever seen.

It provides a whopping 2300 mA of extra battery power. This almost triples my average battery life. Pure awesome. The best thing about it, is that I now get to turn on notifications, push email and all that other battery consuming goodness. I can even play Avatar - The Game for longer than 90 minutes! :-)

Lucky for us Perth folks, the only authorised dealer in Australia is located in Perth at 269 Great Eastern Highway in Midland. If that's a long trip for you, it may pay to call first and make sure they have them in stock (9274 7111). Tell them Mr Wittber sent you. :-)

Oh yeah one other thing... the USB jack is on the SIDE of the case. Much better than on the bottom IMO, but it might  limit what car phone holder gadget you can use... if you need such a thing.

World Class Leader Board Golf - 1988

An early competitor to the Link series of golf games was the Leader Board franchise, published by Access Software. This game was awesome for many reasons.

Notice the RealSound logo in the bottom right corner? That's right, this game had brilliant sounds, all coming through the PC squeaker. The ambient sound included various bird tweets, wind and trees. You could almost feel the sun on your face. Well, not really, but you get the idea. The running commentary on the game was brilliant and varied, digitised in the the same way as the ambient audio. I remember hitting a hole-in-one on hole #3, and being rewarded with overwhelming applause from the squeaker. That was the only hole-in-one I've ever scored, in real and virtual golf. :-(

The next thing you'll notice is the rendering engine at work. On my PC XT of the time, the rendering process was not double buffered, and slow enough that you could see how the scene was rendered in real time, using the painters algorithm.

First, the grass was drawn, then distant trees, and finally the close up trees and shrubs were rendered. It was not using a sprite system for the trees, as they were slowly drawn from the ground up, line by line. I'm not exactly sure, but I think the rendering engine may have been rasterising a model of the course, as it could draw the course from wherever the ball landed.

A great game, with a course editor included. Not a bad effort for 1988. Interestingly, this is the first time I've seen the game in colour; I actually played through this game in glowing tones of amber.

Thursday, January 21, 2010

Arcticfox - 1986

One of my favourite games from my misspent youth was Arcticfox. It worked very well on my 320x200 CGA powered laptop of the time.

The premise of the game involved the player being deployed to Antarctica in a tank to repel the invading aliens. The tank had a regular cannon, a player guided missile, and could burrow into the ground to hide from enemies.

Enemies included small and large tanks, speeders, gliders and IIRC some different types of turrets. A favourite strategy involved firing a guided missile, then burrowing into the ground (safe from enemies) while you flew the missile into a target, or used it to survey the area.

The game was quite notable for its use of a 3D polygonal rendering system. This is quite an impressive feat considering the game was running on 4.7MHz processor, in 512k of RAM. I guess the developers made their job a little easier by only using a small part of the screen for the 3D display.

I can't remember finishing the game, though I do remember finally finding the Alien fortress in the centre of Antarctica, and firing a few pot shots at something that looked like a control tower. After that... my memory fades.

Wednesday, January 20, 2010

GGJ Perth in trouble...

Unfortunately I've not secured a venue for the GGJ. With 9 days left, things are not looking hopeful.

It could be that GGJ Perth will not run this year. I'll delay making that decision until later this week.


Barbarian - 1987

Who remembers Barbarian? I obtained this game in... 1993? By then it was already an old game (published in 1987), however my computer at the time only had a 4 colour CGA card, so my game choices were limited.

See the row of buttons down the bottom? If I recall correctly, the player had to select the action button required, then press the fire button to execute the action. This made the game very hard. I never finished it. In fact I gave up after a few days.

I remember restarting many times, trying to get the bow (pictured above) as it seemed to make the game a little more tolerable. Unfortunately, failure was rewarded by a restart, which just added to the frustration.

Thursday, January 14, 2010

GGJ venue in doubt...

I'm having some trouble securing a venue for this year's GGJ. Due to the Perth GGJ being a purely volunteer run effort... yeah it's just me... with very limited funds, I need a sponsor to provide a venue.

Any suggestions are welcome.

Telstra are supplying free wireless net access via a NextG modem, so we could in theory meet at the beach each day. Now wouldn't that be novel.

Wednesday, January 06, 2010

Delete iTunes Duplicates using Python.

Update: Hmmm, this seems to screw up the iTunes library. Don't run this!.

A rather quick and dirty script I wrote to delete duplicate songs in my iTunes folder. If you run it from your home directory, it creates a shell script which will delete the duplicates.

Make sure you inspect the shell script before you run it!

import os

filenames = dict()
for root, dirs, files in os.walk("Music/"):
for fn in files:
filenames[fn] = os.path.join(root, fn)

print len(filenames), "files."

names = set(filenames.keys())
dupes = set()

for fn in filenames.keys():
if fn[-5] in "123456789" and fn[-6] == " ":
on = fn[:-6] + fn[-4:]
if on in names: dupes.add(filenames[fn])

print len(dupes), "duplicates."

open("","w").write("\n".join('rm "%s"'%f for f in dupes))


I'm trying go get more organised and methodical in my approach to development.

I've found two great tools to help me out. Google Tasks which is great for day to day organisation.

The other tool is a mind mapper called Mind Node. It has a great free version and excellent keyboard shortcuts. I think this sort of tool is great for trying to specify the vague nature of a "game design", especially for small teams.

Popular Posts