Finding of the week #49

First thoughts on the development process of a game

During my ongoing literature review I often discover interesting facts about things I’ve never thought about. Sometimes I can connect these facts with my own observations: The result is mostly a completely new idea why things are as they are. Maybe these ideas are new to you, too. Therefore I’ll share my new science based knowledge with you!

This week: This time, I like to share with you my first insights into the process of developing a game and how game engines provide a framework to create a new game.

The process of researching the educational effects of computer games is mostly achieved by conducting surveys. Apart from using already existing games to conduct such a survey, it could be also necessary to create a new game from scratch. The new game could focus mostly on the desired training goal and thus allow an in-depth analysis of the influence of the game on the learning outcome. My current research project requires such a new game to allow me to focus on a particular topic.

Although I won’t need to program the game completely on my own, it’s very important to have good programming skills and insights in the game development process. And this brings me to my last two weeks.

During my career, I already finished some small programming projects, but I’ve never used a game engine. Furthermore, these small programming projects were only on an occasional basis and thus I don’t have much programming experience.
Now, with my research project in mind, I need to develop my game development skills and get an idea how I can realize game projects with a game engine. In order to do so, I started to watch some tutorial videos on youtube on how to develop a game with Unity3D[1].

After a few videos, the process of developing games became pretty clear to me, at least in Unity. The advantage of using a game engine like Unity is that it provides a good graphical framework and an access to the user control interfaces. Moreover, the game engine provides good tools to create levels, to import models from other 3D modelling tools and to manage textures. This makes, from a design point of view, creating interesting landscapes and environments quite easy. However, a game mechanic itself needs to be realized using scripts.

These scripts are the main tools of creating new game mechanics and thus the game itself. The biggest challenge comes from the fact that the idea of a certain game mechanic needs to be converted into the used programming language. Like in general programming, it’s important to define all the important variables and how they need to be changed to realize the desired game mechanic. As soon as the game mechanic is converted into the programming language, creating game mechanics is basically a normal programming process.

After the script is written, it can be managed using the game engine. The game engine provides the option to apply the script to a game entity and thus the game entity receives the functionality of the script.
As an example, the script could create a healthpoint pool and realize a functionality of loosing and gaining health. After the script is applied to a game entity, the entity now can gain and loose health.

After having gained some insights into the game development with Unity, I’ll need to get some insights into the different approaches of using other game engines. In this case, I like to gain also some experiences using the Source and the Unreal engine.
Additionally, as a game researcher, it’s pretty interesting to get some insights behind the scenes of the game development. It gives me a new point of view on the way how game mechanics work and how they’re developed.