External Research: Computer Game Production Curriculum 2004 Awards

Computer Game Production Curriculum 2004 Awards

Microsoft Research announced the six recipients of the Computer Gaming Curriculum awards, totaling $480,000 in funding. The objective of the Computer Gaming Curriculum award is to create a set of innovative and reusable game development curricula. The courses designed at the following universities will enhance computer science and game design curricula through the introduction of video gaming concepts, such as graphics, audio production, performance management, and classic computer science topics relevant to computer game development.

Computer Gaming Curriculum Award Recipients

Reality and Programming Together (RAPT)
Jessica Bayliss
Rochester Institute of Technology

Summary  Develop and run pilot courses in game oriented CS2 and CS3 utilizing C#. There will be teamwork and projects to teach software engineering concepts coupled with audio and graphics introductory material. Course will allow students creative expression as well as bring the importance of human factors and game play into the classroom. We propose to utilize C#/DirectX coupled with real, multidisciplinary applications.

Abstract  Introductory programming sequences teach the core concepts of the computer science discipline: object-oriented programming, software engineering, data structures, and algorithms. One of the most often heard complaints in such courses is that they are divorced from the reality of application. Unfortunately, it is difficult to find areas for application that all students have the background knowledge for and that are engaging and challenging. We believe one such area is computer games. Games may be entertaining like an arcade game or serious like a biological simulation. All students have at one point have played a game.

We propose to captivate students by using the diverse field of games as an application area in a CS1-3 introductory programming sequence using the hands-on studio course paradigm. This consists of more than using games as programming projects: games and how they are designed will be used to teach the core concepts of computer science. We will use C# and DirectX in the sequence in order to include topics from graphics, audio, and artificial intelligence as appropriate for introductory students. We believe this approach will improve interest from students, increase their satisfaction, and increase retention rates in the field. Such effects will be measured through online surveys as well as objective measures such as grades.

Game Production and Development for Multiple Hardware Platforms
Bruce Gooch, Amy Gooch
Northwestern University

Summary  Developing a five-quarter curriculum what will combine computer science with visual design, sound design, and narrative theory. The curriculum will form the backbone of a new, inter-school major, Animate Arts and Science to be offered in collaboration with four major Colleges at Northwestern. This curriculum will incorporate more that 4000 students.

Abstract  As computer technology weaves itself into the fabric of our culture, it has combined with the arts in unexpected ways. Technology has allowed artists to develop new genres and media, but art has also acted reciprocally upon technology. In the 1950s, the idea of dedicating a computer to entertainment was unthinkable, yet revenues from the computer game industry now exceed Hollywood box office revenues. The computer’s role has expanded from the ENIAC as a calculating machine to the Pocket PC as a fashion accessory, the Smart Phone as a companion, and software like FrontPage as a medium for self-expression. However, the cultures of art and technology remain largely separate. While computer science has created useful artistic tools such as Photoshop and Flash, the design and implementation of those tools has been left largely to the programmers, not to the artists who would use them. Conversely, programmers are often frustrated when working with artists and designers who are uninformed about the practical realities of engineering. The differences in goals, vocabulary, and culture between the two groups bring progress on many multimedia projects to a standstill.

We believe the only solution is to train a new generation of artist-technologists who understand and respect the traditions of both disciplines. We believe it is both important and practical to create a new interdisciplinary undergraduate major that will train artist-technologists in the diverse disciplines required for work in emerging media. We are developing a new curriculum that will combine computer science with visual design, sound design, and narrative theory. In this proposal, we address the game programming portion of the curriculum. Computer gaming provides students with an opportunity to bring together the theory of algorithms and data structures taught in early classes in an engaging and meaningful application. A course on computer game authoring also fosters teamwork among students, while combining concepts from art and physics with programming to create a tangible product.

This course will cover 2D and 3D graphics (with respect to DirectX V9.0c), audio (DirectSound and DirectMusic), as well as topics such as performance sensitivity, reliability, and compelling game play. Course projects will involve developing, debugging, and optimizing games for multiple hardware platforms including cell phones, laptops, PDAs such as the Pocket PC, as well as desktop PCs. The class will be taught using modern languages ( C++ and C# ), operating systems (Windows), and development tools (Visual Studio). Students will review current trends in computer game programming and build their own 2D and 3D games on top of available game engines.

Advanced Interdisciplinary Game Design and Architecture Courses
Ursula Wolz, Anita Allyn, Terry Byrne, Jikai Li, Miroslav Martinovic, Robert McMahan, Kim Pearson, Phillip Sanders
The College of New Jersey

Summary  A suite of advanced courses in the contributing disciplines of Communication Studies, Computer Science, Digital Art, Interactive Multimedia, Music and Professional Writing. We propose to create a learning environment in which cross-disciplinary students collaborate on developing a large artifact, namely a 3-D, virtual reality, multi-player game.

Abstract  A problem in teaching game design and architecture at the undergraduate level is that to do it well requires cross-discipline expertise on the part of both the instructor and the student. Gaming is a strong motivator for students in computer science as well as digital art, communications and media studies, music and writing. But at a stage of their education focused on breadth rather than depth, it is virtually impossible to provide students with an experience in a single course that does justice to the complexity of game development. Eight interdisciplinary faculty members propose to develop a suite of advanced courses in the contributing disciplines (Communication Studies, Computer Science, Digital Art, Interactive Multimedia, Music, and Professional Writing). From the computer science perspective, our students develop expertise in software engineering, artificial intelligence and networks and can produce games with sophisticated underlying architecture.

However, the visual and auditory components, not to mention the story line, are often severely lacking. Complementary frustrations can be heard from the faculty members collaborating on this proposal. Given the strong emphasis on broad liberal education at TCNJ, it is not realistic to expect students to develop advanced extra-disciplinary skills in all of the contributing disciplines.

We propose to create a learning environment in which cross-disciplinary students collaborate on developing a large artifact, namely a 3-D, virtual reality, multi-player game. Through this process they learn to articulate the essential concepts outside their areas of expertise, developing an appreciation for the skill set required for those components of game development, while they themselves develop advanced skills within their own areas of expertise. Students will register for an advanced course in their areas of expertise, but will meet in course sections with students across disciplines. A common core of material on game design and architecture will form the basis of a yearlong experience in which all students will complete base-line game design and architecture coursework. Students will pursue additional work in their chosen areas under the auspices of the courses within the disciplines for which they are registered.

Laboratory for Computer Games Technology
Dr. Flavio Soares Correa da Silva
University of Sao Paulo

Summary  Organization of a specialized laboratory devoted to computer games. The initial goal of this laboratory is to prepare material for specialized courses on computer games, which emphasize the application of academic material taught in �traditional� disciplines such as data structures, computer graphics, and artificial intelligence. These specialized courses shall function as motivation for students to focus on their studies, as well as independent assessment of how well students are doing in their studies, and of how broad, modern, and accurate their �traditional� course is.

Abstract  Computer games constitute a solid and substantial portion of the computer science industry. As instruments for teaching, they are exciting and attractive to the vast majority of CS students. They are also challenging, and game production can be a fine benchmark to evaluate not only students, but also academic programs proposed and developed by specific teaching institutions. Computer games provide highly effective means to apply the knowledge attained by different disciplines within a CS curriculum, as well as to integrate the specialized material of different disciplines in cross-disciplinary projects.

The proposed Laboratory for Computer Games Technology shall act as developer and promoter of the use of computer games technology for teaching computer science at the undergraduate level. More specifically, we have three concrete goals to achieve:

  • The organization of a specialized curriculum for computer games developers, aimed at undergraduate students in computer science. This course shall be viewed as a complement rather than an alternative to the traditional CS course.
     
  • The permanent preparation of activities, projects, demonstrations, and lecture material for teachers of the various disciplines within the traditional CS curriculum, and proactive proposal of insertion of these items in different lectures and disciplines within this curriculum.
     
  • The engagement of private teaching institutions in activities related to the Laboratory for Computer Games Technology, as well as the presentation of the prepared material to those institutions, and the promotion of workshops for students and for instructors in those institutions. We hope to be able to contribute to the effective leveraging of the quality of teaching in those institutions through the dissemination of the results of our work.

Alice and Panda3D: Tools for Creating 3D Content
Randy Pausch, Jesse Schell
Carnegie Mellon University Entertainment Technology Center

Summary  At Carnegie Mellon’s Entertainment Technology Center, we are creating two tools for broad distribution. Alice is intended for introductory computer programming courses, providing a revolutionary video-game authoring approach. Panda3D is a high-end, commercial-grade game engine originally developed by Walt Disney Imagineering and now under joint development with Carnegie Mellon. It is suitable for use in higher-level CS courses.

Abstract  Alice provides a drag-and-drop editor that prevents creation of syntax errors. Students drag program constructs with the mouse, building Java/C++/C# level programs that control 3D onscreen objects in an onscreen virtual world. We have distributed over 100,000 copies of Alice and written a CS1 textbook based on Alice (Learning to Program with Alice by Wanda Dann, Stephen Cooper, and Randy Pausch). Most importantly, in NSF-funded studies, we have documented performance improvement for “at-risk” Computer Science freshmen in CS1. For at-risk students, we have shown that when these students use Alice, they achieve B level grades as opposed to students in the control group (not using Alice), who receive C average grades. When teaching CS1 with Alice, retention for at-risk students into CS2 goes up from 47% to 88%. [Cooper, Dann, and Pausch, “Teaching Objects-First in Introductory Computer Science,” SIGCSE 2003]. Alice is a tool nicely suited to a first-time exposure to computer programming.

For computer science majors, we are providing the Panda3D engine. Panda3D was originally developed by Walt Disney Imagineering’s Virtual Reality Studio (where Jesse Schell was Creative Director before coming to Carnegie Mellon) and is now jointly developed by Disney and Carnegie Mellon. Panda3D is a commercial game engine used to create such commercial games such as Toontown. Panda3D is highly flexible and allows authoring in both a high-level scripting language (Python) or directly in C++. Panda3D makes it possible to teach a junior- or senior-level undergraduate game development course, such as Randy Pausch’s Building Virtual Worlds course.

Both Alice and Panda3D are open source and freely available, and they are provided by Carnegie Mellon�s Entertainment Technology Center, which is jointly co-directed by Randy Pausch, a Professor of Computer Science, and Don Marinelli, a Professor of Drama.

Developing a Game Engine Using Incremental Development
Ian Parberry
University of North Texas

Summary  Design and construction of an instructional 3D game engine intended as the core of a game programming curriculum for undergraduate computer science students. The game engine will be constructed in a sequence of incremental steps. Code will be written using Visual C++ using the latest version of DirectX. A set of integrated tutorials will be created as part of this project.

Abstract  We propose the construction of an instructional 3D game engine intended as the core of a game programming curriculum for undergraduate computer science students. Written using Visual C++ using the latest version of DirectX, it will be constructed in such a way that the graphics layer can in principle be replaced by another technology such as OpenGL or a game console API. Online documentation of the code will be generated automatically using Doxygen. In addition, a set of integrated tutorials will be created as part of this project.

We will provide a sequence of ordered, incremental game demos instead of delivering a monolithic game engine hard for students to digest at one bite. Each game demo in the sequence will proceed logically from the previous one. Students will easily be able to see the changes from one demo to the next by running a file comparison program.

 > Collaboration > Opportunities