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.
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.
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.
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