BSc Curriculum in Game Development at the Kalamalka Campus of OkanaganCollege

D. Warren, A. Boehm, and R. Gee

OkanaganUniversityCollege

{dwarren, aboehm, rgee}@ouc.bc.ca

Abstract

A curriculum for computer game development has been proposed for the new OkanaganCollege (Kalamalka Campus), with a start date of September 2006. This proposed curriculum offers only third and fourth yearcourses with graduates receiving an applied BSc in Computer Science.The program will accept students who have completed the first two years of a computer science degree.The program requires a total of 60 credits, including39 credits in upper level science with one course (three credits) in Math and one course (three credits) in Physics.The other 21 credits include courses exposing students to several disciplines: art production, audio design, cinema/narrative studies, and business topics related to venture capital investment.

Keywords:computer science curriculum, software engineering curriculum, computer game development, experimental curricula, video game curriculum

1.Introduction

In May 2003, the computer science department of Okanagan University College (OUC) held a faculty retreat.In response to declining enrolmentsat the Kalamalka Campus, the faculty decided to terminate the two year diploma program in Computer Information Systems (CIS.); the same program existed at North Kelowna campus and the two programs were ‘competing’ against each other for students.However during the retreat, the administrator at Kalamalka, Jim Hamilton (personal communication, May 27, 2003), requested that the department consider creating a new computer-related program.In September 2003, a committee was struck and a series of consultations began.As of February 2004, three options were considered (Thurber, 2004):

1.An engineering-oriented program that laddered to a university degree

(i.e. to the program at the University of Victoria).

2.A business-oriented program related to Management Information Systems (MIS).

3.A two-year diploma in computer game development.

Preliminary market research indicated that enrolments in engineering and technology were declining across North America.Several engineering departments reported this on an anecdotal basis.Long-established programs were having difficulty achieving target enrolments and so this option was not considered further.

Business programs in the Okanagan experience full enrolment and at the Kalamalka campus the business programs have the highest participation rates.The proposed MIS program was directed at business students and included a stream of study in database design, systems analysis and networking.Our committee discussionexamined whether or not a student living in Kelowna would commute one hour to Vernon to attend this program — for example, was the MIS program sufficiently differentiated from Hospitality Management?The committee decided that an MIS option should be pursued and located at the North Kelowna campus but would not have sufficient appeal to warrant the one-hour commute to and from Vernon.

The game development option was chosen for the following reasons.

1. High levels of interest when current CIS. students were surveyed.

2. The absence of other formal education programs in computer game development.

3.The potential appeal for international students.

Upon making the decision, the committee directed Art Boehm to initiate a series of contacts with industry representatives.On the basis of these discussions, the diploma program was discarded in favour of a four-year Bachelor of Science (BSc) — the first two years could be completed in any conventional computer science program; the program at the Kalamalka campus would provide the game development focus in the third and fourthyears.

2.Genesis

The term ‘game design’ refers to the non-technical elements of a computer game.Curriculum in game design is likely to be found in a fine arts program or in the humanities department.The term ‘game development’ refers to the technical aspects of production and includes code programming.Prior to 2001, the literature on computer game development and design could be found in many disparate fields of study (Warren, 2001).Since 2001, a large number of texts have been published that specifically relate to game development.Many of these texts are listed on the website of course outlines for the BSc Computer Game Development at OkanaganCollege (Cutt, 2004).These new publications indicate that much of the technical knowledge in industry is being systematically recorded and is available through conventional publishing outlets.

One industry association has created a curriculum framework (International Game Developer’s Association, 2005).Although primarily concerned with design curricula, the framework does refer to coding, production, audio design, visual design and business issues.At this time, we have found only one other university which offers a BSc in game development — University of Paisley in Scotland(BSc Computer Games Technology, 2005).Closer to our region, EdmondsCommunity College located outside Seattle offers a certificate in game development (Computer Game Development Certificate, 2005).One other institution on the east coast of the United States is proposing a program (Bray, 2004).Recently, the offering of a video game curriculum was announced as a collaboration between Université de Sherbrooke, CCGEP de Matane and Ubisoft, a company based in Montreal (Cardwell, 2005).The dearth of formal study opportunities in game development indicates that the curriculum being developed for OkanaganCollege does indeed qualify as new and experimental curriculum.

Game development as a specific field of study has emerged in the last three years and is beginning to exhibit the signs of academic status.A journal dedicated to game development published the first issue last year (Van Lent, 2004).At MIT, Henry Jenkins is principal investigator of Education Arcade— receiving $25 million in funding from Microsoft (Atwood, 2004).At the University of Southern California, a research chair has been endowed by Electronic Arts (EA) (Schachter, 2005), and a graduate program will focus on the software engineering of computer games (USC GamePipe Lab, 2004).Game development is also receiving increased attention from conventional publications (Blow, 2004), while mass media is more interested in the history of development (Video Game Revolution, 2004).

While game developers face many challenges (Frauenheim, 2004), industry contacts state that their biggest challenge is the waste of resources due to the lack of appropriate software engineering practices.The development of computer games may involve more art than science.In conventional programming the requirements are specified, and the success of the project is measured by how well the implementation has met those requirements.However, the development of a computer game may involve the radical reformulation of the requirements at any stage of development-even the final stage (Game Developers Conference, 1998, 1999, 2000, 2001).

Will Wright was creating a terrain editor as a tool to help him develop terrain visuals for a game; then he decided the terrain editor was more interesting than the original game—that editor became Sim City.Marc LeBlanc et al. were creating yet another DungeonsDragons-style role-playing game when they developed an intriguing thief character; they soon ditched the entire role playgame and then created Thief.

Will Wright was creating another simulation game; it was almost finished and then he went to Japan where he was introduced to the aesthetics of a Zen garden (i.e. it is not finished until there is nothing else you can remove)…he returned to California and stripped out all the features until there was nothing else he could remove.He left in ‘player mod’ abilities - the opportunity for the user to design their own modifications and thus The Sims were born.

It is worth noting that Sid Meier has created many successful strategy games—turn-based games.He was under significant pressure to provide real-time strategy games and he resisted.Others tried to duplicate his success and develop real-time strategy games—the common complaint is that these games are ‘too smart’ for the user and too difficult to win.These anecdotal reports from industry indicate that game development may present unique challengesfor the conventional practitioners of software engineering when the success of a product may depend on accepting the risk of late-stage reformulation of requirements.

3.You Need Math for Game Development at OkanaganCollege

The 2004-05 calendar for OUC specifies (among others) the following requirements for graduating with a Bachelor of Science.

“…at least 78 of the 120 credits must be Science course credits…at least 36 of 120 credits must be Science course credits from courses numbered 300 or higher…” p.51

The game development program will admit students who have completed the lower-level 60 credits at any institution.As outlined in Table 1, the lower-level credits (for first- and second-year) will include three math courses, one physics course, one chemistry course, as well as computer science courses in object-oriented programming, discrete structures, data structures, machine architectureand theoretical principles of computer science.

The upper-level curriculum specific to game development is outlined in Table 2 and includes 33 credits of upper-level credits in computer science, plus upper-level special topics courses in math and physics for a total of 39 science credits.The curriculum proposes six new courses in computer science plus four courses to create agame development project.The course descriptions for these new computer science courses are listed in Table 3, as well as three proposed service courses from other departments.In addition, there is one lower-level course in game design.The course content is based on the seminar tracks offered at the Game Developers Conference(2005).The industry trade show has been meeting annually for since 1989 and currently attracts 10,000 attendees from around the world.

4. Institutional and Ministry Approval

The program proposal and new course proposals have been prepared and are ready to be submitted to OkanaganCollege as soon as the governance bodies are created and constituted.As the department has already undergone a similar process for approval of the Bachelor of Computer Information Systems, and as this degree is also being offered at the college, we anticipate a swift approval at the institutional level.

As a new degree at the college, further approval will be needed from the Ministry of Advanced Education. As the degree has met the OUC requirements for a BSc, we will explore the possibility of the college issuing a conventional BSc, in recognition of the level of math achievement that must be demonstrated by students. If not, we presume that the applied designation will be acceptable to the ministry.Section 5.1 of the College and Institute Act does provide for the possibility of a BSc being granted:

“The minister may, by order, designate any of the following… a) an applied baccalaureate degree that a college may grant and the name for the applied baccalaureate degree; …(c) a baccalaureate degree that a Provincial institute may grant and the name for the baccalaureate degree;”Government of British Columbia (2005).

However, as noted below, industry has a history of recruiting employees with a conventional BSc in computer science.

Table 1: Calendar entry for game development curriculum

First Year / Credits
COSC 111 and 121 / 6
MATH 112 and 122 / 6
ENGL 153, plus one of ENGL 150, 151, 152 or 154 / 6
PHYS 111 or 112 / 3
PHYS 121 or 122 / 3
Electives1 (recommended COSC 109, 126, 131 or 150) / 6
Total / 30
Second Year / Credits
COSC 211, 221, 222, and 231 / 12
MATH 212 and 221 / 6
COSC 2XX
First Year Science (Biology, Chemistry or Psychology) / 3
3
Electives1 / 6
Total / 30
Third and Fourth Years / Credits
COSC 371, 372, 373, 374, 376 / 15
COSC XXX - Game Development Portfolio I, II & III / 9
COSC 310, 320 / 6
COSC 450, 315, 414, 322 / 12
FINA 137, 252 / 6
MATH XXX / 3
PHYS XXX / 3
BUAD XXX / 3
Elective (may take COSC 2XX) / 3
Total *** / 60

1 At least 18 credits (including 6 credits in first year English and 6 credits in Fine Arts) must be in Arts courses.

*** Course numbers based on current OUC calendar.

Table 2: BSc curriculum in Computer Game Development

Third Year Fall
MATH XXX / Mathematics for Game Development
COSC 315 / Operating Systems
COSC 371 / Production, Workflow and Asset Management
COSC 374 / Data Networks and Mobile Devices
Elective / may take COSC 2XX
Third Year Winter
PHYS XXX / Physics for Game Development
COSC 372 / Game Audio Design
COSC 414 / Computer Graphics
FINA 137 / Introduction to Art I
COSC XXX / Development Portfolio: Building Tools
Fourth Year Fall
COSC 304 / Introduction to Database Management
COSC 310 / Software Engineering
COSC 450 / Advanced Gaming Architecture
COSC 373 / Visual Design and Graphics
COSC XXX / Development Portfolio: Integrating Tools
Fourth Year Winter
COSC 322 / Introduction to Artificial Intelligence
BUAD XXX / Technology Entrepreneurship & Business Law
COSC 320 / Analysis of Algorithms
FINA 252 / Film Studies
COSC XXX / Development Portfolio: Console Implementation

Table 3: Course descriptions for new game development courses (page 1 of 2)

New Computer Science courses
COSC 2XX - Game Development and Design
This course is an introduction to the aesthetics of computer game design.A review of eighteen game design schemas, or conceptual frameworks, including games as systems of emergence and information, as contexts for social play, as a storytelling medium and as sites of cultural resistance. Building an aesthetic of interactive systems will facilitate the collaboration between developers and designers. / COSC 374 - Data Networks and Mobile Devices
This course will enable programmersto build a network library that can be reused in a variety of online games, implement network communications and then learn how to construct login and lobby systems.A fully functional network library will include a back-end database and a complete working online game. Topics include the basics of dialog-based Windows programming and an introduction to socket programming.
COSC 371 – Production, Workflow and Asset Management
This course reviews the scheduling of work and people, and the management of large data files (database), when developing a computer game. The scheduling portion of the course may involve Gantt charts, PERT charts and critical path scheduling. The asset management portion of the course may involve databases and other types of data structures, which will be evaluated for their effectiveness with datasets that vary in size and complexity.It explores how to create, manage and control a complex web of data, especially when there are many people editing it simultaneously.Tracking and sorting file names through the development process is one objective.Building programmer tools is an objective of the course.
COSC 372 - Game Audio Design
This course introduces a variety of issuesfamiliar to audio professionals.Programmers may interact with composers, sound designers, editors, mixers, voice-overs and music supervisors, thus they should be aware ofboth technical aspects and creative elements of sound design.Programmers must share knowledge and then solve problems unique to game development. / COSC 373 - Visual Design and Graphics
This course is asurvey of tools and advanced techniques in the production of visual art for computer games.Topics may include: character modeling, environmental modeling, texture mapping, animating characters faster with higher quality motion capture editing, animation synthesis and lip synced animation.The relationship between artist and programmer will also be explored.
COSC 450 - Advanced Gaming Architecture
This course enables the programmer to connect hardware components and mobile electronic devices for the purpose of meeting function, performance and cost goals. This course will focus on hardware issues that are unique to game development and explore recent innovations in consumer electronics. / COSC XXX
Development Portfolio I, II & III
These three courses explore the design and development of a computer game prototype.The project will generate design documents, proof-of-concept prototypes and play-testing metrics.The intent is to generate a prototype that is ready to be demonstrated to venture capitalists.

Table 3: Course descriptions for new game development courses (page 2 of 2)

New Service courses
Math XXX - Math for Game Development
This course is asurvey of key concepts in mathematics needed to understand physics engines, rendering, simulation and animation.Topics include texture filtering, interpolation, animation and basic game physics.Algorithmic foundations focus on optimization guidance. / BUAD XXX - Technology Entrepreneurship
This course is a survey of business concepts relevant to computer game development including: tort law, models of motivation and leadership, employment standards in the technology sector, software marketing, and seeking venture capital investment.
PHYS XXX - Physics for Game Development
This course is an introduction to the concepts and techniques needed to create physical simulations, Lagrangian dynamics, rigid body dynamics, impulse methods, resting contact, linear complementary problems, deformable bodies, mass-spring systems, friction, numerical solution of differential equations, numerical stability and its relationship to physical stability, and Verlet integration methods.

5.Game Developers Conference and Industry Contacts in Canada

In January 2004, Art Boehm began a series of consultations with industry.Graduates of conventional computer science programs often need to be retrained by industry.These discussions led to the following conclusions.

1. A four-year program of study in computer science is necessary for game development.

2. The first two years can include the standard introduction to computer science, supplemented by additional courses in mathematics.

3. The curriculum should specialize in game development issues in the upper levels, plus provide interdisciplinary exposure to visual graphics, audio design, as well as cinema and narrative studies.

4.Graduates should leave the program with a portfolio that includes one credible game, developed from scratch and compiled for a console (i.e. a consumer electronic device, such as Nintendo, Sony PlayStation and Microsoft XBox , that retails for $300 or less).

5.Programmers in the industry need to be tool builders or middleware developers.Proprietary tools are often deemed to be the most important assets.The goal is to develop an IDE (integrated development environment) for gaming.

6. A co-op work experience may be required to graduate.