Day 4: Stage, Scenes, and Sprites

Today we begin designing our game engine. We start with the most fundamental part of the engine: user interface. How are we going to represent our whole game scenario? Each game has different building blocks. There is usually a main menu, an options menu, and a game scene. Different games can have different sets of these and the ones given here are just examples.

Scenes and the stage

The most intuitive way to design a game user interface is to break it into so-called scenes. Each of the components described above is a scene. A game can have a main menu scene, an options scene, a help scene and a game scene, which is where the user actually plays. We also introduce another concept called the stage. A stage represents an instance of our game. Look at it as a play: there is a stage on which actors play their roles; and the play itself is broken into different parts, which is what we call scenes. As the user interacts with the game, we keep switching scenes to show content to the user. Take a look at the following figure:

Stage and Scenes

Continue reading

Day 3: Our Engine’s Requirements

So far we have talked about graphics engines and game engines. Today we are going to kick-start our own game engine. I have called the game engine Artenus, which is the name of the ancient Persian goddess of creation. Having a name makes it easier to refer to the engine during this guide. In day 2, we introduced different components of a game engine. What is covered today is mainly about what components Artenus has and what you need before getting started. Below is a screenshot of my first ever game made using the Artenus game engine. We will make another game together with this engine, once we are done implementing it.

Bomb Squad Screenshot

Continue reading

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