Tuesday, April 7, 2009

Incremental Updates

I was reading some old, old blog posts of mine (from last week) and thought I'd update a bit on what's going on now. I've had a lot of thoughts in the past week that I didn't think were blog-worthy.. but when summed ended up being quite overwhelming. Prepare yourself!

I've been working on the game for a total of 9 days now. During that time I have been maintaining my contract work, which is my full time job. I have also taken many, many breaks that probably accumulate up to several days of inactivity. Slacking, really. But I want everyone to know that my progress is so rapid it's self-inspiring, and making me more and more motivated. I've gone from a guy who just two weeks ago was considering hiring someone to write this game for me, to being the guy who is actually doing it... and pulling it off well.

Er... Well might not be the best word. I'm shooting to get my game up and running ASAP. My implementation might look slick, but my code is a complete hack job and is not at all up to my own standards. I completely intend to rewrite this game from scratch if and when it becomes popular and demands further development. My main mission here: getting the game out, and getting it out as soon as possible.

I think I'll send a shout-out right now to Phil Hassey, the author of Galcon. Knowing he wrote such a fun game in such a short time (48 hour game jam!) really inspired into doing something similar(ish).

In the past 9 days I've stumbled, quite accidentally, upon 2 gameplay ideas. I intend to make these my Game #2 and Game #3. I've also revised and re-revised the gameplay mechanics for SpaceSquid. Not quite settled on how exactly things will go down, but I'm getting very close to nailing things down.

A while back I said I used distance-joints on my planets. I'm such a doofus. The next day I looked at them, all pivoting around on their ultra short sticks like balloons on a really short tetherball rope. I immediately converted them (after learning about how) to Revolution Joints and nailed them down to an invisible static object that sits right behind the planets. Much more stable, and I was even able to add a small motor force to the planets so they will slowly spin. This will look much nicer once I have planet graphics.

I blogged earlier about the "Bullet" property that bodies can have. They work fine on larger objects, but when I apply them to smaller things (such as the squid tentacles and arms) they start jittering the simulation quite a bit. I've been forced to keep the smaller squid bits marked non-bullet, but I've instead converted all the planets to bullet objects, as well as the clubs on the end of the tentacles, and the squids upper mantle, as they will likely be travelling quickly. There will still be some clipping, especially between the squid arms and the tentacles, but they won't be noticeable once I get the joint destruction routines into place... *evil grin*

I decided on a scale for my game, too. I still do a lot of testing in full screen mode, which is probably a big mistake... (*quickly runs and tests it in a smaller window*) I'm lucky, it's still looking OK in the smaller size. Official viewport is now 700x500, which is 6 pixels wider than Fantastic Contraption. Suck it, Colin. I resized my game arena to fit these dimensions.

I think one of the biggest chunks of developing this into a real game will be level development. If this becomes somewhat fun and looks like a feasible long term project, my first mission will be a level editor. For now, it's just going to be whatever I can come up with. I have sketched out 5 basic level designs that I think will work out well. I made sure my code can handle all sorts of wacky things like microscopic black holes up to ultralight gas giants (helium gas of course!). I guess it doesn't help that right now the squid is roughly half the weight of the biggest planet.

A few days ago I found the game getting a bit too twitchy. I slowed down the timestep by half, so there is now twice as many physics calculations per second. It slowed down gameplay pleasantly and still provided those "big crunch" events as the squid collapses into a planet. As I increase planet densities I might slow this down again.

No comments:

Post a Comment