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

Archive for 2008

PAX’08 Pics

Thursday, September 4th, 2008

Hey, I attended PAX’08. It was a pretty crazy ride! I gotta say, if I go again, I’m going to make sure I get more than 4 hours of sleep per night though 🙂

Some of the highlights of the trip were:

  • Stacking cans for the Brawndo booth
  • taking pictures of costumery
  • Listening to the musicians panel
  • meeting Mike and Sol of hamumu.com fame
  • watching and hearing some gameboy street musicians

I’ll let you work out which pics go with which highlight.

Repeat: I am going to be at PAX!

Wednesday, August 27th, 2008

Yeah, this is basically a repeat of last week’s message.  But I am going to be at PAX.  I am going to be wearing Galcon t-shirts the whole time.  I will be there Friday, Saturday, and Sunday.  I will be helping out at the Brawndo booth from time to time.  I will probably be hanging out with the Garage Games folks a bit too.  If you can’t find me, ask one of those booths 🙂

See you at PAX’08 !!

Lamp work – Phil makes a marble!

Wednesday, August 20th, 2008

Around a month ago I was in Lake City and I got to do some lamp work at Dave Jordan’s studio, and make my first marble!  And then I made a few more 🙂

I had a great time!  Next time I’m out there I will be doing it again 🙂

iPhone dev & bodily destruction & PAX’08

Wednesday, August 13th, 2008

So I’ve been doing iPhone dev for about 2 months straight now.  Just yesterday I sent my latest Galcon update to Apple.  This update includes multi-player wicked-awesomeness.  It will be available whenever Apple approves it.  I plan on doing a bug-fix update a week or so later to resolve any odds-and-ends that come up.  In the meantime, I’m trying to recover from my 2 months of solid coding.

The iPod has taken its toll on me.  I’m about five pounds heavier and I’ve lost any definition I pretended to have.  Time to get back into shape!  We’ll see how that goes.  I’m trying to reserve a few hours a day for “not sitting in a chair.”

In other news, I’m attending PAX’08 in a couple weeks.  Look for the guy in the Galcon t-shirt.  I’ll also be hanging out with the Garage Games and Brawndo folks a bit.

Galcon color-blind Test

Wednesday, August 6th, 2008

Hey, I’m trying to get Galcon-iphone to work for the color-blind population 🙂

Here’s the colors I’m thinking about using. If you are color-blind can you tell me if you can discern between the colors? If not, please tell me which numbered colors you are having difficulty with.

Thanks!

Comparing python to C …

Wednesday, August 6th, 2008

Well, I’m about 1/2 done with adding multi-players to Galcon-iphone.  I figured I’d stop for five minutes and note down some things I noticed during my porting experience.  Obviously, C and python are different, but here are a few of the ways I’ve FELT the difference.

  • C doesn’t have garbage collection.  I’ve managed to avoid doing much manual GC by having everything in a single big struct that keeps the entire state.  The only place I use malloc/free is when I’m downloading web data.  So it hasn’t been a big deal for this project.
  • Speaking of web data, C doesn’t have a built in urllib.  I wrote my own awful HTTP 1.0 page fetcher.  On the plus side, I was able to make it work *exactly* how I wanted it.  No threads, non-blocking 🙂
  • Although not “built in” I found enet, which was a thin layer above UDP for networking.  I found this incredibly much easier to use than python sockets were.  (Yes, I could have used some other python lib, but I didn’t.)
  • C is really fast.  Thankfully, since I originally dev’d Galcon in python, I was “forced” to get my algorithms pretty good to keep the speed reasonable.  By porting everything to C, I’ve now got amazing speed.  I think I could host 100+ servers on a single CPU easily.
  • Managing strings in C is an ordeal.  It’s just not pretty, so I try to avoid doing much with them.
  • OpenGL seems pretty painless in C.  I haven’t done any notable OpenGL stuff in python, so I can’t really compare the two.
  • No exception handling makes me have to code things more carefully.  In python, I could parse an incoming networking packet, and just wrap it in a “try: (parse stuff) except: pass” block.  If something was bad about the packet, it would just move on.  In C, I have to check everything carefully so that I don’t create some kind of segfault by accident.
  • In my case, serializing data is easy in C.  I can just save a structure to a file (or send it in a net packet) and load it back later.  In python this is much more complicated.  (Especially since Galcon-shareware isn’t pure-python.)
  • By using C, I don’t have to deal with some awful FFI.  That is a HUGE time-saver.
  • I must admit, I LOVE python’s indents.  But I also must admit, now that I’m back into C coding, I don’t miss them as much as I thought I would.
  • I still dislike header files.  I wish C magically generated them or something instead of making me write them.
  • I learned about writing tests in python.  I’m doing that in C for my networking code.  I run the tests as part of my build process, and it saves loads of time by catching all the bugs for me 🙂
  • Automatic type checking is sort of nice.  Having the compiler tell me I didn’t do anything incredibly stupid is sort of nice.  (Although in some cases, it can get a bit annoying.)

Well, that’s about all I can think of for now.  Draw your own conclusions.

iGalcon + enet = Multi-Player fun fun fun

Thursday, July 31st, 2008

So .. not being in python-land I really didn’t feel like reinventing the networking-wheel this time.  So I grabbed enet for this project and it rocks.  I had no notable trouble (beyond normal laziness when it comes to reading documentation) getting it up and running.  And after I got it going nicely in my linux environment, it worked out-of-the-box for compiling to the iphone 🙂  Thanks to lack of endian issues, I didn’t have any trouble there either!  Here’s the screenie:

On my TODO list is:

  • Add Settings (Sound effects on/off, favorite colors for MP game, user / password login for MP game)
  • Add Server List (must figure out how to do HTTP requests from C with minimal strain)
  • A bit more testing and some odds-n-ends

I hope to have it all done soonish!

On a development-side note, I implemented some automated testing of the network code.  This saves me from having to run over a dozen use-cases any time I mess with the client-server code.  So it’s saved me a bit of time, and given me that great “feels like it will work” feeling.

Galcon Multi-player on the iPhone?

Wednesday, July 23rd, 2008

So .. here’s a game design question for you to ponder.  Everyone, of course, says it would be awesome.  But why?

Here are the pros I see:

  • You could play against your friends who are in the same room as you!  Yay for LAN parties!
  • You could get ranked against many other Galcon players!

Here are the cons I see:

  • You can’t chat, so you might as well be playing against bots.  (Playing against complete strangers seems mildly pointless.)
  • You can still compete for rankings in the single player game if I set it up to score certain rounds, etc.

Anyway, I could use some feedback.  I’m likely going to be adding the MP game, but I need to know WHY, as that’s really important to how I design the interface.

Not enough errors??!

Monday, July 21st, 2008

# urpmi mysql
installing mysql-5.0.45-8.1mdv2007.0.i586.rpm from /var/cache/urpmi/rpms
Preparing…                     #############################################
1/1: mysql                 #############################################
080721 13:04:46 [ERROR] Error message file ‘/usr/share/mysql/english/errmsg.sys’ had only 469 error messages,
but it should contain at least 472 error messages.
Check that the above file is the right version for this program!
080721 13:04:46 [ERROR] Aborting

The really rough bit is now my mysql install doesn’t work anymore 🙁  Blah.

Galcon + iPhone = AWESOME

Friday, July 18th, 2008

Hey, I’ve just finished porting Galcon to the iPhone and it’s now in the App Store!  You can read about it here!

I don’t *really* have anything super pythonic to say about the porting experience, other than .. I probably wouldn’t have bothered to do it if I hadn’t been hanging out at pycon and having people show me their iPhones and telling me how I should totally port Galcon to it.  So thanks to those people for getting me started!

The link above is where all the fun is, but just so this post isn’t all boring text, here’s a screenshot:

And if you want to know more about the porting experience, I’ve been blogging about it.