Phil Hassey - game dev blog
Phil Hassey as Wolverine
"What kind of
arrogant jerk
has a website like this?"

Archive for the 'gamedev' Category

Galcon Flash has arrived ..

Tuesday, June 23rd, 2009

So .. Yeah.  Check it out.  Realtime multi-player game .. in flash!

So on a more technical note .. The game involves quite a number of technologies!

  • AS3 – of course – for the Flash client itself
  • C++ – for the server
  • PHP – for the web API and rankings system
  • python – for the bots

If I did the project over, I’d probably do the server in python as well.  But all in all the project went pretty well.  After things were done, it only took me a morning to write up the python client.  There’s a very good chance I’ll release that code in a few weeks and let people try making bots for the game.

Anyway – have fun checking it out.  I’m a bit wiped out from wrapping all this up, so I’ll try and post some more interesting details later!


RC1 ..

Monday, April 6th, 2009

So .. After recovering from GDC, I’m working on wrapping up my “new game” .. Which is in RC1 tonight.  Hope to package it up and ship it tomorrow with a hopeful launch date of next week.  I gotta get all my press materials together tomorrow so that when it does launch I’m ready.  Here’s a checklist of things I need to get together:

  • Website ?
  • Game page
  • More games page (linked to from game)
  • Newsletter announcement
  • Blog announcement
  • E-mail announcement for reviewers
  • AdHoc build with comments for reviewers
  • Get a banner ad ready & pay for ad slot
  • Description, title, screenshot, icon for AppStore
  • Game assets / screenshots for reviewers
  • YouTube video of gameplay
  • YouTube video trailer
Man .. these launches take a lot don’t they!  At least I’ve utilized my blog here to list all the things I plan on preparing.
So starting Wednesday I’m working on a iGalcon update *finally*.  I’ve got the most demanded features figured out, so I hope to package it and send it to Apple come Monday.  Fun bit is the game will probably be available on the AppStore during my sister’s wedding.  So .. I have to make sure all my announcements are all prepared a week in advance so I can “launch” my update with about 5 minutes of button pressing when I get the notification from Apple.

I can has flash?!

Thursday, March 12th, 2009

So .. who thinks flash + Galcon = win?  I don’t know yet, but I’m giving it a try.  I’m not actually developing the flash version.  An awesome friend of mine has been doing the time on this one.  Though I’ll probably be doing the LAMP end of the deal.  At present the game is non-networked, but we’re been considering the possibilities.  A TCP/IP edition of the game could be made, but I wonder if that would end in tears.  TCP/IP isn’t ideal for gamedev IMO.  Flash doesn’t support UDP as-of-yet.

This isn’t the first time Galcon has reared it’s head from within the browser window.  (See my earlier blog posts …)

I haven’t decided exactly what I’m going to do with this once it’s completed.  Probably a few things.  Throwing it on facebook is an obvious one.  Throwing it on is another one.  Maybe mixing it with something like The Maze of Madness is another one.  Or maybe something else!

One idea that I have that would be really cool would be if the tinypy vm were ported to ActionScript using Alchemy* .. and then somehow people would be able to script Galcon on the web and share it with their friends..

*I don’t know if you caught that .. but I think my weekend just got booked 🙂

Beast for the iPhone / iPod touch

Monday, February 23rd, 2009

Today marks the release of my first iPhone game release in five months.  It’s about time I got going on dev again.  I’ve been in the midst of many transitions in both of my businesses, so I decided to start out with something short-n-sweet.  The game is called Beast.

Beast is a re-make of an ancient MS-DOS game that I played ages ago (and I’ve re-made several times).  The original is here.  You may have followed my progress on twitter.  Here are some interesting “factoids” about the game dev.

The original game is pretty tough to play, if you have dosbox and have all the proper slow-down settings going, you’ll find it can be a challenge to surround the beasts and crush them with blocks.  The iPhone doesn’t have a D-Pad, so moving a character around the screen is a bit tricky.  I had to make several modifications to the original game so that it would work with the touch interface:

  • You can move the player around the screen by pushing your finger around.  However I had to make the player unable to move diagonally as I found the resolution of your finger movement made it near impossible to play and quite jumpy if I allowed diagonals.
  • You can touch any point on the screen and warp to that location.  The controls were still a bit tricky, so I had to add this feature so you could do quick movements to escape from a beast, or to attack it quickly.
  • I disabled the beasts so they can’t move diagonally, made the super beasts spawn into only 4 instead of 8 normal beasts, and slowed down the beast movement by about 50%.  These changes were all required to make the game playable.

All these changes turned an impossible to play on the iPhone into a reasonably fun diversion.  I also added a notable element of speed into your score.  This gives the player a good bit of replay value, since even after they beat a level, they can try again and try and “master” a map they are playing.

Overall the main point of this whole exercise was to get myself back into iPhone dev.  Really last year when I worked on Galcon I threw myself violently into that project for 3-4 months and came out a bit burnt out.  I knew this time I needed to do a small scale project to get going again.

I’m pretty pleased with the results of this project.  For some more interesting factoids about the game project, check out my game blog announcement.

Excuse to post this to the python planets: I actually made a python version of this game a few years ago.  It contains some really bizarre pure python sound-synth for both the music and sound effects.  Check it out.  Not only all that, but the whole game is a single 18k python file!  I ported from this code for the iPhone version.  Again, another great example of python prototype -> C++ final product!

(Silly side-note, actually the python code was a port of some C++ code I made ages ago.  So this is a great example of C++ code that was ported to python and then later ported back to C++.  I won’t bother you with details about my even earlier Java and C versions of the game.)

I’m on twitter now ..

Thursday, January 29th, 2009

I’ve just created a couple twitter accounts for myself!

philhassey is going to be my dev twitter account, where I might be posting real-time stuff about game-dev, python, and whatever else comes up.  Should be interesting if I get into it 🙂

galcon is my twitter account for news about Galcon,, new games, etc.

P.S. Galcon for the iphone is an IGF Mobile finalist!  Check it out!

Running OpenGL Apps on a Linux guest in VMWare Fusion

Monday, January 26th, 2009

Here’s my “tip of the day” for running OpenGL Apps on a Linux / Ubuntu guest in VMWare Fusion.  The problem is that while running VMWare Fusion on OSX, your guest Ubuntu system doesn’t have 3D acceleration.  Bummer!  I really like doing my game-dev under linux .. so after a bit of searching I found this neat trick:

1. Open a Terminal in OSX (host OS)

2. ssh -Y ip.address.of.guest.OS
(You can find out the IP address of your guest OS via ifconfig.)

3. run the game you are working on 

4. OSX pops up a window with your game running at full speed!

Via that SSH session I can run my games under linux, but the OpenGL stuff is forwarded to my OSX host, which renders it at full speed.  This is called X11 forwarding, which I had heard of before, but I didn’t know it included OpenGL 🙂

I’d love it if Fusion included 3D acceleration of linux-based Guest OSs, but in the meantime, this will get me by.  One thing to note, this isn’t perfect.  I tried running tux racer, and although it seemed to run at full speed, the view wasn’t centered and so I only saw the top left 25% of the game.



Friday, December 5th, 2008

Well, I spent the last week putting ducks in rows. Mostly dealing with the business end of Galcon stuff. It has been a pretty long week, but I can’t complain since having lots of people interested in my games is always a good thing!

On more dev-side note, I purchased a previous-gen MacBook Pro yesterday. I hope it arrives soon. I’m getting this because I would really like to consolidate my development onto a single machine. Using Parallels desktop, I’m really hoping to be able to do my Linux, Mac, and Windows dev all from the comfort of that one laptop. I’m starting a new game project this coming week, so I’ll give it a real try for a month and see how it goes. If it doesn’t work out as well as I hope, well, at least I’ve got a new laptop 🙂

On a “if you are a game dev you better show up” note, Ludum Dare #13 is this weekend. You get 48 hours to make a great game! I’m quite looking forward to this one 🙂


Stuff-n-maintenance-n-stuff stuff stuff ..

Wednesday, November 26th, 2008

So this past week or so was pretty wild. I was doing all “behind the scenes” stuff mainly. Sometimes these sorts of things are kind of weird to do, because the main goal is to do them in such a way that nobody really notices that I did them (so the point of this blog post is to point out the invisible so I can FEEL like I accomplished something in the last two weeks) … Anyway, they (supposedly) had to get done so that everything can keep moving along without collapsing.

  • Fixing up the themes on so that all the pages actually use the same header/footer and everything. I also restyled the whole site so that all the pages use the same style.css file. (Previously each part of had its own stylesheet. Weirdness.)
  • Moved to using a real mailing list (it took me forever to decide!) But in the end seemed to be the ticket. This is a pretty big step. Previously I was running some script which took a very long time to send out the newsletter and made me very nervous.
  • Updated my game server with init.d scripts so that should my server get rebooted, the game servers will automagically restart. Previously, well, if the server got rebooted, no games would come up.
  • I also migrated to point to .. So now all the “classic” Galcon customers get to see my new swell site. This is also good for search engine stuff, so has a nice position now.
  • While I was at it, I set up google mail for .. So now I can e-mail in style!
  • Upgraded the maze so that each user’s “save state” is a single database record. Previously I saved the full history of a user’s game, so a single user could have hundreds of records if they were wandering around. This table got to around 362,525 records and it was making those pages go pretty slow! With a single record per user, I’ve only got 1371 records in the table and things are nice and fast again. (BTW – Maze 2.0 is up, you can create your own separate adventure mazes now!)

On a more “in your face note” I did add in a games section to I’m sort of excited about this, because it makes it look like I’ve actually made more than one game 🙂 More importantly, it makes it really easy for me to put up a quick page for small games. I’m always making new mini-games for game-dev compos or whatever that don’t necessarily deserve their own “special custom website” but I still want people to be able to get at them. This will make that possible. It also makes it easy for me to link to some of my game-dev friend’s games.


The Maze of MADNESS!!

Tuesday, November 11th, 2008

Hey, so I just put up a new game on my website called “The Maze of MADNESS.”  Check it out.

The interesting thing about it is that I didn’t create any of the game.  I just created a web based interface for people to create this adventure game on.  I made it for a 48 hour contest this past weekend, and the other contest people have already created 45 rooms, 40 new items, and 152 actions.

It should be interesting to see how long the game lasts before it caves under the weight of itself.  I’m quite interested in trying out user-content games.  So if this even marginally works out, there is a good chance I’ll be doing more in the future.

On another tech note, I used AS3 for the pixel art editor in the game.  I decided on this instead of haxe, because it seemed there was a lot more random bits of information on the internet about AS3.  I managed to get it to work without using a .mxml file.  The tutorial I followed was this.  I also got lots of random snippets from the internet.


Is this a game yet?

Saturday, October 25th, 2008

I’m not sure, but I’m having fun all the same 🙂

Still in the python phase.  Still working out what the game modes will be.  I’m going to try to build it similar to Galcon – with 5 single player modes.