Facilitating the Education of Game Development
Total Page:16
File Type:pdf, Size:1020Kb
Otto-von-Guericke University Magdeburg Department of Computer Science Institute for Simulation and Graphics Games Group Diplomarbeit Facilitating the Education of Game Development Lennart Nacke Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Institut für Simulation und Grafik Arbeitsgruppe Grafische und Interaktive Methoden für Computerspiele Diplomarbeit Facilitating the Education of Game Development LENNAR T NACKE Matrikel-Nr. 159745 Date of Submission: November 04, 2005 Examiner: Prof. Dr.-Ing. MAIC MASUCH Dr.-Ing. KNUT HAR TMANN Supervisor: Prof. Dr.-Ing. MAIC MASUCH Processing Period: May 23 – November 04, 2005 Diplomstudiengang Computervisualistik Otto-von-Guericke Universität Magdeburg Fakultät für Informatik Universitätsplatz 2, D-39106 Magdeburg Pronouns and Glossary Terms In this thesis the author uses “she” when referring to indefinite people. This can be the “programmer” or the “DEVELOPER”. This is because of the lack of a gender-neutral pronoun that is applicable to a human being in the English language. The decision for using “she” was made, because the author would like to see more women to join into playing and especially in developing computer games. Some computer science or game development specific technical terms are explained in the Glossary. You can find these words like IGDA printed in bold with small capitals, when they are first used in the thesis. This style always references a glossary word. If there is a longer or more suitable description than that in the glossary, it usually references to the chapter that discusses the term in detail. c 2005 by Lennart Nacke. All rights reserved. Abstract This thesis focusses on game development and educational benefits gained from teaching games to university students. First, it sketches the complex pipeline of tasks inherent in game development with focus on used tools. Classifying the many diverse tools used by different kinds of game developers helps to identify areas of employment within game development. A discussion of educational facilities and the specific niches of game development that they focus on, allows the conclusion that many games created there only reach up to a prototypic level. Thus, requirements for a game prototyping tool are derived. The author then provides estimated solutions for these needs with an extraordinary focus on the usefulness for computer science students. This leads to an implementation of a game prototyping tool, which brings the ap- plications of the multimedia environment SQUEAK into play. After showing the ed- ucational benefits of Squeak, one can find out about some examples of educational game development with its help. This brings further information on the game engine that was used as an essential part of the prototyping tool created for this thesis. Finally, an analysis of advantages and disadvantages of using Squeak for educa- tional game development is done. Also, prospects and possibilities for extending the prototyping tool are discussed. Revolutions come from standing on the shoulders of giants and facing in a better direction. ALAN KAY Acknowledgements First, a huge thank you to the many fantastic friends that gave their time, moral support, ideas, expertise, and cheers during the writing of this thesis. Without you, I could not have finished this. Another big thanks to the game industry veterans Bob Bates, Bruce Shelley, Jochen Hamma, David A. Smith, and lecturer Prof. Mark Overmars of Utrecht University that took time off their busy schedules to answer my questions and helped me get further insights into a few core secrets of game development. I was delighted by the supervision of Prof. Maic Masuch, who has positively helped me with criticism, motivation, and ideas for my research. I was always proud to be a part of his Games Group at the Institute for Simulation and Graphics. Also, the time I spent working with Squeak at the impara GmbH has extended my view on programming, and I enjoyed working with everyone of them. Many friends contributed to this thesis in special ways: Stefan Carl-McGrath and his wife Stacy gave me crucial tips for my writing style and proof-read this thesis twice. André Miede was so kind to get me started with his LATEX template. Thanks to Ivonne Drube, who created the graphics for the demo prototype. Alexander Opel, Christian Hansen, Aidan Fraser, and Simon McCallum all proof- read my alpha versions of this thesis and helped me improving it. They also con- sistently cheered me up - a job, which was also done well by Jan Fietz and Patty Gadegast, with whom I worked together in the past years, especially during the GCDC and who have become close friends. Thanks to Nadin Koch for giving me an industry-insider’s view on some things from time to time, and for letting me use her SpeedTree research. Also, many thanks to Ralf Armin Böttcher, who helped in defining software defects in the quality assur- ance workflow. Finally, of course, thanks to my family especially my parents, Wolfgang and Anne Nacke, for their incredible moral support, love and encouragement - and my girl- friend Ellen Zacher, who supported me during the writing of this thesis in every possible way. Thank you. Lennart Nacke, November 2005 v Contents 1 Introduction 1 1.1 Motivation . 2 1.2 Research Objectives . 3 1.3 Structure of This Thesis . 6 2 Basics of Game Development 9 2.1 The Game Development Process . 9 2.1.1 Concept . 12 2.1.2 Pre-Production . 13 2.1.3 Prototyping . 16 2.1.4 Full Production . 19 2.2 Traditional Software Development vs. Game Development . 24 2.3 Game Prototypes in Iterative Development . 27 2.4 Summary . 29 3 Game Development Tools 31 3.1 More Than a Collection of Middleware: The Game Engine . 31 3.2 General Definition of Middleware . 34 3.3 Game Development Suites . 38 3.3.1 Macromedia Flash . 39 3.3.2 Game Maker . 40 3.3.3 Vision SDK . 41 3.3.4 Important Aspects of Development Tools . 42 3.4 Defining Classes for Game Development Tools . 44 3.5 Progress and Future Game Development Strategies . 46 3.6 Summary . 49 4 Developing a Concept for an Educational Prototyping Tool 51 4.1 Game design vs. Game development . 51 4.2 Adequate Education for Jobs in Game Development . 52 4.3 Teaching Focussed on Developer Tasks . 55 4.3.1 Game Designer . 56 4.3.2 Producer . 57 4.3.3 Game Programmers . 57 4.3.4 Game Artists and Animators . 58 4.3.5 Conclusion for Education . 58 4.3.6 Advice from Professionals . 59 4.4 Game Development Tools used to Facilitate Game Education . 61 4.5 Towards an Educational Game Prototyping Tool . 62 vii viii Contents 4.5.1 Requirements Analysis for a Game Prototyping Tool . 63 4.5.2 A Proposal for an Architecture of a Prototyping Tool . 68 4.6 Conclusion for the Implementation of a Prototyping Tool . 69 4.6.1 Summary . 70 5 Implementation of a Game Prototyping Tool 71 5.1 Game Development in Smalltalk . 71 5.2 The Development Environment . 73 5.2.1 Squeak . 73 5.2.2 Tweak . 77 5.2.3 The iEngine . 79 5.3 LeGaCy - A Tool for Rapid Game Prototyping . 81 5.3.1 User Interfaces in LeGaCy . 82 5.3.2 The Features of LeGaCy . 84 5.4 A Game Prototyping Example . 89 5.4.1 The Game Idea . 89 5.4.2 Demonstration . 91 5.5 Summary . 91 6 Summary and Conclusion 93 6.1 Results of This Research . 93 6.2 Discussion . 95 6.2.1 Critical Review . 96 6.2.2 Advantages and Disadvantages of Game Development with Squeak . 96 6.3 Future Work Perspectives . 97 6.4 Personal Remarks . 98 6.5 Conclusion . 99 Glossary 101 References 105 A Interviews 115 A.1 Interview with Mark Overmars . 115 A.2 Five Questions for Four Game Industry Veterans . 122 A.2.1 Interview with Bob Bates . 122 A.2.2 Interview with Jochen Hamma . 125 A.2.3 Interview with Bruce Shelley . 128 A.2.4 Interview with David A. Smith . 130 B Figures and Tables 133 B.1 Middleware and Tools . 133 B.2 The Game Development Pipeline . 134 B.3 Game Engine Overview . 135 B.4 Mini Games . 136 B.5 Common Development Tools . 137 Index 139 1 Introduction The only legitimate use of a computer is to play games. (EUGENE JARVIS) Although people have played games since the beginning of humankind, it was not until in 1958, when the physicist William A. Higinbotham developed TENNIS FOR TWO that games would find their way into computers [8BitMuseum05]. It took more than ten further years for games to conquer the amusement arcades around the world, when the PONG-phenomenon spawned the global video game mass-market in 1972 [Mertens02, Lischka02]. Figure 1.1 shows a screenshot of PONG. Today, an increasing number of the living pop- ulation grows up with video games. Thus, the interest for understanding this new medium among young people is strong. The subject also became more interesting for educators. Most students are eager to analyse and recreate games in an academic context. Not only does the intrinsic motivation to keep playing fasci- nate scientists, but the educational contexts of some games are also useful. This especially applies for computer science, because game Figure 1.1: One of the first video development incorporates almost every aspect games in history: PONG. of it. This thesis will look into using game development as a subject for teaching certain aspects of computer science, especially object-oriented design. We will also look into possibilities of teaching game design to non-professional users with a strong interest in the academic side of game development. 1 2 1 Introduction 1.1 Motivation Developing a professional computer game has become an incredibly complex task over the years.