Video games are increasingly starting to become more and more accepted, beyond their entertaining features. They are now used as an art form and as a medium to teach, to influence, or to inform. Video games have also given rise to e-sports, which have become an increasingly popular and lucrative form of sport and entertainment.
In recent years, many schools have started to use game development to introduce programming to their students and promote 21st century skills such as learning and innovation, digital literacy, and career and life skills. The goal is often to use programming as a means to build an artefact or a game that consists of a combination of multimedia assets (e.g., audio, video, or images) and a logic that controls how the user interacts with these assets.
Games are usually a great resource to reach these goals because they can motivate students to learn new skills (e.g. programming), while using their creativity to build an artefact. In this approach, learning occurs individually or through peer-learning. The creation of games can help students develop a wide range of skills, as each necessary step in this process involves specific types and levels of understanding.
In the early stages, students may need to collaborate to investigate the topic, collate information, make sense of it, and organise it in a way that can be used for the creation of the game. When this information has been collected and when the students start to develop a deep understanding of the topic, they will begin to design their game, to build the narratives, and use their creativity to define how the game mechanics can help the players learn, while being entertained.
Finally, the students will start to code their game and leverage their collaborative and problem-solving skills to implement, code, debug, test, and publish their game. Different skills can be required at every stage of the game creation process. This is a dynamic process whereby students may need to leverage different skills, depending on the task at hand.
There are many tools available to facilitate the learning of programming through game creation and most of them are free.
Using Scratch
Scratch18 is a free software used across school levels to create interactive stories, animations, and games and is often used to introduce programming. Users can combine programming blocks which once put together, create instructions that mirror code (e.g. loops or conditional statements). Scratch requires minimal installation or computer resources and can run via a web browser. It is available as an app and includes a significant community of users. In addition, Scratch junior is an app based on Scratch that makes it possible for young children (between the ages 5-7) to learn how to code. Scratch is designed for children aged from 8 to 16; however, people of all ages should be able to use it too.
Using Game Maker Studio
Game Maker Studio19 is a premium game engine that makes it possible to create video games using drag and drop features. This software is only free for a limited time, but it does offer interesting features to create 2D games.
Using Minecraf
Minecraft20 is a popular 3D game, in which players are provided with tools to modify the game through code (e.g. using JavaScript or blocks of code). Through programming, players can create and share their own artefacts with their friends. Minecraft has been recognised as a significant tool to support a wide range of skills such as coding, problem-solving, communication, or critical thinking. Minecraft Classic21 (the 2009 version of Minecraft) is freely available. An education version of Minecraft, specifically designed for classroom use, called Minecraft Edu is also available. It includes added features such as collaboration between students, non-player characters for instructors to guide students through the game, or a classroom mode. Minecraft is rated suitable for children aged 7+ or 12+, depending on the version used.
Using Unity
Unity22 is a free game engine that makes it possible to create 2D and 3D games using C#. It is being used mostly in third-level education because it does require users to code, unless a plug-in is purchased to allow drag-and-drop features. Despite this, Unity can be a great introduction to 3D environment creation (e.g. indoors and outdoors) with no coding involved. This software can be computer intensive and may require computers with relatively high specifications.
Using Godot
Godot23 is a lightweight open source game engine that enables players to create both 2D and 3D games using C++, C# and GDS cript (a language similar to Python). Because this game engine uses a language similar to Python, it can be a great choice for beginners. Godot is a good alternative to Unity when using computers with limited processing capacity.
Source: European Schoolnet