Type: Adaptive programming education 2D game
Purpose: Provide an efficient and fun way to learn basic programming concepts through a 2D spaceship crawler game that adapts gameplay and content to the play style and learning style of the player.
Place: Elementary schools
Technologies: Unity 3D, Spring Framework
Contributors: Renny Lindberg, Seungchan Jung, Dohee Kang, Woojeong Kim, Wonjun Jin, Jonghyeon Park, Joochan Kim and Teemu H. Laine
Minerva is an adaptive educational 2D game that was created within our three-year NRF project, which aims at creating a Learner-Aware Adaptation Framework for Programming Education. In the game, the player controls a robot to fix a broken spaceship. The robot is controlled by issuing a set of commands (e.g. move forward, turn right/left, shoot/use), which are executed all at once. This control method is similart to games like Lightbot. The game supports multiple levels, each of which has several interconnected rooms that are explorable by the player. A room can have obstacles, aliens and portals to puzzle mini-games. Some obstacles can be destroyed by shooting, others must be evaded. Aliens can be socialized with or attacked. The following screenshot shows a room with obstacles and six commands waiting to be executed.
Some rooms have educational puzzles disguised as repair tasks. These puzzles are essentially mini-games within the main game that cover the five basic programming concepts without using any programming language syntax:
- Input: input for a program. For example, commands given to the robot.
- Output: output of a program. For example, actions performed by the robot.
- Math: arbitrary calculations involving math and logic. For example, the robot calculates every move before performing them.
- Decisions (conditionals): alternative execution branches within a program. For example, the robot chooses how to deal with aliens: aggressively or friendly.
- Repetition: repeat a set of commands as long as a specific condition is met. For example, the robot repeatedly turns its wheels until it has completed one movement command.
The following screenshots illustrate puzzles for repetition (fix the fuel flow mechanism by repeatedly laying down pipes to make a successful connection) and decisions (fix the circuit by choosing appropriate branch and input/output color for directing electric current).
Minerva is adaptive to the learner’s personal context in several ways. Currently, we have the following adaptation mechanisms implemented:
- Learning style adaptation: Contents of the puzzles are adapted according to the player’s learning style. As the theoretical basis, we used Honey and Mumford’s learning styles: Activist, Reflector, Theorist and Socializer. Puzzle contents are organized into four components: WHAT (images) the learner is supposed to do; HOW (video) the learner should do it; WHY (text, images) the learner is doing it; and the learner DO (puzzle itself) solve the puzzle. The order in which these components are presented depends on the learning style.
- Play style adaptation: The main game (i.e. exploration of the spaceship with the robot) is adapted according to Bartle’s play styles: Killer, Explorer, Achiever and Socializer. For example, Killer has more aliens and obstacles to destroy; Explorer only sees visited rooms in the level map; Achiever’s default view shows game statistics (points, visited rooms, etc); and Socializer is shown the room-specific chat by default.
Both learning and play styles are detected through a questionnaire when the learner creates an account. Our conference paper explains the details about the questionnaire and the selected learning and play style models.
In October 2016, we presented the first version of Minerva to 33 elementary school students (grade 6) in Korea. The reception was amazing, and we believe that games such as Minerva have strong potential to greatly facilitate mandatory programming education at schools.