A Serious Game for Programming Practice Mathieu Muratet, Patrice Torguet, Fabienne Viallet, Jean Pierre Jessel
Total Page:16
File Type:pdf, Size:1020Kb
Experimental Feedback on Prog&Play: A Serious Game for Programming Practice Mathieu Muratet, Patrice Torguet, Fabienne Viallet, Jean Pierre Jessel To cite this version: Mathieu Muratet, Patrice Torguet, Fabienne Viallet, Jean Pierre Jessel. Experimental Feedback on Prog&Play: A Serious Game for Programming Practice. Computer Graphics Forum, Wiley, 2010, 30 (1), pp.61-73. 10.1111/j.1467-8659.2010.01829.x. hal-01357534 HAL Id: hal-01357534 https://hal.archives-ouvertes.fr/hal-01357534 Submitted on 30 Aug 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Volume xx (200y), Number z, pp. 1–12 Experimental feedback on Prog&Play: a serious game for programming practice M. Muratet1;3, P. Torguet1;3, F. Viallet2;3 and J.P. Jessel1;3 1IRIT/VORTEX 2CREFI-T/DiDiST 3Université Paul Sabatier, Toulouse, France Abstract This paper presents an experimental feedback on a serious game dedicated to strengthening programming skills. This serious game, called Prog&Play, is built on an open source real-time strategy game. Its goal is to be compa- tible with different students, teachers and institutions. We based its evaluation on an iterative process that allows to implement the game and carry out experimentations in several contexts. Through this assessment, we define a framework which has been tested by third parties and we analyse both positive and negative points in order to improve the project. Evaluation is indeed beneficial and enables you to establish communication about the implemented practices. Categories and Subject Descriptors (according to ACM CCS): K.3.2 [Computers and Education]: Computer and Information Science Education—Computer science education I.3.0 [Computer Graphics]: General— 1. Introduction tain students in computer science. Currently, serious games exist in several fields such as education, government, health, In many countries, students are becoming less and less in- defence, industry, civil security and science. Let us first de- terested in science. In computer science, for example, ac- fine a serious game. cording to Crenshaw et al [CCMT08] and Kelleher [Kel06], the number of students has been shrinking. Moreover, “col- For Zyda [Zyd05], a serious game is “a mental contest, leges and universities routinely report that 50% or more of played with a computer in accordance with specific rules, those students who initially choose computer science study that uses entertainment to further government or corporate soon decide to abandon it”[ACM05, p. 39]. Our university training, education, health, public policy, and strategic com- has been experiencing the same phenomenon with a decrease munication objectives.” Serious games use entertainment to of 16.6% over the last four years in students studying com- pursue different learning objectives. For example: “Darfur is puter science. dying” [Dar] tries to raise public awareness; “Tactical Lan- guage & Culture” [Tac] aims to teach foreign languages and In order to find a solution to this problem, we bet on se- cultures; “America’s Army” [Ame] tries to recruit young rious games. Since the first boom in video games in the people for the US Army. Serious games should be created 1980s, the gaming industry has held an important place in according to the needs and expectations of different sectors, the world market. According to the Entertainment Software and within the available resources (physical and financial) Association figures [Ent09], in 2008 the market of U.S. com- for their implementation. puter and video games amounted to $11.5 billion. This has overwhelmed the U.S. movie market [Num] ($10 billion in 2008). Students currently in universities were born in the 1.1. Related work video games era. Thus, those games are as much a part of Learning programming is the basis of computer science their culture as TV, movies or books. We think that the use training and an important topic in many scientific courses. of video games technologies in a serious game context to However, programming fundamentals are hard to learn, es- practice programming could be a solution to attract and re- pecially for novices. Several approaches exist to motivate submitted to COMPUTER GRAPHICS Forum (8/2010). The definitive version is available at diglib.eg.org and www.blackwell-synergy.com. 2 M. Muratet & P. Torguet & F. Viallet & J.P. Jessel / Experimental feedback on Prog&Play students. For example, Stevenson and Wagner [SW06] ana- 1.2. Overview lyse assignments from textbooks and historical usage to look for students’ problems and propose a “good programming Our approach consists in reusing existing games as the ba- assignment” in computer science. These exercises could be sis of a serious game and making it compatible with a ma- completed by using block-based graphical languages like ximum of teaching contexts. There are many open source Scratch [MBK∗04], StarLogo [KY05] or Alice2 [KCC∗02]. video game projects available on the Internet. We think that Indeed, these novice-programming environments allow stu- reusing them offers advantages in playing and robustness. dents to forget syntax and directly experiment with program- In order to build our serious game, we used an open source ming. real-time strategy game. Building an efficient tool for a spe- cific teaching course is interesting, and it can often be reused Another approach uses video games in order to hook the in other contexts. Our approach consists in working on a se- player and bring him/her into programming. Two uses have rious game compatible with different students, teachers and been experimented: implementing new video games and institutions. This serious game is called Prog&Play and is playing video games. For example, Chen and Cheng [CC07] introduced in section2. asked students to implement in C++, through a collaborative The evaluation of this type of tools in real contexts is a project, a small-to-medium scale interactive computer game complex task mainly because of the large number of un- in one semester, using a game framework. Gestwicki and controllable parameters. An iterative evaluation is proposed Sun [GS08] based a case study on EEClone. This game is an (section3) and results are presented in the context of several arcade-style computer game implemented in Java: students experimentations. analyse various design patterns within EEClone, and from this experiment, learn how to apply design patterns in their own game software. Leutenegger and Edgington [LE07] used a “Game First” approach to teach introductory pro- 2. Prog&Play gramming. These authors believe that game programming motivates most new students. They have used 2D game de- We consider Prog&Play as a serious game dedicated to pro- velopment as a unifying theme. gramming practice. Prog&Play is based on an open source real-time strategy (RTS) game called Kernel Panic [Ker]. Another solution is to let students learn when they play Kernel Panic uses computer science metaphors, like bits and a game. Wireless Intelligent agent Simulation Environment pointers, as units (i.e. graphical objects which are controlled (WISE) [CHYH04] combines activities from virtual and by the player). It is a simplified RTS with the following physical versions of the Wumpus World game. It enables features: there is no resource management except for time physically distributed agents to play an interactive game and space; all units are free to create; it has a small techno- and provides a dynamic learning environment that can en- logy improvement tree with fewer than ten units; and it uses hance a number of computer science courses: it can be used low-end vectorial graphics which match the universe. Owing as a medium to demonstrate techniques in lectures; during to these characteristics, differences between two players are classes, students can carry out practical work that tests, ex- about strategies and tactics used (and not about knowledge pands, or modifies the simulator. The Wumpus World game of units features and relative advantages). Thus, the game is can be played cooperatively or competitively. action-oriented while always remaining user friendly. Kernel Panic takes place inside a computer where play- Robocode [Roba] is a Java programming game, where the ers command one of the three available factions: “Systems”, goal is to develop a robot battle tank to fight against other “Hackers” and “Networks”. Each of them offers units, like tanks programmed by other players. It is designed to help Bits, Bytes and Assemblers for the System side, Virus, Bugs people learn Java programming. The robot battles are run- and Worms for the Hacker side and Ports, Firewalls and ning in real time and on-screen. It is suitable for all kinds Packets for the Network side. Figure1 shows the hierarchy of programmers from beginners (simple robot behaviour can of unit development for System factions. The Kernel (which be written in just a few minutes) to experts (perfecting an is the main unit of Systems) can build Bits, Bytes, Poin- AI - Artificial Intelligence - can take months). Other such ters and Assemblers. The latter can build Sockets (which can games are Marvin’s Arena [Mar] using any .NET compati- solely build Bits) and Terminals. ble language, Gun-Tactyx [Gun] using SMALL and Robot Battle [Robb] using a specific script language. Starting with Kernel Panic, we designed an applicative programming interface that enables students to interact with Colobot [Col] is the only example we know of a com- the game through programming (subsection 2.1). The func- plete video game which mixes interactivity, storytelling and tional architecture of this library is detailed in subsection 2.2.