I don't like immersive UI

Published April 01, 2008
Advertisement
Still basking in the newfound freedom of my game/engine refactoring of a few weeks back, I'm happily forging ahead turning my old scene graph into a real game. Before I get into the boring technical stuff, here's this week's screenshot ... behold - a real working character status panel!

Disabled

(Click on the thumbnail for the full image)

As your character picks up an item, the item is automatically added to the status panel, including a real-time updating ammo count (or whatever status is meaningful for that item type). Ironically, while people have said for ages that the most immersive interfaces are invisible, I've found just having this little status panel makes the game world feel more alive for some reason. Just watching the ammo tick down as you fire the gun feels really solid.

The current graphics for the panel itself aren't the best - but as part of my "get to game" push, I'm trying really hard not to tinker and polish every little thing to death (as I spent much of last year doing this and didn't really get any closer to having a game).

In less visible progress, a lot of the work this week has been working out the difference between a map and a save game. Up until this week, the two have been pretty much the same thing: a simple serlialisation of the root node of the world. This approach has been fine for knocking up the little test arenas that I've posted up here in the past, but now that I'm starting to think about a real game, it falls apart in two pretty serious ways. Firstly, you really don't want your game characters in your level data (as you really want the player to be able to take his current character into any level). Secondly, there's a whole bunch of non-game-world data that a given game might want to be able to save (like player data, the screen layout, the current camera position, game preferences, the total play time, etc).

To address this, I've spent the bulk of the week centralising all the game state (camera, players, characters, world, etc) inside the Game object, and then cleaning up the tangled web of object initialisation dependencies to allow you to just drop in a new Game object and have all the moving parts (camera, camera controllers, input handlers, world graph, etc) hit the ground in a working state. It turned into a huge amount of work - especially when I tripped over a long standing reference counting bug that meant the game was never actually deleting the game world, even when you loaded a new one in.

Once that was working, I set about separating the player characters from the world, and adding support for logical game nodes that can be used to add things like spawn points to maps. The game will now happily persist your character(s) across new maps, starting them at the first spawn point it finds.

With all this plumbing done, I'm almost ready to add damage to the game.

Cheers!
Previous Entry Trees
Next Entry User Interface
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

Moose Sighting

1394 views

Constraints

1563 views

Moose

1296 views

Melon Golf

1856 views

Toon

1358 views

Spaceships

1110 views

Rendering Pt2

1201 views

Hardware Shaders

1241 views
Advertisement