Day 2: What Is a Game Engine?

A game engine is a system designed for the creation and development of video games. The capabilities of game engines are different one to another. Some game engines only provide a basic framework through which you can program your games in a high level without thinking of the technical subtleties. Others provide a user interface in which you can visually create your entire game, without the need for a line of code. Below is a screenshot of the 2013 game Gone Home, built using the Unity game engine.

Gone Home - 2013

If we are to design any form of game engine, no matter how simple, we need to understand the concept first. For this reason we break a game engine into its building blocks.

Continue reading

Day 1: What Is OpenGL ES?

At the heart of every video game is a graphics library. In order to find out what it does, it is worth having some background knowledge of hardware accelerated rendering. This can serve as an introduction to what we are going to talk about in Game Development Days.

Real-time rendering

Modern games are massive software solutions where monstrous pieces of information are processed and composed into images in extremely short periods. Drawing of sophisticated characters and scenes in a game requires a lot of processing from the computer’s perspective, and a vast knowledge of the mathematics involved by the developer. The process of converting definitions of a scene (objects, lights, etc) into images is called rendering. Rendering can be a lengthy task. You might have seen stunning photos on the internet that, although they are created using graphical software, but look surprisingly realistic. Take a look at the following example:

Example 3D Scene

Continue reading