Sunday, December 10, 2006

Day 331 : Collisions and GUI

I think I'm pretty much done with my collision system. It doesn't hold a candle to any real collision system out there but for the needs of a rail shooter it will be enough. Roughly a combination of AABB bounding boxes in a tree. I needed it fast and simple. Trying to integrate OPCODE, even with OgreOpCode, wasn't smooth enough, so I skipped. Keeps the engine nice and light and avoids an extra dependency.

I'm switching road right now and moving on to doing GUI for menus and interface, as well as finalizing the adaptation of the Shmoulette engine with the game (there was still some splashovers on both sides, I'm now cutting them to be nicely and cleanly separated).

I'm using CEGUI for my GUI. So far I love it. It's a bit rough around the edge and the .XML structure could definitely use better hierarchy, but overall I'm impressed. The original plan was to cut as much as possible in the GUI and limit player options to a bare minimum. But since I'm getting a nice, clean GUI system free of charge I might actually put in all the options I want. I'll see.

The reason I moved to GUI design even though the game module itself isn't complete (I have no outstanding issues with it, but I know they're there, I just didn't find them yet) is because I was getting a bit tired of the loop I was caught in. Start to design a level, find a flaw in the engine, correct it, go back to design, find a flaw in the engine, rinse, repeat. So I'm taking a break from that and will work on GUI which is easier and thus more relaxing. Besides, learning GUI will help me turn the crappy editor I made into a slightly less crappy editor, which is always good.

I'm still on track for a somewhat complete 1 level gaming experience after the Christmas break. Should include main menu, profiles integration, in-between levels interface, and 1 complete level, art and all. With the exception of textures on models, for which I will accept placeholders for now.

What I'm getting the most fed up with now is compile-times. They get bigger and bigger. I feel I'm spending about 1/4 of my time finding bugs, fixing problems and implementing, and 3/4 of my time compiling. Not so good. Maybe I need a new PC...

No comments: