Holy hitboxes!

Published May 07, 2009
Advertisement
So, once again I am back doing my co-op term at Sony Creative Software, a subsidiary of Sony way way off in the forgotten Canadian city of Waterloo. Tomorrow will be the last day of my first week, and quite a busy week it has been! The product we are developing is called Media Go, a media management application somewhat comparable to the famed iTunes. It's to be shipped with Sony Ericsson phones world wide in the very near future.

The specifics of my current task are of course NDA'd, but I can at least say that it's an interesting mix of application and UI programming. I'm not really a UI developer at heart, so while it's a bit of a strained relationship between me and my code, I'm managing. Working on the massive codebase they have never fails to motivate me to work on my own game projects. [smile]

And on that note...

Cyberspawn Update

The most recent items have been improving collisions and getting the inventory/item groundwork underway.

Collisions with the world work wonderfully, but collisions with entities was only sort of working. I had to manually define the sizes of the collision bounding boxes within each entity's definition file, and rotating the entities would bork up their bounding boxes. It was only a matter of adding some code into the 3DS model loading code to have it determine the minimum bounding box for the model.

Since I had decided on keeping collision logic simple, I wanted to stay with axis-aligned bounding boxes. This meant that when an entity was rotated (ie. rotating a desk 45 degrees in the map editor) it needed to have its bounding box recalculated to reflect its new (larger) size. This is accomplished by using rotating the four points of the bounding box (either top or bottom; doesn't matter since rotations are on the Y axis), and then finding the bounding box that contained those four rotated points. It can be kind of nasty though, since 45 degree rotations on long models (like desks) feel larger than they should. Short of rejeffing the physics code to support more complicated collisions, I don't have any other nice options.



The other major addition was the player's ability to highlight a nearby item or object by looking at it. The effect of this draws a simple little stippled bounding box effect (reminiscent of Deus Ex 1 and 2) and displays the item's name beneath the crosshair. Next, of course, is the inventory framework behind it that lets the player legitimately pick up that item. [grin]

0 likes 3 comments

Comments

Knarkles
Yay for progress! (as opposed to some of us ;)

Coincidentally, my job is also somewhere between application (game) code and UI, though I enjoy the UI side more than the application side. :)
May 08, 2009 05:27 AM
rip-off
Looks very nice. Almost makes me reinstall Deus Ex.
May 08, 2009 10:16 AM
Ravuya
Very nice.

Based on the tradition of Origin in System Shock I and Deus Ex, the practice of highlighting something with the game cursor to interact with it was referred to "frobbing."

Appropriately, this use also carries over to their 2D games, such as Ultima VII, where any draggable object (such as an inventory object or subwindow) is also referred to as "frobbable."

I don't know if this carries as early as Ultima Underworld, though. There's not a lot of information on that game's development.
May 08, 2009 01:57 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement