Friday, January 28, 2011

Supersonic Game Engine Week 3

I guess I can't entirely say this week was productive as far as lines of code produced, but in terms of how much I have designed and learned, this week was one of the most productive in my life. Aside from starting college courses last week (18 credits) I also did a lot of homework over the weekend, and definitely learned a lot there. Oh, by the way, anyone who does not already know: One of the best ways to manage everyday activities, homework included, is something called Remember the Milk. I absolutely love this website and highly recommend it to anyone who is currently living and not scared of computers.

Well, that aside, I would like to update anyone reading this on my progress. This week, I didn't do a whole lot of coding for the Supersonic engine, but I did quite a bit of reading. I have read about quite a few different game frameworks both specifically for OGRE, and unrelated to OGRE at all. Obviously I found those ones related to OGRE quite a bit more interesting and helpful, but I picked up some basic concepts (Singletons and threading) from other articles.

One of the most interesting articles I read was the Advanced OGRE Framework tutorial on OGRE's wiki. It is basically a code listing for a nice framework for OGRE applications, and appears to be quite useful to me. What little coding I have done this week was porting that framework to Python so I could use it myself. That framework includes with it a state manager, but I opted to write my code based off (not copying word for word) a different state manager also found on OGREs wiki. With that, I now have working input!

One thing that will inevitably be essential to the creation of a game engine is a Singleton. For that matter, it has definitely been a little challenging trying to figure out how to make a singleton in Python, because it's not a built in language feature. Luckily, this was made easy by another article I found: (link found on python-ogre wiki) Singleton Metaclass. Okay, I will admit I have not taken the time to look that over and figure it out (and considering it's simplicity, it seems like it might be pretty easy; don't forget: I only started programming with Python a few weeks ago). It sure looks promising though.

My plans from this point forward are still to get some kind of simple game in the works, featuring input, terrain, movement, animation, collision, game states (menu/pause menu) and a level manager. I have never ever used shaders before, and I barely even know what they are, but if I'm up to the challenge in the coming weeks I might even check out shaders and make some kind of weird metallic guy, or I could simply add a body of water; it would be cool to have a shiny rainbow tree though! For this week I'll simply work on animation.

I sure hope I can manage when it comes to the point of creating my own content. Anyone that would like to help me with that is welcome to comment and let me know.

No comments:

Post a Comment