Monday, March 1, 2010

game development journey

I am not about to turn my blog into a developer diary of sorts, but I do want to start to do a weekly update of where I am at with the game. That way I will have something to look back on after a month or so, and learn from my experience in review better than I could otherwise.

So, state of the game:
The game has some of the more external mechanics completed (screen/state manager, title screen, options menu, pausing, and confirmation dialog boxes), but the core of the game has been giving me a number of problems.

I have spent the majority of my time on the 'exploration' portion of the game, working on getting ship control and collision detection working. And after almost two weeks of working on this in my spare time, I finally have a collision detection system in place that I am confident in, and isn't simply something ripped from someone else's game. I know how it works, and I know what it is doing at each step of the process, and I feel it's not going to be resource heavy, and minimize the number of, and complexity of collideable objects in my game.

Basically, I scoured the internets to find information on how to handle collisions, examined the Collision Manager class of Net Rumble, and using bits and pieces of understanding I gleemed from these various sources, I put something together that checks bounding box collision, and if there is a collision there, it will go a step further and do per pixel tests on the objects in question.

Its a simple way of doing it for anyone who understands geometry and vector math... but having been out of school for a long while, and never having been all that good at geometry, it was a difficult process to get working.

Something good that did come out of it was my implementing a debug system that allows me to see visually the bounding boxes of each object (and potentially be able to draw on screen the thought process of the AI components).

What I have right now could certainly be cleaned up (and I still have to get the per pixel part of things finished up), but I like how it feels when my ship collides with a solid object.
Next I will work on getting the camera to chase the player, and add in different types of collision reactions (such as the transfer of momentum from one object to another, in the case of smaller floating objects).

I hope to, by the end of the week, have my game object editor fleshed out, with the ability to select and move world objects (world objects are a collection of sprites that I plan on assigning behaviors to), as well as breaking them apart and allowing me to edit their sprites after they have been created. The per pixel thing, and chasing camera as well of course. And if I am really productive, maybe put together some sort of 'map' thing.

More on the progress at the end of the week (I hope).

fidgetwidget out.

No comments:

Post a Comment