game development in computer science education dr. michael katchabaw department of computer science...
TRANSCRIPT
Game Development in Game Development in Computer Science Computer Science EducationEducation
Dr. Michael KatchabawDr. Michael KatchabawDepartment of Computer ScienceDepartment of Computer ScienceThe University of Western OntarioThe University of Western OntarioLondon, Ontario, CanadaLondon, Ontario, Canada
OutlineOutline
IntroductionIntroduction Why Study Game Development?Why Study Game Development? Building Game Development Building Game Development
CurriculumCurriculum Classroom Resources Classroom Resources Conclusions and Looking ForwardConclusions and Looking Forward
IntroductionIntroduction
Worldwide, there has been a recent Worldwide, there has been a recent growing interest in video game growing interest in video game studies studies in education circles.in education circles.
Many disciplines are looking into this:Many disciplines are looking into this: Media studiesMedia studies EducationEducation Psychology and sociologyPsychology and sociology Art and designArt and design MusicMusic And, of course, computer scienceAnd, of course, computer science
IntroductionIntroduction
Each discipline has its own interestsEach discipline has its own interestsin studying video games.in studying video games. For example, media studies look into theFor example, media studies look into the
content of games and their impact oncontent of games and their impact onsociety.society.
As another example, many educators are As another example, many educators are investigating the applicability and investigating the applicability and usefulness of games as classroom learning usefulness of games as classroom learning tools.tools.
In terms of computer science, interestIn terms of computer science, interestis typically focused on the issues is typically focused on the issues surrounding the development of games.surrounding the development of games.
IntroductionIntroduction
Most interest in video games in Most interest in video games in computercomputerscience curriculum has been at the science curriculum has been at the university and college levels.university and college levels. Developing games of commercial scale Developing games of commercial scale
and quality often requires a great deal ofand quality often requires a great deal ofbackground and expertise.background and expertise.
For example, game studies at Western.For example, game studies at Western. Nevertheless, we are starting to see Nevertheless, we are starting to see
a move towards the secondary and a move towards the secondary and elementary levels as well.elementary levels as well.
Why Study Game Why Study Game Development?Development? Why study video games in general?Why study video games in general? Why study game development in a Why study game development in a
computer science curriculum?computer science curriculum? Why study this at the secondary and Why study this at the secondary and
elementary levels?elementary levels?
There are a lot of good reasons, There are a lot of good reasons, actually …actually …
Why Study Game Why Study Game Development?Development?The ChallengeThe Challenge
"Game programming is without a doubt "Game programming is without a doubt the most intellectually challenging field of the most intellectually challenging field of Computer Science in the world." Computer Science in the world." - André LaMothe - André LaMothe
Why Study Game Why Study Game Development?Development?The ChallengeThe Challenge
Graphics
ArtificialIntelligence
Animation
NetworksOperatingSystems Software
Engineering
Architecture
Physics
ArtworkOverall
Entertaining PlayerExperience!
Literature
Time Budget
Cinematography
Why Study Game Why Study Game Development?Development?Good Computing ProblemsGood Computing Problems Since game development builds on Since game development builds on
nearly all areas of computer science, nearly all areas of computer science, games can be a good mechanism to games can be a good mechanism to teach students about computer teach students about computer science in general.science in general. Problems are entertaining and involve Problems are entertaining and involve
creativity and ingenuity.creativity and ingenuity. Yet, they also teach students about Yet, they also teach students about
programming, data structures, dataprogramming, data structures, datamanagement, algorithms, and so on.management, algorithms, and so on.
Why Study Game Why Study Game Development?Development?Good Computing ProblemsGood Computing Problems Studying game development can also Studying game development can also
provide rich experiences to students:provide rich experiences to students: Working in teams.Working in teams. Interdisciplinary studies.Interdisciplinary studies. Providing a creative outlet.Providing a creative outlet. Working on concrete, real-world Working on concrete, real-world
problems and applications.problems and applications. Consequently, these can be very good Consequently, these can be very good
computing problems to investigate.computing problems to investigate.
Why Study Game Why Study Game Development?Development?Industry DriversIndustry Drivers The video game industry is a significant The video game industry is a significant
component of the software industry:component of the software industry: Several billions of dollars in sales each year, Several billions of dollars in sales each year,
and growing very rapidly.and growing very rapidly. More units distributed each year than virtually More units distributed each year than virtually
any other category of software product.any other category of software product. Last year, the gaming industry pulled in more Last year, the gaming industry pulled in more
revenue than Hollywood.revenue than Hollywood. For the last several years, video games have For the last several years, video games have
been selected as the “most fun entertainment been selected as the “most fun entertainment activity” of all North Americans according to activity” of all North Americans according to surveys.surveys.
Why Study Game Why Study Game Development?Development?Industry DriversIndustry Drivers Canada has a growing game industry.Canada has a growing game industry.
Ontario, in particular, is home to a growingOntario, in particular, is home to a growingnumber of game companies.number of game companies.
To stay competitive, these companiesTo stay competitive, these companieswill need a number of things:will need a number of things: A skilled workforce to rely upon.A skilled workforce to rely upon. New technologies to improve their products.New technologies to improve their products. New development tools and techniques that New development tools and techniques that
allow their products to be built cheaper and allow their products to be built cheaper and faster, without sacrificing quality.faster, without sacrificing quality.
Why Study Game Why Study Game Development?Development?Student InterestStudent Interest Students are definitely interested in Students are definitely interested in
game development.game development. Since it provides an interesting, Since it provides an interesting,
stimulating, and educational stimulating, and educational experience, why not include it more experience, why not include it more in their computer science course in their computer science course work?work?
Perhaps it might help attract studentsPerhaps it might help attract studentsto computer science …to computer science …
Building Game Building Game Development Development CurriculumCurriculum Building game development Building game development
curriculum can be quite challenging.curriculum can be quite challenging. What topics should be presented?What topics should be presented? How should it be delivered?How should it be delivered? How should students be evaluated?How should students be evaluated? Do tests and exams make sense, or is Do tests and exams make sense, or is
project work all that is needed?project work all that is needed? We will take a look at the answers to We will take a look at the answers to
these and other questions now …these and other questions now …
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
GameDesign
Technical Elements
Software Infrastructure
(Graphics, Artificial Intelligence, Animation, Physics, Networking, …)
Technical elements:Technical elements: These compose the core technologies These compose the core technologies
and foundations that are used to support and foundations that are used to support the game.the game.
This includes graphics, animation, This includes graphics, animation, artificial intelligence, networking, artificial intelligence, networking, physics, and so on.physics, and so on.
While each technology is relatively While each technology is relatively independent, they must work in unison independent, they must work in unison to provide a complete gaming to provide a complete gaming experience.experience.
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
Software infrastructure:Software infrastructure: A good software design pulls the various A good software design pulls the various
technical elements together to form a technical elements together to form a functional software base to support the game.functional software base to support the game.
This layer must keep in mind the best practices This layer must keep in mind the best practices of software engineering, including abstraction, of software engineering, including abstraction, modularity, encapsulation, portability, modularity, encapsulation, portability, reusability, dependability, testability, reusability, dependability, testability, localization, robustness, maintainability, localization, robustness, maintainability, correctness, scalability, usability, and so on.correctness, scalability, usability, and so on.
We must also follow standard software We must also follow standard software engineering processes during development.engineering processes during development.
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
Game design:Game design: With good software and technical design, With good software and technical design,
we we have all the foundations for a game.have all the foundations for a game.
Having good foundations, however, is not Having good foundations, however, is not enough to produce a good game.enough to produce a good game.
Good games require careful and thoughtful Good games require careful and thoughtful design of the structure, content, and design of the structure, content, and approach to gameplay.approach to gameplay.
Without this, the game might be technically Without this, the game might be technically sound, but just not enjoyable to play.sound, but just not enjoyable to play.
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
Games in generalGames in general Motivators and typesMotivators and types
of playersof players The evolution and The evolution and
history of video gameshistory of video games Game genresGame genres The game The game
development processdevelopment process Principles of game Principles of game
design (generic and design (generic and genre-specific)genre-specific)
Interactive storytellingInteractive storytelling Level designLevel design
Puzzle/obstacle designPuzzle/obstacle design Software lifecycle models Software lifecycle models
for game developmentfor game development Technical issues Technical issues
(graphics, artificial (graphics, artificial intelligence, animation, intelligence, animation, sound, networking, …)sound, networking, …)
Real-time softwareReal-time software Engine design and Engine design and
implementationimplementation The game asset lifecycleThe game asset lifecycle Tools and supportsTools and supports Ethical/social issuesEthical/social issues
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
While appropriate for a college or While appropriate for a college or university curriculum, some of these university curriculum, some of these topics are too advanced for a secondarytopics are too advanced for a secondaryor elementary curriculum.or elementary curriculum.
Quite a few, however, are appropriate for Quite a few, however, are appropriate for a secondary and elementary curriculum.a secondary and elementary curriculum. They would be quite suitable for computer They would be quite suitable for computer
science courses, especially multimedia.science courses, especially multimedia. Some might be good topics in other subjects.Some might be good topics in other subjects.
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
Building Game Building Game Development Development Curriculum: TopicsCurriculum: 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.
Game concepts and examples can beGame concepts and examples can beused to support a traditional core used to support a traditional core computer science curriculum as well.computer science curriculum as well. Programming.Programming. Software design.Software design. Algorithms.Algorithms. Data structures and management.Data structures and management. User interface design.User interface design.
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
The International Game Developers The International Game Developers Association (IGDA) has developed itsAssociation (IGDA) has developed itsown curriculum framework for game own curriculum framework for game studies, and runs a discussion e-mailstudies, and runs a discussion e-maillist for this purpose as well.list for this purpose as well.
Information can be found online at:Information can be found online at:
http://www.igda.org/academia/curriculum_framework.phphttp://www.igda.org/academia/curriculum_framework.php
Building Game Building Game Development Development Curriculum: TopicsCurriculum: Topics
In a college or university curriculum In a college or university curriculum focused on game studies, student focused on game studies, student evaluation typically takes the form evaluation typically takes the form of assignment or project work.of assignment or project work. Students, alone or in a group, complete Students, alone or in a group, complete
a small, medium, or large sized game.a small, medium, or large sized game. Tests and exams are relatively rare,Tests and exams are relatively rare,
but are not unheard of.but are not unheard of. Testing students on game studies can Testing students on game studies can
be surprisingly difficult.be surprisingly difficult.
Building Game Building Game Development Development Curriculum: EvaluationCurriculum: Evaluation
Building Game Building Game Development Development Curriculum: EvaluationCurriculum: Evaluation
Screen shots from game projectsdeveloped in Western’s game
development course.
In a secondary or elementary In a secondary or elementary curriculum, tests and exams could be curriculum, tests and exams could be more common, but are still hard to more common, but are still hard to construct. construct.
Assignments and projects involving the Assignments and projects involving the development of games would still play a development of games would still play a key role, however.key role, however. Especially true in courses where games are Especially true in courses where games are
studied for their own sake (like multimedia).studied for their own sake (like multimedia). But, this can also hold true in courses But, this can also hold true in courses
where games are used as examples of where games are used as examples of computing problems (like programming).computing problems (like programming).
Building Game Building Game Development Development Curriculum: EvaluationCurriculum: Evaluation
Assignments and projects in developing Assignments and projects in developing games must be managed carefully.games must be managed carefully. Scope is likely the most serious problem.Scope is likely the most serious problem. Complexity is also a big issue.Complexity is also a big issue. Collecting content and game assetsCollecting content and game assets
can be incredibly time consuming, andcan be incredibly time consuming, andgenerating it might not be an option.generating it might not be an option.
Tools and resources must be in place first.Tools and resources must be in place first. Good progress tracking is a must.Good progress tracking is a must.
Building Game Building Game Development Development Curriculum: EvaluationCurriculum: Evaluation
Before developing a game, it is Before developing a game, it is important to first consider just how important to first consider just how much of the game will be built by the much of the game will be built by the students.students. Scope and complexity are definitelyScope and complexity are definitely
limiting factors here.limiting factors here. There are several key parts to a game.There are several key parts to a game.
Some may be acquired for use with Some may be acquired for use with minimal difficulty and huge gains.minimal difficulty and huge gains.
Others will need to be generated by the Others will need to be generated by the students no matter what.students no matter what.
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Game Contentand Assets
Content Creationand Management
Tools
Programmingand Support SDKsGame Code
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Game Engine
GameLogic
Game Contentand Assets
Content Creationand Management
Tools
Game Scriptingand Logic Tools
Programmingand Support SDKs
A really good approach might be an A really good approach might be an interdisciplinary approach.interdisciplinary approach.
At a secondary school, there are many At a secondary school, there are many disciplines of study so why not use them?disciplines of study so why not use them? Visual arts for artistic assets.Visual arts for artistic assets. English for story creation.English for story creation. Drama for voice acting and motion capture.Drama for voice acting and motion capture. Music for, well, music.Music for, well, music.
Teaming up like this is a great way to Teaming up like this is a great way to have really interesting and rewarding have really interesting and rewarding projects.projects.
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Another interesting interdisciplinary Another interesting interdisciplinary approach involves teaming up approach involves teaming up secondary and elementary students secondary and elementary students together.together. Elementary students design the game, while Elementary students design the game, while
secondary students build the game for secondary students build the game for them.them.
This allows for some new and interesting This allows for some new and interesting dynamics and collaboration.dynamics and collaboration.
It could also inspire elementary students It could also inspire elementary students to study computer science further when to study computer science further when they reach secondary school …they reach secondary school …
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Building Game Building Game Development Development Curriculum: Project Curriculum: Project IdeasIdeas
Screen shot from Neomancer, an interdisciplinary action/adventure/RPG projectbetween computer science students at Western and art and design students at
Seneca College. Nearly 50 participants are involved in the project.
Classroom ResourcesClassroom Resources
There are a variety of good There are a variety of good resources available to assist in class resources available to assist in class game development activities.game development activities. Software tools and programming Software tools and programming
environments.environments. Books.Books. Websites.Websites.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
Game Maker. Available online at http://www.gamemaker.nl.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
Klik&Play. Available online at http://www.clickteam.com/English/klilk&play.htm.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
Adventure Game Studio. Available online at http://www.adventuregamestudio.co.uk.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
RPG Toolkit. Available online at http://www.toolkitzone.com.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
3D GameStudio. Available online at http://conitec.net/a4info.htm.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports
BlitzPlus and Blitz3D. Available online at http://www.blitzbasic.com.
Classroom Resources: Classroom Resources: Software SupportsSoftware Supports Other tools/engines/environments:Other tools/engines/environments:
OGRE (http://www.ogre3d.org)OGRE (http://www.ogre3d.org) Irrlicht (http://irrlicht.sourceforge.net)Irrlicht (http://irrlicht.sourceforge.net) Popcap (http://developer.popcap.com)Popcap (http://developer.popcap.com) Blender (http://www.blender3d.org)Blender (http://www.blender3d.org) Alice (http://www.alice.org)Alice (http://www.alice.org) MUPPETS (http://muppets.rit.edu)MUPPETS (http://muppets.rit.edu)
Classroom Resources:Classroom Resources:BooksBooks Several publishers are now publishing Several publishers are now publishing
books books on game development.on game development. Some are getting to be appropriate forSome are getting to be appropriate for
classroom use as textbooks.classroom use as textbooks. A few of the more active publishers:A few of the more active publishers:
Thompson Course Technology (took over and Thompson Course Technology (took over and expanded Prima Tech/Premier Press series)expanded Prima Tech/Premier Press series)
Pearson Education (through Addison-Wesley Pearson Education (through Addison-Wesley and especially New Riders Games)and especially New Riders Games)
Charles River MediaCharles River Media Wordware PublishingWordware Publishing
Classroom Resources:Classroom Resources:WebsitesWebsites
Industry-orientedIndustry-oriented Entertainment Software Association Entertainment Software Association
(http://www.theesa.com)(http://www.theesa.com) ESRB (http://www.esrb.org)ESRB (http://www.esrb.org) IGDA (http://www.igda.org)IGDA (http://www.igda.org)
Game development newsGame development news Gamasutra (http://www.gamasutra.com)Gamasutra (http://www.gamasutra.com) Slashdot (http://games.slashdot.org)Slashdot (http://games.slashdot.org)
And do not forget google!And do not forget google! There are far too many good sites to list There are far too many good sites to list
here!here!
Classroom Resources:Classroom Resources:WebsitesWebsites Do not forget our course website:Do not forget our course website:
http://www.csd.uwo.ca/courses/CS437bhttp://www.csd.uwo.ca/courses/CS437b
There are course notes, sample There are course notes, sample exams, and lots of links to games-exams, and lots of links to games-related material available on our related material available on our website.website.
Conclusions and Conclusions and Looking ForwardLooking Forward Moving forward with games in aMoving forward with games in a
curriculum involves careful consideration:curriculum involves careful consideration: Sometimes negative perceptions of gamesSometimes negative perceptions of games
taint the study or use of games. taint the study or use of games. Being taken seriously by peers, parents, theBeing taken seriously by peers, parents, the
community, and sometimes even students.community, and sometimes even students. Issues in gender balance and inclusiveness.Issues in gender balance and inclusiveness. Will there be the support and resourcesWill there be the support and resources
made available that are needed?made available that are needed?
Conclusions and Conclusions and Looking ForwardLooking Forward That said, games and game studies That said, games and game studies
have been successfully integrated have been successfully integrated before.before. At the college and university levels.At the college and university levels. And at the secondary and elementary And at the secondary and elementary
levels.levels.
With the growing acceptance of game With the growing acceptance of game studies at all levels, the time is right studies at all levels, the time is right to pursue this further!to pursue this further!
Conclusions and Conclusions and Looking ForwardLooking Forward Studying game development in a Studying game development in a
computer science curriculum has many computer science curriculum has many interesting and exciting possibilities.interesting and exciting possibilities. Interesting and engaging problems to Interesting and engaging problems to
solve.solve. Opportunities to express creativity.Opportunities to express creativity. Enriching experiences for students.Enriching experiences for students. Experience in working in groups.Experience in working in groups. Possibilities for interdisciplinary studies.Possibilities for interdisciplinary studies.
Studying games does not need to be Studying games does not need to be limited to computer science either!limited to computer science either!
Conclusions and Conclusions and Looking ForwardLooking Forward Many resources are becoming more Many resources are becoming more
readily available to support this.readily available to support this. Software tools and environments.Software tools and environments. Textbook-grade references.Textbook-grade references. Websites on the Internet.Websites on the Internet.
It is becoming easier and easier to It is becoming easier and easier to add games-related lessons and add games-related lessons and course work to a computer science course work to a computer science curriculum withcurriculum withgreat success!great success!