Abstract
Educational games are interactive games that lead students to certain goals, rules, social adjustment, problem solving, all represented as a story. The interactive process of a game is actually a constant process of sequential observing and problem solving. By stimulating their motivation to excel and complete what they started, students can form a habit of observing, analyzing, and solving problems (un)consciously.
The main purpose of this paper is to design and implement a 2D game in Unity Engine for the Windows 10 platform having a predominantly educational character. The goal is to familiarize a novice user with the features and functions of the Python programming language. The game is based on the movement of a character on a 2D platform, encountering various other characters and objects that trigger informative dialogues and mini-tests in Python.
The game is structured on several levels or scenes, each corresponding to a general chapter designed to familiarize the user with various notions and basics related to the Python v.3 language. Each level is implemented individually, with the existence of a transition script from one scene to the next in order not to complicate the user's computer with a single global level.
The learning application uses several technologies, resources and packages for video game development: Unity Engine, C# and Python. The first step in achieving a level in the game is setting its scene. The components in all game scenes are: scene background, 2D platform, final scene, 2D character, simple dialogue system, multiple dialogue system, user input system, and multiple-choice system.
Unity Profiler was used to describe the performance of the game. In terms of CPU usage, the decisive part is the rendering the graphics and textures, which are the most expensive for the processor. In terms of memory usage, textures take up the most space. In terms of execution time the scripts that control the events and interactions in the game are decisive. The rest of the time is taken over by the Unity Editor, as this software records the performance of the game directly from the Editor. Much of the runtime is due to the graphical interface in Unity and the handling of windows and transitions in the open project. Overall, the system never reaches a rate of less than 30 fps, ranging from 96 to 47 fps. The system on which the tests were performed has an Intel Core i7 processor (2.60 GHz, 8 GB RAM, NVIDIA GeForce GTX 950M).
From educational perspective, collecting ideas from students at the beginning of the design process provides useful information about what they want to deepen in the field of technology. Early involvement of students in designing such a game opens the access to their browsing skills, ways of presenting contextual information, application-specific content preferences, and variety of UI elements that would help them navigate more easily in the application.
Implementing a 2D platform game is a way to get students to gain an interactive programming experience in a high-level language, in a familiar way, resembling the learning process with relaxation. Therefore, students can make a comparison between solving beginner programming problems and an entertaining process, stimulating their desire to further explore the field of IT and computer programming. The interactive learning process will give students a positive, stimulating and inspirational feeling, causing them to deepen their other interests in technology. |