Title: Game Development in Computer Science Education
1Game Development in Computer Science Education
- Dr. Michael Katchabaw
- Department of Computer Science
- The University of Western Ontario
- London, Ontario, Canada
2Outline
- Introduction
- Why Study Game Development?
- Building Game Development Curriculum
- Classroom Resources
- Conclusions and Looking Forward
3Introduction
- Worldwide, there has been a recent growing
interest in video game studies in education
circles. - Many disciplines are looking into this
- Media studies
- Education
- Psychology and sociology
- Art and design
- Music
- And, of course, computer science
4Introduction
- Each discipline has its own interestsin studying
video games. - For example, media studies look into thecontent
of games and their impact onsociety. - As another example, many educators are
investigating the applicability and usefulness of
games as classroom learning tools. - In terms of computer science, interestis
typically focused on the issues surrounding the
development of games.
5Introduction
- Most interest in video games in computerscience
curriculum has been at the university and college
levels. - Developing games of commercial scale and
quality often requires a great deal ofbackground
and expertise. - For example, game studies at Western.
- Nevertheless, we are starting to see a move
towards the secondary and elementary levels as
well.
6Why Study Game Development?
- Why study video games in general?
- Why study game development in a computer science
curriculum? - Why study this at the secondary and elementary
levels? - There are a lot of good reasons, actually
7Why Study Game Development?The Challenge
- "Game programming is without a doubt the most
intellectually challenging field of Computer
Science in the world."
- André LaMothe
8Why Study Game Development?The Challenge
9Why Study Game Development?Good Computing
Problems
- Since game development builds on nearly all areas
of computer science, games can be a good
mechanism to teach students about computer
science in general. - Problems are entertaining and involve creativity
and ingenuity. - Yet, they also teach students about programming,
data structures, datamanagement, algorithms, and
so on.
10Why Study Game Development?Good Computing
Problems
- Studying game development can also provide rich
experiences to students - Working in teams.
- Interdisciplinary studies.
- Providing a creative outlet.
- Working on concrete, real-world problems and
applications. - Consequently, these can be very good computing
problems to investigate.
11Why Study Game Development?Industry Drivers
- The video game industry is a significant
component of the software industry - Several billions of dollars in sales each year,
and growing very rapidly. - More units distributed each year than virtually
any other category of software product. - Last year, the gaming industry pulled in more
revenue than Hollywood. - For the last several years, video games have been
selected as the most fun entertainment activity
of all North Americans according to surveys.
12Why Study Game Development?Industry Drivers
- Canada has a growing game industry.
- Ontario, in particular, is home to a
growingnumber of game companies. - To stay competitive, these companieswill need a
number of things - A skilled workforce to rely upon.
- New technologies to improve their products.
- New development tools and techniques that allow
their products to be built cheaper and faster,
without sacrificing quality.
13Why Study Game Development?Student Interest
- Students are definitely interested in game
development. - Since it provides an interesting, stimulating,
and educational experience, why not include it
more in their computer science course work? - Perhaps it might help attract studentsto
computer science
14Building Game Development Curriculum
- Building game development curriculum can be quite
challenging. - What topics should be presented?
- How should it be delivered?
- How should students be evaluated?
- Do tests and exams make sense, or is project work
all that is needed? - We will take a look at the answers to these and
other questions now
15Building Game Development Curriculum Topics
Game Design
Software Infrastructure
Technical Elements
(Graphics, Artificial Intelligence, Animation,
Physics, Networking, )
16Building Game Development Curriculum Topics
- Technical elements
- These compose the core technologies and
foundations that are used to support the game. - This includes graphics, animation, artificial
intelligence, networking, physics, and so on. - While each technology is relatively independent,
they must work in unison to provide a complete
gaming experience.
17Building Game Development Curriculum Topics
- Software infrastructure
- A good software design pulls the various
technical elements together to form a functional
software base to support the game. - This layer must keep in mind the best practices
of software engineering, including abstraction,
modularity, encapsulation, portability,
reusability, dependability, testability,
localization, robustness, maintainability,
correctness, scalability, usability, and so on. - We must also follow standard software engineering
processes during development.
18Building Game Development Curriculum Topics
- Game design
- With good software and technical design, we have
all the foundations for a game. - Having good foundations, however, is not enough
to produce a good game. - Good games require careful and thoughtful design
of the structure, content, and approach to
gameplay. - Without this, the game might be technically
sound, but just not enjoyable to play.
19Building Game Development Curriculum Topics
- Games in general
- Motivators and typesof players
- The evolution and history of video games
- Game genres
- The game development process
- Principles of game design (generic and
genre-specific) - Interactive storytelling
- Level design
- Puzzle/obstacle design
- Software lifecycle models for game development
- Technical issues (graphics, artificial
intelligence, animation, sound, networking, ) - Real-time software
- Engine design and implementation
- The game asset lifecycle
- Tools and supports
- Ethical/social issues
20Building Game Development Curriculum Topics
- While appropriate for a college or university
curriculum, some of these topics are too advanced
for a secondaryor elementary curriculum. - Quite a few, however, are appropriate for a
secondary and elementary curriculum. - They would be quite suitable for computer science
courses, especially multimedia. - Some might be good topics in other subjects.
21Building Game Development Curriculum Topics
Photo from the Space Pioneer Learning Adventures
Game Design Camp. 40 boys and girls (5th and 8th
graders) came together for two weeks to work in
same gender groups (with a teacher facilitator)
to design space related educational games.
22Building Game Development Curriculum Topics
- Game concepts and examples can beused to support
a traditional core computer science curriculum as
well. - Programming.
- Software design.
- Algorithms.
- Data structures and management.
- User interface design.
23Building Game Development Curriculum Topics
- The International Game Developers Association
(IGDA) has developed itsown curriculum framework
for game studies, and runs a discussion
e-maillist for this purpose as well. - Information can be found online at
- http//www.igda.org/academia/curriculum_framework.
php
24Building Game Development Curriculum Evaluation
- In a college or university curriculum focused on
game studies, student evaluation typically takes
the form of assignment or project work. - Students, alone or in a group, complete a small,
medium, or large sized game. - Tests and exams are relatively rare,but are not
unheard of. - Testing students on game studies can be
surprisingly difficult.
25Building Game Development Curriculum Evaluation
Screen shots from game projectsdeveloped in
Westerns game development course.
26Building Game Development Curriculum Evaluation
- In a secondary or elementary curriculum, tests
and exams could be more common, but are still
hard to construct. - Assignments and projects involving the
development of games would still play a key role,
however. - Especially true in courses where games are
studied for their own sake (like multimedia). - But, this can also hold true in courses where
games are used as examples of computing problems
(like programming).
27Building Game Development Curriculum Evaluation
- Assignments and projects in developing games must
be managed carefully. - Scope is likely the most serious problem.
- Complexity is also a big issue.
- Collecting content and game assetscan be
incredibly time consuming, andgenerating it
might not be an option. - Tools and resources must be in place first.
- Good progress tracking is a must.
28Building Game Development Curriculum Project
Ideas
- Before developing a game, it is important to
first consider just how much of the game will be
built by the students. - Scope and complexity are definitelylimiting
factors here. - There are several key parts to a game.
- Some may be acquired for use with minimal
difficulty and huge gains. - Others will need to be generated by the students
no matter what.
29Building Game Development Curriculum Project
Ideas
Content Creationand ManagementTools
Game Contentand Assets
Programmingand Support SDKs
Game Code
30Building Game Development Curriculum Project
Ideas
Content Creationand ManagementTools
Game Scriptingand Logic Tools
GameLogic
Game Contentand Assets
Game Engine
Programmingand Support SDKs
31Building Game Development Curriculum Project
Ideas
- A really good approach might be an
interdisciplinary approach. - At a secondary school, there are many disciplines
of study so why not use them? - Visual arts for artistic assets.
- English for story creation.
- Drama for voice acting and motion capture.
- Music for, well, music.
- Teaming up like this is a great way to have
really interesting and rewarding projects.
32Building Game Development Curriculum Project
Ideas
- Another interesting interdisciplinary approach
involves teaming up secondary and elementary
students together. - Elementary students design the game, while
secondary students build the game for them. - This allows for some new and interesting dynamics
and collaboration. - It could also inspire elementary students to
study computer science further when they reach
secondary school
33Building Game Development Curriculum Project
Ideas
Screen shot from Neomancer, an interdisciplinary
action/adventure/RPG projectbetween computer
science students at Western and art and design
students atSeneca College. Nearly 50
participants are involved in the project.
34Classroom Resources
- There are a variety of good resources available
to assist in class game development activities. - Software tools and programming environments.
- Books.
- Websites.
35Classroom Resources Software Supports
Game Maker. Available online at
http//www.gamemaker.nl.
36Classroom Resources Software Supports
KlikPlay. Available online at
http//www.clickteam.com/English/klilkplay.htm.
37Classroom Resources Software Supports
Adventure Game Studio. Available online at
http//www.adventuregamestudio.co.uk.
38Classroom Resources Software Supports
RPG Toolkit. Available online at
http//www.toolkitzone.com.
39Classroom Resources Software Supports
3D GameStudio. Available online at
http//conitec.net/a4info.htm.
40Classroom Resources Software Supports
BlitzPlus and Blitz3D. Available online at
http//www.blitzbasic.com.
41Classroom Resources Software Supports
- Other tools/engines/environments
- OGRE (http//www.ogre3d.org)
- Irrlicht (http//irrlicht.sourceforge.net)
- Popcap (http//developer.popcap.com)
- Blender (http//www.blender3d.org)
- Alice (http//www.alice.org)
- MUPPETS (http//muppets.rit.edu)
42Classroom ResourcesBooks
- Several publishers are now publishing books on
game development. - Some are getting to be appropriate forclassroom
use as textbooks. - A few of the more active publishers
- Thompson Course Technology (took over and
expanded Prima Tech/Premier Press series) - Pearson Education (through Addison-Wesley and
especially New Riders Games) - Charles River Media
- Wordware Publishing
43Classroom ResourcesWebsites
- Industry-oriented
- Entertainment Software Association
(http//www.theesa.com) - ESRB (http//www.esrb.org)
- IGDA (http//www.igda.org)
- Game development news
- Gamasutra (http//www.gamasutra.com)
- Slashdot (http//games.slashdot.org)
- And do not forget google!
- There are far too many good sites to list here!
44Classroom ResourcesWebsites
- Do not forget our course website
- http//www.csd.uwo.ca/courses/CS437b
- There are course notes, sample exams, and lots of
links to games-related material available on our
website.
45Conclusions and Looking Forward
- Moving forward with games in acurriculum
involves careful consideration - Sometimes negative perceptions of gamestaint the
study or use of games. - Being taken seriously by peers, parents,
thecommunity, and sometimes even students. - Issues in gender balance and inclusiveness.
- Will there be the support and resourcesmade
available that are needed?
46Conclusions and Looking Forward
- That said, games and game studies have been
successfully integrated before. - At the college and university levels.
- And at the secondary and elementary levels.
- With the growing acceptance of game studies at
all levels, the time is right to pursue this
further!
47Conclusions and Looking Forward
- Studying game development in a computer science
curriculum has many interesting and exciting
possibilities. - Interesting and engaging problems to solve.
- Opportunities to express creativity.
- Enriching experiences for students.
- Experience in working in groups.
- Possibilities for interdisciplinary studies.
- Studying games does not need to be limited to
computer science either!
48Conclusions and Looking Forward
- Many resources are becoming more readily
available to support this. - Software tools and environments.
- Textbook-grade references.
- Websites on the Internet.
- It is becoming easier and easier to add
games-related lessons and course work to a
computer science curriculum withgreat success!