Game Development Community

A couple of ways to tell your game is fun, and some screenies

by Tom Bampton · 06/16/2006 (2:21 pm) · 10 comments

A couple of ways to tell if your game is fun

1: You take the latest build to a friend's house expecting to do a quick 10 minute demo to show off, and you end up playing it for an hour because said friend doesnt want to stop playing.

2: Later in the day, the same friend asks to play the game some more. This happened twice in the same day and we ended up playing the game for about 3 hours in total.

3: You have an impromptu play test one morning and one of the testers says he has to go and get some work done, then keeps playing the game.

New screenshots

www.burntwasp.com/bm/newHud.jpg
I finally got around to revamping the HUD. I'm a big fan of minimalist HUDs (in fact, wherever feasible I prefer there to be no HUD whatsoever), and I can't stand the stock chat HUD. So, I quickly hacked GuiMessageVectorCtrl to fade out lines after X amount of time. That took care of the stock chat HUD nicely with minimum effort. The rest of the HUD is fairly obvious.

The level code is now very close to code complete, and sports the following features:

* Really souped up networking. Handles sending the level data to the client and ensuring clients get updates.
* Client side effects: Explosions and crates breaking
* Other effects: Crates can drop from the sky. This is currently used for sudden death, but will probably also be used for crate spawn effects.
* Collision and rendering for blocks, crates, explosions etc. See here (text file) for the current test level, which includes a description of the format.
* DTS blocks are now supported, which means we can create the level almost entirely from DTS shapes without the usual DTS collision issues. In the above screenie the "giant pink cock" placeholder art, as we call it, are DTS shapes that are part of the level. This will allow us to create really sweet looking levels, and it was by far the easiest part of the level code to write ;-)
* Although you can't see it in the screenie, the level code also supports A-Star pathfinding for the AI. This also turned out to be really easy and only took around 8 hours since 90% of the data needed for it was already there.

All in all, the level code is turning into a bit of a ShapeBase wannabe. Unlike ShapeBase it isnt all in one file/class, but in terms of features its becoming pretty insane.

www.burntwasp.com/bm/obsMode.jpg
One big problem that took me a while to come up with a solution for was what to do when someone died and had to wait for the end of the game. Previously I just set them to the stock observer camera, which was generally confusing for players.

Eventually I came up with the observer mode featured above. It lets you see what player still playing sees. It works really well and had the unexpected but quite nifty side effect of enabling me to play the game on the Mac using my XBox 360 gamepad by observing a windows box.

Observer mode will get extended at some point to include other views of the game.

www.burntwasp.com/bm/allCrates.jpg
Finally, a "just because" screenshot: Breaking all the crates in the level at the same time. This is actually used in-game when someone wins, but it's also quite handy for debugging. It also looks pretty cool.

There is loads more to talk about, but that can wait til another time. Perhaps I'll even have a new video for you then ;-)

#1
06/16/2006 (2:44 pm)
The 360 observer control on a Mac *is* a pretty nifty bit of serandipity!
#2
06/16/2006 (2:49 pm)
Sounds like a fun game!

Say, could I borrow that hacked fade out chat hud code? Currently I remove lines after a specified time (the chatHud automatically moves them up), fading would be even better. :)
#3
06/16/2006 (4:08 pm)
ah..good stuff tom - though im stilling waiting to play this thing :p HURRY UP!
#4
06/16/2006 (4:46 pm)
Hmm, I move the lines upwards after a specified time until they dissapear but that looks jagged.

Nice work!
#5
06/16/2006 (6:54 pm)
You could consider letting players out of the game still be able to do something like most of the latter bomberman games have. Bomberman 64 (my favourite) let dead players respawn as ghosts. They couldn't lay bombs, but could jump on a players head and momentarily control them at reduced speed to try and force them into explosion (it was just a few seconds). They could also pick up stunned players, and I think maybe kick bombs. More recent games have had the simpler setup of letting dead players circle around the edge of the arena chucking bombs in, I think.

Didn't you use that old resource for the .3ds loader as a base for the boxes originally, since it had the thing where it could explode all the tri's apart on the mesh? Couldn't you just apply that instead of normal .dts loading, so you could blow up the custom objects with the mesh explosion effect too?
#7
06/17/2006 (4:42 am)
@C2 / Nick,

I may end up posting the changes to GuiMessageVectorCtrl as a resource. It depends on whether I have time to write it up or not.

@James,

Cool! I'll check that out :)

@Wedge,

Yeh, I will probably come up with something better for dead players to do. I havent decided what yet, but I don't really want it to be too much like existing BomberMan games. One thing we are planning on doing is adding some critters to harrass players ... giving dead players control of the critters could be a good idea.

Re: Boxes. Brian's BreakableObject originally only supported .3ds (using Matt's Shape3DS resource) ... he added .dts support for this game. In the original BM prototype they were .dts ... I think in the video I posted in the last .plan they were still .dts.

When it was decided to move ahead with this as a full game, I added a BreakableCrate that just feeds BreakableObject a box of the correct size + texture based on the info from the level file. Thus, I can break .3ds (which might get removed for this game since we dont need 3ds support), .dts and arbitrary geometry. I will probably end up modifying ShapeBase::blowUp() to use BreakableObject in addition to explosions, so when things like bombs and power ups explode they'll break apart too.

T.
#8
06/17/2006 (6:44 am)
Just upload the .cc file, I'll sort out the changes and post one. :)
#9
06/27/2006 (9:23 am)
Looks cool. :)
#10
07/07/2006 (3:07 pm)
great work Tom! Cant wait to try a demo.