Game Making and Coding Fluency in a Primary Computing Context
Introduction
The potential of digital game making is explored in depth in a review by Kafai and Burke [-@kafai_constructionist_2015]. The most prominent learning objective of making games in educational setting is to develop coding and computing skills. There are extensive studies on game making to learn other subjects including maths, biology and chemistry but diverse examples exist. Game making can also develop social skills, self-reflection, cultural awareness and a range of technical abilities that allow participation in information society. Finally because, game making involves a systems-based understanding of the world, and as games are themselves interactive systems, they are a powerful vehicle for exploring a complex problems involving race, sex, social issues [@tekinbas_quest_2010].
While there has been a large body of research on the value and practice of game making for educational purposes, it is a dynamic landscape which has many areas which merit additional research. New software tools to make games which offer new pedagogical possibilities emerge regularly. Game playing practices and the opportunities provided by participation in wider communities also continue to evolve. For example, casual and retro games played by both adults and children are increasingly available via smart phones and home consoles. The nostalgia around such games and the associated aesthetics of cuteness creates a potential for connection between younger and older players [@boyle_retro-futurism_2017]. The sustained popularity of retro games together with easy to use game making tools and code frameworks provides an entry point for game players into game making cultures which is reflected in the success of amateur games publishing websites like itch.io [@garda_nostalgia_2013]. My study, in part, asks how the motivational and navigational affordances of enthusiast game making communities can be brought into more structured educational environments.
In this chapter I explore the potential of digital game making as an inclusive way of developing coding concepts and coding fluency in the later stages of Primary Education. This chapter begins with a short summary of the UK context of coding and inclusion. This is followed by a section on game making as an inclusive, project-based teaching approach. I then describe two game making tools used in my study before outlining the process of the development of a learning design in partnership with participants. I end with an overview of what I provisionally call the 3M game making learning design and offer links to the resulting resources suitable for learners and fellow practitioners.
Context
The influential report “Next Gen: Transforming the UK into the world’s leading talent hub for the video games and visual effects industries” was focused was on providing the UK games and animation industry with the talent needed to succeed [@livingstone_next_2011]. The top recommendations were to include computer science in core curriculum, introduce a new Computing GCSE exam, offer bursaries for computing teachers and to implement well-supported use of games and visual animation in the school curriculum as a way to attract more young people to the subject. The After the Reboot report [@waite_pedagogy_2017], returned to the subject of game making as a way of increasing engagement in the process of coding. The review highlighted several areas of promise which needed more research: using games for engagement, use of design patterns - a term explored later in this chapter - and the involvement of girls in coding and social and cultural aspects of coding. The After the Reboot report also contained concerning observations. The report found that girls, ethnic minorities and students of lower socio-economic status were all less likely to take computing as a subject at GCSE level. Game making aligns well with the principles of inclusive practices and project-based learning (PBL). It provides:
- learner choice in projects increases motivation
- authentic and shareable project outcomes encourage peer feedback and reflection
- iterative projects work supports a student mastery
- challenging goals and guidance in goal setting encourages self-regulation in learners
A key grassroots group addressing issues of inclusion in UK computing is Computing at School (CAS) Include which is a working group of teachers and researchers in the field.1 The CAS Include website include resources created by the network and they hold regular in-person and online events. They promote an inclusive approach to programming by creating projects and using examples which are “real world and culturally relevant”.2 The following section examines the intersection of inclusion, a project approach and game making.
Game Making, Project Based Learning and Inclusion
Contemporary understandings of inclusion go beyond SEND (special educational needs and disabilities) issues to include cultural exclusion which may include dimensions of race, gender or other cultural factors. Recent studies study the use of games and playful techniques to overcome exclusion from the culture of computing [@kafai_diversifying_2017; @kafai_beyond_2014]. If students feel excluded from school cultures then making bridges to home cultures is vital. One way to make those connections to home cultures is to allow for more choice of what can be incorporated into computing projects. The benefits of game making as a form of PBL also align with a teaching framework focused on inclusion called Universal Design for Learning (UDL)[@basham_understanding_2013]. While an analysis of the synergies between PBL and UDL is beyond the remit of this chapter, key characteristics of game making as an educational activity align well with both UDL and project-based approaches. The following sections give three examples.
Family Game Experience as an inclusive Fund of Knowledge: The concept of Funds of Knowledge emerged from research within US Latino communities. The term addresses the use of knowledge and skills from participation in activities outside school that teachers can build on to help classroom work and to support the motivation of learners. Researchers found that Latino home cultures, skills and traditions were hardly visible in mainstream school cultures, resulting in a form of deficit thinking about the performance of these communities [@moll_funds_1992]. Research by the UK National Literacy Trust [-@picton_video_2020] of 11-16 year olds found that 96% percent of boys and 65.2% of girls play video games. This study shows that while there remains a disparity between genders, game playing is still very widespread and young people are unlikely to be part of a household where no games are played.
Game making allows children to draw on funds of knowledge in various ways, perhaps in the choice of the kind of game that is to be made, in the setting or subject matter or the style and aesthetics of audio and visual elements of the game. Teachers can also draw out attitudes and knowledge of game cultures and bring them into the learning environment in an inclusive way. In addition knowledge of game design conventions can be used by teachers to exemplify coding concepts. For example take conditional coding constructs. If Pac-Man touches a ghost then a player life is lost. Such structures are described as a game design patterns. Werner and colleagues [-@denner_using_2014] found that the use of design patterns and game mechanics when teaching novice coders can increase accessibility for learners due the concrete and relatable approach.
Game Making as an Authentic Activity: Another important concept in both project and inclusive approaches to education is to make projects as authentic as possible to increase learner motivation [@barron2008teaching]. For game making this authenticity or realness can be seen in both the tangible, shareable nature of the resulting game created and in clear links to the domain of professional and amateur games production. When learners are designing with someone else in mind, this guides them to shape their game design effectively. The process of imagining the end user’s experience is a vital design skill that can be developed when making games. As teachers, it is helpful to redirect the attention of learners back to the imagined player of the game they are creating to help with motivation and prioritisation. The high-profile of the games industry helps learners recognise that their own game making skills can be applied outside of the classroom. Young people may not be able to create a technically commercial advanced game but other genuine audiences exist. For example, so-called Indy Games are made by enthusiasts and often released at low cost or for free on the Internet. They often appeal to a retro-game aesthetic and are thus easier and quicker to make. Highlighting these communities and outlet may reduce student dissatisfaction at not being able to code more advanced games. As another way to increase authenticity schools sometimes enter online game making competitions or wider creative competitions.
Coding and Computational Fluency: Resnick and Rusk [-@resnick_coding_2020] draw on the motivations of the literacy-for-all movement when using a concept of computational fluency to describe students’ creative expression through coding projects. Fluency in coding can be compared to fluency in spoken languages where the focus is less on accuracy and complexity of language use compared to how fluid and comfortable speech is. Game making has a great potential to develop coding fluency if students are given flexibility over how they add in and adjust new features based on the motivation of designing for other players. Game making encourages small repeated changes to project variables and structures to get the feel of game mechanics during play just right. The process of adding different graphics and audio assets into games returns a high reward for students in terms of their efforts. These factors contribute to games being a good vehicle to encourage confidence in coding and computational fluency.
An Overview of Game Coding Tools
The field of game making is dynamic. New tools frequently emerge with novel approaches and features. In this section I outline the key features of selected game making tools used for my study. This section is necessarily short. A fuller exploration of the pros and cons of game making tools are available as a blog post.3
Phaser is a javascript game making library. To teach it I ask learners to use a web coding environment or code playground called Glitch.com to create their games. Code playgrounds are a tool used by both expert and novice coders to share examples of code that can be edited and previewed online. A key feature is the ability to make changes in code and quickly see the new results appear in the live game. The drawback of using real web technology is its complexity. Many mistakes are possible which can break the game completely. Luckily Glitch has the ability rewind and undo your changes via an easy-to-use timeline of your project.
MakeCode Arcade is a block based programming environment similar to Scratch but with some interesting features which are tailored to game making like gravity, lives and a game over block. In addition, the multi-media making abilities are simplified, you can download the games to hand held devices or run them easily. Another advantage is that the MakeCode system is also used to code the popular Microbit micro controller. So this may be familiar to you as a teacher or to your students.
Research Vignette - Evolution of Design
My own research in game making is an experimental approach to create a new learning design. I have worked with young learners, local families and undergraduate student helpers to evolve a game making design. A key driver of my research was to explore the potential to draw on family experience in learning activities by working with families to make games together. I propose that this environment is a fertile research base to jointly create learning activities with a wider potential application. To facilitate this goal I have taken a design-based approach which acknowledges the importance of context in educational research [@brown_design_1992]. Design based research is a varied discipline which can take a multitude of forms [@mckenney_educational_2021]. The core elements include: research as an intervention, iteration, involvement of participants in the evolution of designs, and a flexibility of research outcome based on how events unfold [@easterday_design-based_2014]. One of the key motivations of this approach is to produce educational research that has a high utility for practitioners through developing theory that is rooted in contextual practice and which can produce new pedagogies and resources [@cobb_design_2003-2].
Barab and Squire [-@barab_design-based_2004] describe the messiness of design-based research and that this creates a challenge to the researcher of how to present results in a coherent way which is of use to other practitioners. There is a tension between sticking closely to the context of the research and the concrete specifics or stepping back to generalise and being lost in abstraction. Here, I try to strike a balance which stays concrete but which also pulls from my observations a framework which may translate in to other game-making and creative project based approaches.
Another guiding principle of design-based research - which is present in the techniques of design experiments, mutual appropriation and participatory action research - is that research participants also influence the ongoing design of the research [@barab_critical_2004; @cobb_design_2003; @downing-wilson_design_2011]. The design of the research experiment and learning I started from a very open position and has evolved from several iterations of collaborative work with participants. One experimental team consisted of Home Educating families another involved local primary schools with Year 6 (10-11 year old) classes. Learners acted as researcher participants to guide the next iteration of the game making program both directly and indirectly. Direct input was through requests and informal feedback and structured end-of-course interviews. Indirect input came from research data in the form on the games participants created, my research journal entries on my interactions with and observations of participants and recorded audio and video data of the participants and their computer screen capture.
The final part of this chapter gives an overview of the learning design that has emerged from this participatory design-based approach. Given space constraints I have focused on the pedagogical results rather than the observational data that has guided them.
Overview of The 3M Game Making Learning Design
The section outlines the main features of the 3M model which comprises of missions, maps and motivational methods. This learning design could be applied using a variety of game making software. The resources I have created for MakeCode Arcade4 and Phaser5 are free and open source and available online. I invite other educators to adopt this approach and share resources for Scratch, Pygame, p5.play and other suitable platforms. I will explain how the methods involved in the model are informed by inclusive pedagogy principles contained in Universal Design for Learning (UDL) and project-based learning (PBL).
Missions
Many commercial open world games offer a central challenge consisting of small incremental missions and then optional side missions. Open world games increase user choice and thus give players a greater feeling of agency. To mirror this approach, the main challenge of the 3M model is to create a playable game around a theme for a real or imagined audience with learners given the choice to add many optional features to the game. This approach steers students towards developing their use and understanding of coding structures, debugging practices and systems concepts. In addition, side missions encourage social and playful coding approaches which help develop a community of coders.
Side Missions: Bartle proposed that online gamers play games for different reasons and proposed a initial typology of gamers as socialiser, griefers, achievers and explorers [@hamari_player_2014]. You can find out what kind of game player you are with an online test.6 I propose there are also different styles of game makers. Some like to develop a full knowledge of the tools and what is possible before they build up their game step-by-step. Some are happy to borrow code, images and sound from anywhere for quick results. More social makers like to find out about the games of others or tell stories within games while others mess around with the code to break it interesting ways. To encourage these valuable social coding practices I created extra missions which are available online.7 I avoid any claims of fixed learner types here and offer these interpretations primarily as a way to encourage meta-cognitive reflections and choice of activity in line with UDL principles.
Game Design Patterns as Main Missions: Design patterns are most commonly used for computing students at higher education to teach object oriented computing but they are also useful for all levels of learners. Design patterns are rooted in real-life incidences of problems that are often solved in a particular way. They are concrete examples of coding principles in context. Design patterns can help the development of coding communities if more experiences coders take the time to document the patterns they use in an accessible way for novice coders. For educators the use of design patterns can help support learners develop coding proficiency by providing scaffolding and modelling good design decisions. However, one of the challenges for teachers of using worked examples and design patterns is how to integrate them into student-led design challenges. In the 3M model rather than following a step-by-step tutorial learners start with an incomplete game template and add new features as they choose. Each feature is described as a mission. This approach follows the Use-Modify-Create model to limit learner anxiety for novice coders and to scaffold the acquisition of coding and computational thinking concepts [@lee_computational_2011]. I worked with learners to create a wish list of game features to create a 2D platform game. These features included moving hazards, jumping on enemies, finding a door or flag to progress to the next level. We can describe these features as game design patterns. Driven by the requests of learners, I developed tutorials to support students implement these patterns. This approach aligns with inclusive education principles in that it increases the choices of students, scaffolds the way they can access resources and allows them to keep a track of their own progress.
In my final implementation of the 3M model students picked missions from a choice of printed cards. There were four colour themed categories of missions. Game mechanics are features to do with the actions of the game. Game space patterns address the layout of the game. Game polish patterns involve adding music, backgrounds, graphics and story elements. Finally System and Challenge patterns look at how different elements interact to create challenge in the game. An example of a game mechanic design pattern follows.
BOX BEGINS
Your mission is to apply the following pattern to your game. There are supporting step-by-step resources available if you need them. When you finish be sure to reflect on how adding this pattern helps your understanding of the computing concepts and similar patterns listed. This concludes your mission.
-
Name of Game Design Pattern: Jumping on Enemies to Zap them
-
Type Pattern: Game Mechanic
-
Description: If the player is descending from a jump when they touch the enemy the player is zapped and in this case disappears.
-
Need for Pattern: Enemies create challenge and being able to jump on an enemy is a good way of clearing the area you want to explore.
-
Links to other Computing Patterns: Systems Dynamics10
-
Related Game Patterns: You’ll need to have added the Add Enemies pattern to your game before you can add this one.
BOX ENDS
In addition to outlines of game patterns, print-outs or on-line documents to support learners to implement the code needed are provided. While on-line documents allow learners to copy and paste code thus avoid many syntax errors, printed or incomplete code examples provide a greater level of challenge. Supporting resources help resolve tensions around learners getting stuck and needing a lot of facilitator help. These resources can help teachers deliver game making in a classroom context. Educators can alter resources to vary how much detail is provided in supporting documents to suit the challenge level for students. I work with young coders, thus I normally provide significant coding scaffolding. Once learners have built familiarity with code structures, processes and the coding environment, I provide less complete code examples and thus reduce the scaffolding.
Maps
Learning Dimensions Map: In learning environments where there is a lot of choice assessing learners via observation is beneficial. Rather than deciding what you want to teach and testing students on that area, you can map the learning happening in an authentic activity. When researching hands-on tinkering in Science museums Bevan and Petrich [-@petrich_it_2013] worked with educators to examine video footage of families interacting with exhibits to make a structured list of the learning they observed. The resulting map of learning dimensions included underlying science concepts but also contained more general skills and helping behaviours involved in exploratory learning processes. Another chapter in this collection identified concept maps and observation as methods for teachers and researchers to identify key learning suited to particular computing projects. One of the outcomes of my research was to extract some of the concepts and practices that learners engaged with when making games from hours of recorded material. While some are common to existing Computational Thinking frameworks others, including systems thinking concepts, are more unique to game making. Table 1.1. shows my resulting map of learning dimensions for the 3M game making model.
| Coding Concepts | Systems Patterns | Design Practices |
|---|---|---|
| Sequences | Systems Elements | Goal Setting |
| Variables | Systems Dynamics | Being Incremental and Iterative |
| Logic | Reinforcing Feedback Loops | Developing Vocabulary |
| Loops | Balancing Feedback Loops | Web Navigation |
| Arrays | Problem Solving | |
| Creating Functions | Version Control | |
| Change Listener | Debugging | |
| Input Event | Reusing and Remixing |
Table 1.1. Learning Dimensions of the 3M Game Making Model
This process of mapping such frameworks may be overly time-consuming for many full-time teachers. However, teachers may also use and adapt existing maps and frameworks based on their own classroom experience to help their observation of students. Because these frameworks can also help students to navigate their own learning journey the effort serves a double purpose.
Physical Maps of Missions: To support younger coders unsure what to do next or who struggle to stay on task, I sought to create another kind of map to help them navigate their game making journey. I printed out a large-scale colour map of a coastal landscape stylised in a way that mirrored a map used for navigation in a quest-themed computer game. The game pattern missions were represented as different islands . Learners took time to create and personalise a movable marker representing themselves. When learners selected their next mission, they moved their counter to the relevant island. Thus learners had to be intentional about their next goal and were implicitly encouraged to stick to it. They also kept a track of the missions that they had completed by tracing a trail as they progressed. In addition the colourful, physical and visual representation served to encourage a sense of community and peer learning. When moving the counter on the map I prompted them to reflect on the coding concepts or other learning dimensions that they had been working with. As learners traced a trail between the different island/missions they had visited, the map provoked learners to reflect on their journey and progress. However, this approach may be too labour and time intensive for many class environments. I am currently investigating replicating this process using online tools to reduce complexity and preparation time.
Motivational Methods
The final M of the 3M framework stands for motivational methods. I share two methods that emerged from feedback and partnership work that proved valuable in the context of game making.
Physical Computing and Game Making: The use of physical computing to create concrete and tangible activities can increase the engagement and motivation of learners [@kaloti-hallak_students_2015]. Making the digital concepts physical, and thus allowing exploration via diverse means, also aligns with inclusive learning principles. To support my game making projects, I created simple arcade cabinets out of wood with retro arcade buttons. Connecting arcade buttons to the computer via simple electronics is a project which can be completed quickly. The process of students building their own arcade cabinets for a games showcase increased their perception of the authenticity of their end goal. Some families created low-tech, customised arcade cabinets using cardboard. Although my studies have been small-scale the self-reported effects on learner engagement and motivation of this part of the program were significant.
Drama / Fictional Frameworks: Another method I use to increase learner engagement in game making is the concept of using a fictional scenario or simulation. A fictional community while less authentic than a professional community, can still provide some of the associated benefits of authenticity. I have worked with practitioners of Drama Education department at Manchester Metropolitan University to develop such fictional dramas, but you don’t have to be a trained drama practitioner to draw on key techniques to increase learner engagement. For example, I asked trainee teachers to devise a scenario to support a series of sessions and they used a fiction of making games for an alien race coming to destroy the earth. The process of using a fictional situation can help with the motivation and reflection of learners in the following ways:
- Asking learners to step into a role can increase identification with participation in the project. For example you may say “As game designers, we will make this game for a particular audience”.
- Fictional situations can help create a sense of imagined jeopardy which can help learners stay on track with their creative timescale and may increase their commitment to the process.
- When learners share their games with their real or imagined audience, they can talk through their design decisions and challenges, thus creating an opportunity for reflection.
- Drama processes can help explore identification with or hostility to gaming cultures.
Supporting Resources
This section contains links and descriptions of supporting resources that have emerged from the research process. The resources have been created under an open licence (CC-BY-SA) which allows them to be freely used and adapted. A full description of resources created for Make Code is presented below and a summary of those created for Glitch and Phaser.
MakeCode Arcade Resources
All of the following resources are available and can be contributed to as part of a collaborative online documentation repository.11
- A broken game to fix and printable cards offering quick changes to core design patterns. This is the starting activity.12
- An online interactive grid of all game design patterns which link to more detailed step by step implementation instructions.13
- Printable online documents which describe game design patterns detail how to implement them.14
- A map of learning dimensions learners are likely to encounter when making games. These are grouped as coding concepts, systems patterns and design practices.15
- To suit learners who like a methodical approach, a step by step tutorial explaining how to build game code from first principles is available.16
- A five week course adaptable by teachers including activities to support the motivational methods detailed above.17
Phaser and Glitch.com Resources
Similar resources exist for text-based coding using the Phaser framework. The resources use screenshots of the glitch.com code playground. The resources include:
- A splash page for Phaser / Glitch resources. This contains links to print outs, tutorials and activities.18
- An interactive starting template and grid of game design patterns.19
Conclusion
In this chapter we have examined how game making fits an inclusive and project-based approach to computing. I outlined some of the potential that make game making provides in to be an authentic activity and how it allows students to incorporate their own interests and home experience into projects. I described the emergence, through design based research, of a 3M game making model where each of the three methods align game making project work with inclusive pedagogical approaches. For example, the use of game design patterns as missions helps scaffold the process of goal setting and project navigation. The use of maps helps learners to navigate their progress and can help teachers to facilitate a learner-led processes thus increasing student autonomy. Finally the motivational methods of using a fictional frame and the incorporation on physical computing techniques can help engage learners and to sustain their continued investment in the project work.
One of the purposes of sharing my resources freely is to invite collaboration with educators and researchers in future work. The next stages of my research will involve a deeper look at how participants use the resources and provided to navigate their learning experience. I am also interested in widening the scope of the research beyond an exploratory, developmental stage to include comparative and quantitative studies that explore how this pedagogy compares to game making via a principles first / instruction-based approach.
-
https://gamesforchange.org/studentchallenge/g4c-resources-hub/ ↩︎
-
https://www.casinclude.org/inclusive-resources/programming ↩︎
-
https://network23.org/3m-gamemaking/an-overview-of-game-coding-tools/ ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/missions ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#arrays ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#change-listener ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions#systems-dynamics ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/gamePatterns ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/learningDimensions ↩︎
-
https://mickfuzz.github.io/makecode-platformer-101/groupCourse ↩︎