Thursday, 7 November 2013

First Game Engines Class

Welcome to my Game Engine Design and Implementations blog posts.

I have finally decided to start writing blogs about my game engines class. For the next month I will do my best to deliver an engines blog every other day. Now that's out of the way, let's talk engines. What is an engine? Well, let's break it down further than that. What is a game? A game is a very broad term that can encompass everything from board games like Chess or Monopoly to card games, casino games, video games, sports games, the way children play together can be assortment of games. Nowadays when people hear the word "game" people often think of a digital or virtual world with a main character that's either a human, an animal, or a machine that is controlled by the player. A game has many other components to it and you can read all about those details in my Game Design blogs. Now what is an engine? When people here this they normally imagine a 4 cylinder engine within a car. The mechanical structure of a cars engine is similar to a game engine. 



The very first good reference of the term "game engine" came from the extremely popular game Doom back in the mid 1990's. With their architecture reasonably defining separation between its core software components like graphics, physics, and sound systems as well as the art assets, game worlds, and rules of play for the gameplay experience. Another great example of an early game engine would be the Quake game engine. Sometimes a game and it's engine are hard to separate. Some engines are made with a clear distinction and others, such as my game last year, had almost no attempt to separate the two. The more separated the game is from the engine to more reusable it is for developing another game. Here are some examples of games and their engines in relation to their usability:

.
So as you can see games like my Bullet Devil from last year would fit in close to PacMan. Our game this year would be more in between the Hydro Thunder Engine and Quake III Engine since we are planning to do our best to separate the game as much as possible from the engine. Since we will be working with an engine developed by our T.A Saad there is a lot of base engine framework work already completed for us. I will talk more about our game in the upcoming blog.  

A game engine will vary depending on what genre it is made to develop games for. This is why in the image above you see that an engine that can be used to develop any game imaginable is nearly impossible. The same can be applied to engines with cars again. There are different engines for different sized cars, there's engines for boats, planes, snowmobiles, and even lawnmowers. Think of all of these types of vehicles as a genre of game type. A car engine will work well for most subsets of cars but not so well for a fishing boat. Likewise in games, a first-person shooter game engine will work well for most games that will be FPS styled but will not work so well for a real-time strategy game.  

There is lots to talk about in regards to engines. In my next blog I will go over in more detail about components of an engine and talk about my game Aeolus. I will also be making lots of references to this textbook as well as the lectures from my engines class. 


No comments:

Post a Comment