Why Study Game Development? - Computer Science

Download Report

Transcript Why Study Game Development? - Computer Science

Game Development in
Computer Science Education
Dr. Michael Katchabaw
Department of Computer Science
The University of Western Ontario
London, Ontario, Canada
Outline





Introduction
Why Study Game Development?
Building Game Development Curriculum
Classroom Resources
Conclusions and Looking Forward
Introduction


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

Introduction

Each discipline has its own interests
in studying video games.
For example, media studies look into the
content of games and their impact on
society.
 As another example, many educators are
investigating the applicability and usefulness
of games as classroom learning tools.


In terms of computer science, interest
is typically focused on the issues
surrounding the development of games.
Introduction

Most interest in video games in computer
science curriculum has been at the
university and college levels.
Developing games of commercial scale
and quality often requires a great deal of
background and expertise.
 For example, game studies at Western.


Nevertheless, we are starting to see
a move towards the secondary and
elementary levels as well.
Why 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 …
Why Study Game Development?
The Challenge
"Game programming is without a doubt
the most intellectually challenging field of
Computer Science in the world."
- André LaMothe
Why Study Game Development?
The Challenge
Time
Budget
Networks
Animation
Artificial
Intelligence
Operating
Systems
Software
Engineering
Overall
Literature
Entertaining Player
Artwork
Experience!
Cinematography
Graphics
Architecture
Physics
Why 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, data
management, algorithms, and so on.

Why 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.
Why 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.
Why Study Game Development?
Industry Drivers

Canada has a growing game industry.


Ontario, in particular, is home to a growing
number of game companies.
To stay competitive, these companies
will 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.

Why 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 students
to computer science …
Building 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 …
Building Game Development
Curriculum: Topics
Game
Design
Software Infrastructure
Technical Elements
(Graphics, Artificial Intelligence, Animation, Physics, Networking, …)
Building 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.

Building 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.
Building 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.

Building Game Development
Curriculum: Topics








Games in general
Motivators and types
of 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
Building Game Development
Curriculum: Topics


While appropriate for a college or
university curriculum, some of these
topics are too advanced for a secondary
or 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.

Building 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.
Building Game Development
Curriculum: Topics

Game concepts and examples can be
used to support a traditional core
computer science curriculum as well.
Programming.
 Software design.
 Algorithms.
 Data structures and management.
 User interface design.

Building Game Development
Curriculum: Topics


The International Game Developers
Association (IGDA) has developed its
own curriculum framework for game
studies, and runs a discussion e-mail
list for this purpose as well.
Information can be found online at:
http://www.igda.org/academia/curriculum_framework.php
Building 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.
Building Game Development
Curriculum: Evaluation
Screen shots from game projects
developed in Western’s game
development course.
Building 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).

Building 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 assets
can be incredibly time consuming, and
generating it might not be an option.
 Tools and resources must be in place first.
 Good progress tracking is a must.

Building 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 definitely
limiting 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.

Building Game Development
Curriculum: Project Ideas
Content Creation
and Management
Tools
Game Content
and Assets
Game Code
Programming
and Support SDKs
Building Game Development
Curriculum: Project Ideas
Content Creation
and Management
Tools
Game Scripting
and Logic Tools
Game
Logic
Game Content
and Assets
Game Engine
Programming
and Support SDKs
Building 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.
Building 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 …
Building Game Development
Curriculum: Project Ideas
Screen shot from Neomancer, an interdisciplinary action/adventure/RPG project
between computer science students at Western and art and design students at
Seneca College. Nearly 50 participants are involved in the project.
Classroom Resources

There are a variety of good resources
available to assist in class game
development activities.
Software tools and programming
environments.
 Books.
 Websites.

Classroom Resources:
Software Supports
Game Maker. Available online at http://www.gamemaker.nl.
Classroom Resources:
Software Supports
Klik&Play. Available online at
http://www.clickteam.com/English/klilk&play.htm.
Classroom Resources:
Software Supports
Adventure Game Studio. Available online at
http://www.adventuregamestudio.co.uk.
Classroom Resources:
Software Supports
RPG Toolkit. Available online at http://www.toolkitzone.com.
Classroom Resources:
Software Supports
3D GameStudio. Available online at http://conitec.net/a4info.htm.
Classroom Resources:
Software Supports
BlitzPlus and Blitz3D. Available online at http://www.blitzbasic.com.
Classroom 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)

Classroom Resources:
Books

Several publishers are now publishing books
on game development.


Some are getting to be appropriate for
classroom 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
Classroom Resources:
Websites

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!
Classroom Resources:
Websites

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.
Conclusions and
Looking Forward

Moving forward with games in a
curriculum involves careful consideration:
Sometimes negative perceptions of games
taint the study or use of games.
 Being taken seriously by peers, parents, the
community, and sometimes even students.
 Issues in gender balance and inclusiveness.
 Will there be the support and resources
made available that are needed?

Conclusions 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!
Conclusions 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!
Conclusions 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 with
great success!