Tuesday 17 September 2013

3D Engine Fundamentals

What is a Game Engine???

Now when Professor Hogue asked us this question, I knew the answer but for some reason I couldn't put it into words. Apparently, the rest of the class had almost the same impression as I, so right away we had to form groups and have a clear and formal idea as to what a game engine is. In my own opinion, a game engine system of all data and components used in a game in order for it to work. It is the most important part of the game; without it the game will not be a game. I like the example of a car that Professor Hogue gave us in class. He said think about a car and whether it would be the same without the engine. Of course not, a car needs an engine in order for it to drive otherwise its just useless. It's the same idea with a game. Without a game engine, you cannot do anything on it. 





A game engine has to manage the data of the game as well as coordinate data with sub-components of the engine, manage flow of data, enable user input, etc...
Game Engines were not as famous as they are today. Games used to be made without any game engines up until the 1990s when 3D computer graphics started to become popular. It is a good thing it is popular today too. Can you imagine what it would be like without engines??? Game companies would've had to make their game from scratch EVERY TIME. It scares me just thinking about it.

Types of Game Engines

  • Ogre
  • Havok
  • TorqueX
  • Delta3D
  • Panda3D
  • Crystal Space
  • WildMagic
These are just a few free game engines discussed in class. I can't wait to use Havok and Ogre in class this year for our game. Also, CrystalSpace looks like a cool and awesome engine to check out as well. Clearly they named the engine after me.



Review of OOP

We also revised object-oriented programming. Which is a very good way to program because it allows you incorporate classes, inheritance, and polymorphism which enables a programmer to re-use code rather than writing new ones every time. It makes programming easier to code, easier to maintain, and easier to debug. So, in other words less stress. 


Pointers, are another topic we quickly reviewed as well. In game engines, it is important that interfaces are small, few, and explicit. 



Basically Lecture 2 is mostly revision but I'm glad we went through them in class because we will be using all of these attributes in the implementation of our game.

No comments:

Post a Comment