Saturday 7 September 2013

Game Engines Blog 1

Game Idea 

Open world (GTA style) game where player plays as a robot who thinks he is a boy fighting crime in the hood. We’ll call it “Roboy in da Hood”. This is a direct sequel to our first year GDW game “Roboy”. In this post I will talk about some of the core engine features we need to implement to make this game happen.

AI

There are going to me many entity types in the game; cars, pedestrians, enemies etc. All entities will need to select the appropriate action for based on what’s going on around it. Then it will need to be able to determine where it needs to go to accomplish the action selected and finally it needs to figure out how it’s going to get there.

Physics

To my limited knowledge of physics engine (hopefully that changes after this course) a physics engines only jobs are: applying kinematic forces and collision detection. Those are two hefty jobs which are vital to Roboy in Da Hood (and just about every game ever). We are using Havok as our physics engine which is used by many commercial games. Hopefully with a little elbow grease we can use it to its full potential.

Audio

Based on the first lecture slides, 2LOC, the engine we are using has support for FMOD and OpenAL which are two libraries that handle audio. I’ve only ever worked with FMOD and it gets the job done. Not sure why it has both FMOD and OpenAL but then again I don’t know a whole lot about audio programming.

We will use audio to help set the mood and theme of the game. There will be ambient audio and music which just plays over top everything and there will be audio which will be played from collision call back functions such as:
onCollisionEnter(), onCollision(), onCollisionExit();

I don’t know if 2LOC has these functions (or some variation of) implemented or not but I expect to use those three functions a lot throughout the development of this game.

Rendering


Ahh rendering. What could be said about rendering? Rendering is the cat’s meow. The bee’s knees. Needless to say, rendering is my cup of tea. This year we are using Ogre as our rendering engine. I've never actually worked with Ogre but I heard things about its architecture which leaves me kind of skeptical. But looking at the 4 images in the Ogre gallery (click), they look pretty good. I can see bloom, depth of field and shadow mapping effects in all their glory which leaves me kind of confused because if the guy who made that demo can pull off those effects with Ogre then surely with a little perseverance, passion and time with the Ogre documentation I can pull off those same effects in Ogre…right? Right??

It says we need to draw a picture...well okay: