Game Development Community

Plan for Iain Craig

by Iain Craig · 09/18/2005 (9:22 pm) · 0 comments

img244.imageshack.us/img244/8100/compositescreenie3dj.th.pngClick to enlarge

GID 15 Postmortem

Having decided to do my first GID during an already hectic weekend I thought I'd best stick with 2D this time.

I'd already spent a couple of days a few weeks ago knocking out a tile engine on top of HGE, and the Impaling theme gave me an excuse to use it to make a little oldskool platformer (yup, I took the obvious way out :P). I wanted a modern, sharp look though, and decided that high-res backgrounds and prerendered 3D character animations were the way to go.

I spent the first couple of hours or so setting up the character and animations in Poser, mostly using stock poses. I rendered all character anims in one go and built a spritesheet from them with the excellant GraphicsGale.

The (abandonware) Golgotha textures had some nice stuff I'd been wanting to use since I found them and this gave me the excuse, so I added some engine code to handle pretty parallax scrolling and built some composite backgrounds, and knocked out the mountains and sky in PhotoShop.

Subclassing my Object class allowed me to add powerups and spikes. The tile engine was already set up to load levels from a custom format with a custom Lua exporter from Mappy, so having revised the exporter and loader to handle powerups, spikes and a win marker I was ready to build a tile set from the SpriteLib graphics (GPL).

I then did a custom spike graphic and the level and powerup icons.

By this point (hour 18 or so) I'd acquired Ben D as a level designer and the caffeine-fuelled Cormacs for playtesting duty, so I was able to concentrate on sort of neo-gothic menus and extra polish.

I animated, rendered and integrating a death animation while Ben took my sample level, tidied it up and added some great puzzles. Finally we added some signs to guide the player through the level and balanced play as best we could in the half hour we had left.

The game turned out as a dark little affair with plenty of impaling. The title, Nos, is Welsh for "night". Nothing ground breaking here, but a fun little game that I'm really happy with.


What went well

- We finished it! It's actually the most finished game I've written :)

- I was happy that I'd left the tile engine I'd written previously at a suitable point to be able to build this quickly. The object model and the ability to easily subclass tiles to do special things were a major advantage for this project.

- HGE, underlying everything and throwing batched quads at the video card for me, performed beautifully as always. The particle effects when the player jumps are stock HGE stuff.

- I think the graphics work well, and look remarkably consistent for their disparate sources.

- Ben's level design is really good for the length of time we had. I'd estimate 15 minutes of play time for a new player to be able to complete; it feels well balanced to us but I'd really welcome some comments on this.

- Coding at 4am with mIRC open and keeping occasionally contact with other nocturnal GIDers ruled. The UK contingent was a pleasant surprise too.


What went wrong

- Unfortunately the thing I didn't get time to fix was time sync on player movement, which is currently framerate-dependant; if your hardware can't deal out the 99fps target then the character gets sluggish. All the animations use the time delta correctly, but by the time I noticed that the player movement was slow on my laptop, we really had to post! I might update this if there's any demand (and certainly will if the HGE community wants the tile engine code). It seems to run fine on older hardware (800Mhz Athlon with GeForce 4MX hits target framerate no problems but that's still a high spec for a 2d platformer). The easy fix would be to limit to 60fps or so but that's still a sucky way to do it.

- Syncronising our builds over the network constantly while Ben was working on level design was a drag; next GID I'll have a CVS module set up in advance I think. In the spirit of GID I should probably offer public checkout :)


Future plans

No commercial viability, but for fun this thing may be worth adding more levels and enemies to; I'll see what the response is like.

Something I'd love to try would be to light the level by generating a lightmap from light positions (easily addable in Mappy using another subclassed) and tile geometries, and have tiles cast shadows. At it's simplest this could produce one huge alphablended texture applied across the whole level, including the character and non-parallax backgrounds. That would give kickass lighting effects.


Team

(See Credits in-game for more detail)
Iain C - Code, art, level design
Ben D - Level design, art
Cormacs - Playtesting, caffeine


Instructions (and shamelessly retrofitted "plot")

Ms P Laceholder awakes from a strange dream to find herself in a land where getting impaled a lot seems to be a bit of a hazard.

"DISASTER!" thinks Polly. "I'd best leg it. Sharpish. Hmm, I wonder what those pickup things do."

Follow the signs and look for a mushroom.

Move: A/D or Left/Right (Hold CTRL to sneak)
Jump: W or Up

Use a megajump: Shift-W (or Shift-Up)
Use a timewarp: T

Pause: P
Quit: Escape


Screenshot

img116.imageshack.us/img116/147/screenie7ts.th.pngClick to enlarge


Download

Click here to download (3.2Mb)
Sorry, Windows build only..


Contact

You can see more of my (old) stuff at www.coldcity.com. Having mail probs on that domain so if anyone wants to contact me please use iainatnosuchsoftwaredotcodotuk. Cheers!