Creating a Game Development Course with

Creating a Game Development Course with
Limited Resources: An Evaluation Study
ALBERT D. RITZHAUPT
University of North Carolina, Wilmington
This article provides an overview of the challenges in implementing a game development course
with limited resources in computing curricula. An approach to a holistic game development course
is outlined in terms of its organization, software, and instructional methods. The course had 23
students enrolled in its first offering and was systematically evaluated in light of the approach
using multiple sources of data. Descriptive statistics and measures of internal consistency reliability are provided. Three important findings resulted from this research: 1) a game development course can be implemented with limited institutional monetary support for a reasonable
cost per student, 2) cooperation and competition can be effectively integrated into a game development course as instructional strategies, and 3) integrated lecture and computer lab sessions with
cooperative learning is an effective instructional method for a game development course. Finally,
insights and lessons learned are provided to assist educators in creating their own game development courses.
Categories and Subject Descriptors: K.3.2 [Computer Milieux]: Computers and Education—
Computer and Information Science Education, curriculum
General Terms: Human Factors
Additional Key Words and Phrases: Game development curriculum, game development tools,
computing education, educational evaluation
ACM Reference Format:
Ritzhaupt, A. D. 2009. Creating a game development course with limited resources: An evaluation
study. ACM Trans. Comput. Educ. 9, 1, Article 3 (March 2009), 16 pages.
DOI = 10.1145/1513593.1513596. http://doi.acm.org/10.1145/1513593.1513596.
1. INTRODUCTION
Computing programs have been integrating game development courses into
their curriculum in an effort to expose students to an industry now larger
than Hollywood [Weber 2007]. Though the industry has grown dramatically, many institutions of higher education have been slow to develop such
courses for a wide range of reasons; including the span of cross-curricular skills
Author’s address: A. D. Ritzhaupt, Univetsity of North Carolina Wilmington, Department of Instructional Technology, Foundations, and Secondary Education 601 S. College Rd., Wilmington,
NC 28403-5980; email: [email protected].
Permission to make digital/hard copy of all or part of this material without fee for personal or
classroom use provided that the copies are not made or distributed for profit or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice
is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post
on servers, or to redistribute to lists requires prior specific permission and/or a fee. Permission
may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY
10121-0701, USA, fax +1 (212) 869-0481, or [email protected].
c 2009 ACM 1531-4278/2009/03-ART3 $5.00 DOI: 10.1145/1513593.1513596.
http://doi.acm.org/10.1145/1513593.1513596.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 2
·
A. D. Ritzhaupt
required to create games, the inherent time-constraints in implementing largescale games, the lack of interest or expertise of senior faculty in teaching game
courses, or the often questionable view that game development is not serious
academics [Becker and Parker 2007; Martin and Smith 2002]. This article
is an evaluation study about such a program in which the first experimental
game development course was implemented with less than three months of
preparation (an estimated 400 hours of development time). The motivation for
implementing the course was to add an elective course in game development
to reach interested gaming students. The instructor of this course had never
learned to develop games, nor had the instructor ever taught such a course.
Instead, the instructor was merely a game player enthusiast with limited
knowledge in each of the areas required to develop games (e.g., physics,
computer graphics, multimedia, etc.). In particular, the instructor’s background was in computing sciences and educational technology. Put simply,
this is a story about an instructor who had some of the basic skills necessary,
but required a lot of preparation if the course was to be a success. Thus, the
purpose of this article is to provide other educators an overview of the many
challenges in creating a technical game development course, an overview of
the course design and tools used in this instructor’s first attempt, and some
lessons learned for those educators interested in implementing game development courses in their departments and programs.
2. CHALLENGES AND SOLUTIONS
The first challenge in implementing a game development course was selecting the approach. The implementations of game development curricula range
from single courses [Jones 2000; Parberry et al. 2005; Sweedyk and Keller
2005] to course sequences [Parberry et al. 2006; Clark et al. 2007; Rocco and
Yoder 2007] to integrated topics across a traditional curriculum [Coleman
et al. 2005]. The individual courses range in focus from game engine programming [Shultz 2004] to technical artwork [Parberry et al. 2006] to holistic,
cross-curricular game development courses that span all aspects of game
development [Jones 2000; Martin and Smith 2002]. Selecting the scope, purpose, and direction of a game development initiative within an academic
program is a critical step, especially in light of limited resources.
Game development courses are most often housed within computer science
curricula. However, computing departments and programs are often composed
of multiple degree programs and majors that transcend the broad field of computing and information sciences, which might include information systems,
information sciences, information technology, and software engineering to
name a few. This creates a problem when designing curriculum in that one
cannot assume equal levels of prerequisite knowledge, especially in mathematics, programming, and sciences. Taking this into consideration, and in
consultation with other faculty members within the department under discussion, it was decided that the game development course should provide students
broad exposure to all areas of game development without focusing too heavily
in one area.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 3
2.1 Tools and Resources
The next major challenge in developing this course was identifying a suite of
tools and educational resources in a relatively short timeline (three months).
Given that the course was experimental in nature, budget was also a major
concern. Put simply, there was not a course preparation budget available.
There was a clear need for low-cost, user-friendly tools that students could
download and/or purchase. The situation also demanded existing educational
resources for the instructor and students. After an investigation of similar
courses offered at institutions of higher education and identifying available
tools, a suite of six different tools that could be purchased by students for no
more than $135 were selected.
One clear benefit of having students purchase their own license to the
game engine is that students will retain the copyrights to their produced
games. These tools included the Torque Game Engine (version 1.4), Milkshape
3D, QuArk, Audacity, Gimp, and Nullsoft Scriptable Install System. Table I
combines the information about these various tools and their purpose in this
course. It should be noted that students did not have to purchase MilkShape
3D because it includes a 30-day evaluation and permits read-only access to files
afterwards. Not all of these tools receive equal attention within the course. The
most difficult tool to use is the Torque Game Engine (TGE) as it is the utility
used to combine all the assets and create entertaining games.
The next challenge was learning how to use the tools, and selecting and
creating educational materials that could be used in the course. One of the
factors used in selecting the game engine (TGE) was not only its quality and
price; the TGE community, managed by GarageGames.com, is very active and
posts a wealth of educational resources on how to use TGE for specific tasks
and game engine modifications. Additionally, there are many online tutorials
available for each of the software tools that can be easily referenced during an
academic semester.
Two textbooks were particularly useful in learning TGE, as well as
MilkShape 3D and QuArK. Both of these textbooks are shown in Figure 1.
The first textbook, The Game Programmer’s Guide to Torque: Under the Hood
of the Torque Game Engine, by Edward F. Maurina, provided an overview of the
architecture and scripting elements of TGE, and a step-by-step game implementation. It also includes a compact disc with many resources, including full
documentation for the engine, scripting examples, splash screens, and sample
games [Maurina 2006]. This textbook was required for the course. The second
textbook, 3D Game Programming: All in One by Kenneth C. Finney, provided
examples of how to use MilkShape 3D and QuArK for creating game art assets,
such as buildings, guns, nonhuman players, and any other resources [Finney
2004]. This was a recommended textbook for the course.
In addition to the technical aspects of this course, the instructor also had
to learn about the principles and models used for game development, and
review basic physics and the basics of game artificial intelligence. There are
many textbooks covering these broad topics. For instance, Adams and Rollings
[2006], Ahlquist and Novak [2007], and Saulter [2007] have helpful game
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 4
·
A. D. Ritzhaupt
Table I. Software Selection by Name, Location, Cost, License, Overview, and Purpose
Name, Difficulty
Location
Torque Game Engine (TGE)
www.garagegames.com
Cost and
Licensing
Downloadable.
$100 for old version
(v1.4); $150 for new
version (v1.5) for
Indie, single-user.
license
Overview and
Purpose
3D AAA game development
engine that includes support
for world editing, multiplayer,
*****
shape rendering, scripting
language, splash screens, and
more. It includes the source
code for modifications. This is
the primary tool in this course
as it pulls all the resources
together to create a robust.
game
Milkshape 3D
Downloadable. 30-day
MilkShape 3D is a low-polygon
chumbalum.swissquake.ch
free evaluation followed
modeler used to create world
by a $35 single-user
objects, avatars, animations,
***
license
and more. It supports
more than 70 file formats.
Quake Army Knife (QuArK)
Downloadable. Free for
QuArK is used to model
quark.planetquake.gamespy.com use. Donations accepted.
complex 3D shapes and maps,
including those things that
****
can be walked on (e.g., bridges)
or in (e.g., buildings).
Audacity
Downloadable. Free
Audacity is an open-source
audacity.sourceforge.net
for use. Open source.
sound editor. It can be used to
record and manipulate audio
**
files for incorporation into
a game.
GNU Image Manipulation
Downloadable. Free
GIMP is a versatile graphics
Program (GIMP)
for use. Open source.
manipulation package. This
www.gimp.org
tool is used to create and edit
textures and other graphics
**
for a game.
Nullsoft Scriptable Install
Downloadable. Free
NSIS is a tool for the
System (NSIS)
for use. Open source.
development of Windows
sourceforge.net/projects/nsis/
installers. This tool is used to
combine game resources for
*
distribution and installation.
*Represents instructor-designated difficulty on a five-point scale.
development textbooks providing coverage of these topics. The author would
like to note that it is not recommended that faculty members without some
exposure to physics, multimedia, computer graphics, and basic networking attempt to teach this type of course without more time for preparation in these
areas. These are requisite content areas to teach in the course.
3. COURSE DESIGN
3.1 Overview and Deliverables
After learning to use each of the tools and reading enough literature on game
development, the next step was to start designing the course. As previously
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 5
Fig. 1. Textbooks used to learn software tools.
noted, the undergraduate course was intended to be a holistic game development course spanning the entire game development process and culminating
in the implementation of a complete game. The prerequisite for the course
was a junior-level data structures course either in CS, IS, or IT programs. It
was decided early on that the complete game would be implemented in groups
of two or three since an objective across computing curriculum is teamwork
[ACM/IEE 2001; ACM, AIS, AITP 2002]. The students were allowed to form
their own groups based on interests. The course would be delivered in a faceto-face format, supported by online multimedia materials, during a traditional
16-week semester. The overarching goal of the course was to provide students
experience in multiple areas of game development using low-cost and userfriendly tools. The course description is:
This course is intended to provide students an overview of game
development. Topics include the game development life cycle, an
overview of the game industry, and an emphasis on game design and
programming which includes some of the mathematics, modeling,
animation, physics, and artificial intelligence used to create games.
Students practice these concepts in several assignments using Torque
Game Engine/Torque script. The course will culminate with the
implementation of a complete game.
To assure both group and individual accountability, individual assignments
were designed to help students acquire the basic skills necessary to implement
a game. Additionally, all students were required to complete a peer-evaluation
at the completion of the course to thwart the threat of “free-riders.” The final
grades were composed of three areas: activities (20%), individual assignments
(40%), and the game implementation (40%). Activities grades were based on
in-class participation, attendance at lab sessions, and small homework assignments related to conceptual materials in the course (e.g., game mathematics
worksheet). As the course was a project-based learning experience, no examinations were used in determining grades.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 6
·
A. D. Ritzhaupt
3.2 Course Organization
The course materials were organized into five phases: game development
overview, game technical artwork, Torque Game Engine basics, game development labs, and game quality assurance.1 Table II provides an overview of
these five phases, in relation to the major deliverables. The first phase focused on the basics of game development and some background knowledge
that would be important for understanding concepts later in the course. This
phase was delivered primarily by face-to-face lectures, in-class activities, and
notes written by the instructor that were posted to Blackboard as PDF files for
later use. In the first assignment, students were required to evaluate their
favorite game in relation to 25 different characteristics (e.g., game rating,
genre, spatiality, etc.). Students were also required to turn in a mathematics worksheet for activity points.
The second phase of the course focused on the basics of 3D modeling,
creating textures, audio sound recording and manipulation, creating skeletons, rigging models to skeletons, and animating complex movements. Most
of the material was delivered via face-to-face lectures during software demonstrations. During this phase, students were exposed to Milkshape 3D, QuArK,
GIMP, and Audacity. Students demonstrated their mastery of the tools and
concepts in the second assignment with the implementation of a pictureperfect real-world object, an animated object, and an interior, such as a house
or generic building. Additionally, student groups were required to submit the
game design document outlining their group project.
The third phase of the course focused solely on providing students the basics
skills to use Torque Scripting Language and teaching the basics of the TGE,
which included the engine architecture, base classes, terrain editing, collision
detection, and engine modifications. Special emphasis during this phase was
placed on showing students how to find resources in the GarageGames.com
online community that could be incorporated into their games. This phase
included face-to-face lectures, software demonstrations, and supplementary
animated screen captures with narration that students could reference at a
latter time. Two deliverables were submitted during this phase: 1) the third
assignment required students to incorporate their shapes from Assignment
2 and to implement an action upon colliding with those shapes in the game
world, and 2) the fourth assignment required students to complete step-bystep tutorials in the implementation of a game found in the textbook, the incorporation of an element that would be used in their group project, and the
creation of a game installer. The game installer was implemented using NSIS,
and thus time was devoted to introducing this utility during this phase.
The fourth phase turned out to be one of the most effective aspects of the
course design: having students work in their groups in a computer lab. During these regularly scheduled sessions, the instructor would move around the
computer lab to each group trying to assist with questions. Often groups
would encounter problems for which neither the instructor nor students had
1 To
access resources, visit http://aritzhaupt.com/courses/cis4993/.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 7
Table II. Game Development Course Phases, Course Materials, and Deliverables
Phase and Duration
Game Development Basics
(3 weeks)
Game Technical Artwork
(3 weeks)
Torque Game Engine Basics
(4 weeks)
Game Development Labs
(4 weeks)
Game Quality Assurance
(2 weeks)
Materials Covered
Game development life-cycle
Game terminology
Overview of game industry
Game mathematics
Game physics
Game artificial intelligence
Static art assets using
Milkshape 3D
Textures using GIMP
Animations using Milkshape
Interiors using QuArK
Recording/editing audio
using Audacity
TGE game architecture
Terrain and world editing
Torque Scripting Language
Mission objects, including
weather, sky, clouds, fog, etc.
Special effects, including
particle emitters
Engine modifications
Paths and cameras
Scheduling and projectiles
Game installers with NSIS
Game interfaces
Game publishing
Materials covered and
learned varied from group
to group.
Alpha, Beta and Gold testing
Game Distribution
Game Marketing
Deliverables
Assignment 1
(Evaluate favorite game,
define 25 different aspects)
Game Design Document
(Group design documents for
a 3D game)
Assignment 2
(3D modeling and animation)
Assignment 3
(Basic game implementation
with TGE using Assignment 2
models and collision detection)
Assignment 4
(Textbook game
implementation part 1, group
project element, installers)
Assignment 5
(Textbook game
implementation part 2, group
project element, installers)
Final Game Implementation
(The final game and
supporting documentation)
Peer Evaluations
(Group and Game Evaluation)
a solution. This type of problem resulted in creative discussions and troubleshooting among students and the instructor until solutions were discovered.
Time during this phase was also allotted to creating splash screens and interfaces for the final games, and the process surrounding publishing games (e.g.,
copyrights). Only one deliverable was required during this phase aside from
mandatory attendance. This assignment was very similar to Assignment 4
with the exception that the fifth and final assignment is the completion of a
step-by-step textbook game titled MazeRunner [Maurina 2006].
The fifth and final phase of the course was focused on game quality assurance. All groups presented their preliminary games at an open forum in which
students from the university played the games and asked questions. Face-toface lecture time was spent on game testing, including alpha, beta, and gold
testing; and game marketing models. Each team was required to showcase
their games at a workstation for a minimum duration of two hours. During
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 8
·
A. D. Ritzhaupt
this time, students were required to take notes while observing people playing
their games. The purpose of the activity was to emulate a usability and entertainment test. Groups were provided an opportunity to revise their games in
light of the feedback collected. Finally, students within the course evaluated
the games of all the other teams. This served as a summative evaluation and
as the mechanism to select the winning team in the course (see next section).
3.3 Integrating Competition and Cooperation
As cooperation and competition are frequently cited as motivational factors
for game play [Adams and Rollings 2006; Saulter 2007], the instructor set a
goal to integrate both competitive and cooperative elements into the course
design. To engender competition between the teams, a policy was adopted to
award the team with the overall best game, as defined by total scores on a
game evaluation rubric, an automatic A on the game project. Each game was
evaluated by every student in the class who did not participate in the game’s
development. To assure students were taking the activity seriously, activity
points were contingent upon submitting complete evaluations.
To create a community of cooperation, the instructor implemented a policy
to award extra credit (up to five points towards the final grade) to the students
(individually) who participated most in answering questions posted to the discussion board and/or assisted the most during computer lab sessions. All students had access to a discussion board organized by deliverable in Blackboard.
Both policies were stated on the syllabus and were thoroughly discussed in the
first class session.
3.4 Comparison to Other Approaches
Unlike other game development course implementations, this course was a
single course elective in game development as opposed to integrated curricula
in computer science that spans several courses or an entire degree program
[Parberry et al. 2006; Clark et al. 2007; Rocco and Yoder 2007; Coleman et al.
2005]. Additionally, this course was open to students in computer science, information systems, and information technology degree programs. The course
was intended not to focus on one singular topic in game development, but
rather span multiple aspects of game development. The course was similar
to the implementation by Jones [2000] in terms of content but did not incorporate Java 2 as the implementation language. The implementation differed
from Martin and Smith [2002] in that the student population was not truly
cross-curricular in nature.
4. METHOD OF EVALUATION
4.1 Students
Students enrolled in the undergraduate game development course offered in
a computing department at a southeastern, public, large, master’s university
(Carnegie classification). Twenty-three students enrolled in the course: two
graduate students and the remaining were undergraduates. All students were
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 9
Table III. Internal Consistency Reliability Across Measures
Survey Section
Gameplay preferences
Student satisfaction
Interest in game development career
Student gains from course
Helpful course elements
# of items
9
13
6
8
8
Cronbach’s α
0.72
0.87
0.81
0.80
0.85
male. One student withdrew early in the semester due to work complications
and the remaining students successfully completed the course. Of the 22 students within the course, 17 students completed a specialized survey, which is
a 77% completion rate.
The respondents represented three different computing majors, including
59% majoring in information science and systems, 29% majoring in information technology, and the remaining majoring in computer science. Fifty-three
percent of the respondents worked part-time jobs, 29% were working full-time,
and 18% were not currently employed. Eight-two percent of the respondents
were classified as full-time students. All respondents had prior programming
experience ranging from three to thirteen courses with an average of 5.59
(SD = 2.65).
4.2 Survey and Measures
The survey used in this analysis was developed to evaluate this complex course
and to collect useful information about students’ previous background, gameplay preferences, and career expectations. The survey was developed by the
instructor of the course and contains 48 items organized into six sections:
student background information, student gameplay preferences, student satisfaction, interest level in game development careers, student assessment of
gains, and helpful course elements. The survey was derived from three NSFsponsored instruments and previous research [Ritzhaupt and Gill 2008]. As
can be seen in Table III, the measures demonstrate strong internal consistency
reliability for these data [Nunnally 1978]. Additional sources of information include the discussion threads and comments, student performance, and student
peer-evaluations that were administered at the end of the semester.
4.3 Procedures and Data Analysis
The survey was administered to students at the end of the fifteenth week of
a 16-week semester, along with the university-wide course evaluations. The
instructor left the classroom as the survey was administered. Students were
invited to complete the survey, but it was not a requirement in the course.
Though the survey did not include the student’s name, it was not truly anonymous as the instructor was able to view the responses prior to the end of the
semester. The quantitative analyses of the data included descriptive analysis
of response frequencies and measures of variation and central tendency, and
internal consistency reliability. Because of the small sample size, no statistical
inferences were made about the larger population (computer game development students). Additional comments about the course were solicited from
students during one-on-one conversations.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 10
·
A. D. Ritzhaupt
Table IV. Gameplay Percentages, Mean, and Standard Deviation by Game Genres
Game genres
M
SD
1
2
3
4
5
Skill-and-action games
3.35
1.06
6
6
53
18
18
Adventure games
3.00
1.17
12
24
24
35
6
Role playing games
2.88
1.22
18
18
29
29
6
Strategy/simulation games
2.59
1.12
12
47
18
18
6
Racing games
2.00
1.06
41
29
18
12
0
Fighting games
3.06
1.09
6
24
41
18
12
Puzzle games
2.12
0.99
35
24
35
6
0
Sports games
1.88
1.17
53
18
24
0
6
Other (e.g., educational)
1.53
0.80
65
18
18
0
0
1 = Never, 2 = Less than once a month, 3 = Between once a week and once a month,
4 = A few times a week, 5 = Almost every day.
5. EVALUATION RESULTS
5.1 Gameplay Frequency and Games Created
One factor anticipated to influence overall student motivation in the course
as well as the types of games students would implement was the frequency
of which they played various game genres. As can be gleaned in Table IV,
the most commonly played game genres were skill-and-action games (M = 3.5;
SD = 1.06) and fighting games (M = 3.06; SD = 1.09). The least common games
were other (e.g., educational) games (M = 1.53; SD = 0.8), and surprisingly,
sports games (M = 1.88; SD = 1.17). The gameplay frequency of the other
game genres ranged from a mean of two to three, indicating students played
the various game genres around once a month or more.
Eight groups were formed from the 22 students enrolled in the course. Of
the eight groups, four games were classified as skill-and-action games, two
were classified as adventure games, one was a racing game, and one was a
role-playing game. Though it is clear skill-and-action games were the most
common game implementations, it is important to note that TGE was originally implemented for skill-and-action-like games that might also be described
as first-person shooters. Of the eight games, only one team elected to implement a LAN-based multi-player game, which is a feature of TGE.
5.2 Game Industry Career Interest
Another important evaluation question was the degree to which certain game
industry careers were attractive to students as a result of completing the
course. While there are many specializations in the game industry, the survey
included six broad game industry related careers: producers, level designers, programmers, audio engineers, testers, and technical artists [Adams and
Rollings 2006]. These careers were discussed as part of the course curriculum.
As shown in Table V, the two career areas that were most interesting to
students upon completing the course were game level designers (M = 3.47;
SD = 1.12) and game programmers (M = 3.47; SD = 1.07). These results are
unsurprising in that all the students are studying programming-centric curricula and since much of their time was devoted to implementing a game level
(group project). The career with least interest from students was game audio
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 11
Table V. Game Career Interest Percentages, Mean, and Standard Deviation
Career
M
SD
1
2
3
4
5
Game producer
3.29
1.10
6
12
47
18
18
Game level designer
3.47
1.12
6
12
29
35
18
Game programmer
3.47
1.07
6
12
24
47
12
Game audio engineer
3.06
0.83
6
6
71
12
6
Game tester
3.41
1.12
6
6
53
12
24
Game technical artist
3.24
0.97
6
12
41
35
6
1 = Much less attractive, 2 = Less attractive, 3 = Unchanged, 4 = More attractive,
5 = Much more attractive.
engineers (M = 3.06; SD = 0.83) or those responsible for the narration, sound
effects, and music found in games.
5.3 Student Satisfaction and Helpfulness of Course Elements
A student’s level of satisfaction with the course was of particular interest since
this was the first time the course was offered. It was also the instructor’s first
time teaching game development, so the indicators from the student satisfaction scale could serve to improve the instruction the next time the course is
offered. As can be gleaned in Table VI, students were satisfied overall (> 4)
with the elements in the course with the exception of the textbook (M = 2.88;
SD = 1.17). In discussions with students, it was discovered that many students felt the required textbook (The Game Programmer’s Guide to Torque:
Under the Hood of the Torque Game Engine) was poorly written. This insight
will change the direction of the course the next time it is offered: selecting a
different textbook. In particular, the text 3D Game Programming: All in One
may serve as a better required text in subsequent offerings.
The use of multimedia files was also an important consideration for this
course. Many of the software demonstrations were recorded as animated
screen captures with narration. The purpose of these resources was to provide students a resource outside of the classroom to assist in executing various software tasks (e.g., configuring environmental effects in the game world).
Students were generally satisfied with these resources (M = 4.18; SD = 0.73).
Individual discussions with the students revealed that students would reuse
the resources many times over the duration of the semester. In the future,
more of the resources will be developed to assist students in completing their
assignments and the final project.
Another way to investigate the elements that were successful was to ask students to indicate which elements of the course were helpful for their learning
the materials. Table VII illustrates the information collected for this domain.
Two areas of particular interest were whether students felt the competitive
and cooperative elements within the course were helpful for their learning. As
can be seen, students found the teamwork in labs (M = 4.18; SD = 0.81), working with peers inside and outside of class (M = 3.94; SD = 0.83), and hands-on
lab activities to be the most helpful elements in the course (M = 4.18; SD =
0.81). These results demonstrate two things: 1) the computer lab sessions were
helpful to students, and 2) cooperative learning in a game development course
is helpful to students, even with embedded competition. Fifty-nine percent of
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 12
·
A. D. Ritzhaupt
Table VI. Student Satisfaction Percentages, Mean, and Standard Deviation
Satisfaction Area
M
SD
1
2
3
4
5
The textbook that was used in
2.88 1.17
12
29
24
29
6
the course
Materials that were distributed
4.29 0.47
0
0
0
71
29
via Blackboard
The number of assignments
4.24 0.66
0
0
12
53
35
The type of assignments
4.29 0.69
0
0
12
47
41
The instructor’s use of different
4.24 0.66
0
0
12
53
35
ways of teaching
The interaction between the
4.76 0.56
0
0
6
12
82
instructor and students
The group work (collaboration)
4.59 0.62
0
0
6
29
65
between students
The use of Blackboard and
4.18 0.53
0
0
6
71
24
the Internet
The use of multimedia files to
4.18 0.73
0
0
18
47
35
supplement lectures
The amount of material that
4.18 0.81
0
0
24
35
41
was covered
The content of the course
4.29 0.59
0
0
6
59
35
materials
The split lecture/lab format of
4.65 0.79
0
6
0
18
76
the course
The availability of the
4.82 0.39
0
0
0
18
82
instructor
1 = Very dissatisfied, 2 = Dissatisfied, 3 = Neutral, 4 = Satisfied, 5 = Very satisfied.
Table VII. Helpful Course Element Percentages, Mean, and Standard Deviation
Helpful Elements
M
SD
1
2
3
4
The way in which the material was approached
3.47
0.87
0
12
41 35
The pace at which we worked
3.41
0.87
0
12
47 29
The grading system for the class
3.59
1.06
6
12
12 59
Working with peers inside and outside of class
3.94
0.83
0
6
18 53
Blackboard discussion groups
3.76
0.83
0
6
29 47
Teamwork in labs
4.18
0.81
0
0
24 35
The competition of the final group project
3.59
0.87
0
12
29 47
The hands-on lab activities
4.18
0.81
0
0
24 35
1 = No help, 2 = A little help, 3 = Moderate help, 4 = Much help, 5 = Very much help.
5
12
12
12
24
18
41
12
41
the students indicated the competition of the final group project was helpful in
the learning materials (M = 3.59; SD = 0.87).
5.4 Student Assessment of Gains, Performance, and Response Productivity
Students were asked to assess their gains as a result of completing the course
in a number of areas related to game development, as shown in Table VIII. In
particular, students indicated their largest gains in understanding the types
of tools used in game development (M = 4.12; SD = 1.05), understanding the
game development process (M = 4.00; SD = 0.94), and their enthusiasm for
game development (M = 4.12; SD = 0.86) as a result of completing the course.
All other areas also showed gains greater than the central point (> 3). These
are promising outcomes given the relatively short period of preparation for the
course and wide variety of topics and tools covered in the course.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 13
Table VIII. Student Learning Gains Percentages, Mean, and Standard Deviation
Student Gains from Course
M
SD
1
2
3
Understanding the main concepts in
3.94
0.90
0
6
24
game development
Understanding the game development
4.00
0.94
6
0
6
process
Understanding the types of tools used
4.12
1.05
6
0
12
in game development
Appreciating the field of game
3.94
0.83
0
0
35
development
Ability to think through a problems in
3.88
0.70
0
0
29
game development
Confidence in your ability to work in
3.82
0.95
0
12
18
game development
Feeling comfortable with complex game
3.82
0.73
0
0
35
development
Enthusiasm for game development
4.12
0.86
0
0
29
1 = Not at all, 2 = A little, 3 = Somewhat, 4 = A lot, 5 = A great deal.
4
41
5
29
65
24
41
41
35
29
53
18
47
24
47
18
29
41
The final grade distribution for the course included twelve students earning
an A, eight students earning a B, and two students earning a C. All students
who stayed enrolled in the course earned a passing grade. Though the grade
distribution appears positively biased, it is the author’s conviction that the
strong motivational factor of succeeding in the course, as illustrated in the
previous sections, resulted in such a high grade distribution. When splitting
the weighted final grades, the average score across assignments was 90.35
(SD = 21.95), for activities was 83.73 (SD = 14.43), and for final projects was
89.64 (SD = 4.88). Students performed best on the individual assignments,
followed by the final projects and then activities. One explanation for the lower
activity average is that some of the activities required mandatory attendance.
Another consideration was the number of questions and responses from
students. As previously noted, students who were particularly helpful in assisting their peers in the course with problems and questions received extra
credit points toward their final grades. Four students in the course were extremely helpful in answering questions on the discussion board, often before
the instructor even had an opportunity to respond. These four students earned
extra credit. Throughout the semester, a total of 27 unique questions were
posed to the discussion board. The questions ranged from clarification of specifications to instructions or resources on each of the software packages. In total,
16 students participated in the discussions, and a total of 69 responses to the
questions were provided. The discussion board not only assisted in streamlining similar questions and answers, but also resulted in fruitful dialog among
the students in the course.
5.5 Student Peer-Evaluation
The students evaluated their group members in summative fashion in that the
scores were used to assess the final project grades and make a final judgment
on the merit of a group member. In investigating the group member evaluations, 18 of the 22 students (82%) completed their peer-evaluations. The evaluation instrument contained quantitative 10-items (5-point scale; 1 = lowest
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 14
·
A. D. Ritzhaupt
Table IX. Group Member Evaluation Summary
Evaluation area
Regularly attends meetings
Is prepared at the meetings
Meets deadlines
Contributes good work to the project
Contributes ideas diplomatically
Submits high-quality work
Listens to other members
Shows respect for other members
Helps to reduce conflict
Your overall assessment of this person’s contribution
M
4.64
4.49
4.29
4.29
4.69
4.27
4.76
4.96
4.80
4.33
SD
0.61
0.84
1.20
1.47
0.87
1.29
0.57
0.21
0.59
1.26
to 5 = highest) and two free-form response areas about self-evaluation and
overall group evaluation. The quantitative items are summarized in Table IX
across student respondents and their peers. As illustrated, peers were favorable about their group members. As a result of the peer-evaluation, only two
students received point deductions on their final project grade for consistent
low scores assigned across their team members.
In reviewing the responses across the participants, students indicated
both effective and ineffective things that influenced group interactions. The
effective strategies included exhibiting a positive attitude for teamwork (44%),
establishing group roles and division of labor (28%), perseverance with the
game concept (22%), and keeping an open mind about their peers’ ideas (18%).
In terms of group challenges, scheduling and meeting group deadlines (33%)
and consistent communication (12%) were both areas identified as areas in
need of improvement.
6. LESSONS LEARNED AND RECOMMENDATIONS
The suite of software tools reviewed in this article is intended to provide computing educators a low-cost and user-friendly option for a game development
course. Though these tools would not be considered industrial strength (e.g.,
Maya versus Milkshape 3D), the goal of the course was to provide students
broad exposure to the wide-variety of tools used in game industry. This goal
was reached, as evidenced in the results. Furthermore, the licensing for tools
like Maya cost around $2,000 per license [Autodesk 2008] as opposed to the
$35 per license to Milkshape 3D, which is a serious financial commitment
from an educational institution and far outside the reach of what students can
afford. The tools provided have reasonable learning curves and can be used to
implement complex games.
Developing expertise in game development takes many years of the practice
and reflection and with the wide variety of game genres and complex topics
such as Pathfinding systems, it is not conceivable that an educator will be
able to develop expertise in every area. Instructors who have not taught game
development or developed games in industry must accept that they will not be
experts in every aspect. Perhaps the most important lesson learned from this
experience is that teaching game development requires a shift in perspective
from a teacher-centered (e.g., sage on stage) learning environment in which
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
Creating a Game Development Course with Limited Resources
·
3: 15
the teacher dictates the learning experience to a student-centered (e.g., guide
on the side) learning environment in which students have more control over
what they are learning and teachers serve as facilitators of this process [King
1993].
An important outcome of this evaluation study is the effectiveness of
cooperative learning, particularly in computer lab environment. Parberry et al.
[2006] emphasize the importance of computer lab sessions in creating an effective learning environment for game development. This evaluation study contributes more evidence in support of teamwork within computer labs in which
the faculty member facilitates the learning experience. The current course
implemented computer lab sessions during the fourth phase (four-week timeframe). Perhaps it would have been better to schedule the course in a split lecture and lab format in which one class session is devoted to teaching concepts
and providing demonstrations and a second session is devoted to practicing
these concepts.
As pointed out by Jones [2000], a computer game development course
provides an ideal learning environment in which students can integrate
wide variety of computer skills and knowledge. This realization has shifted
game development courses from experimental electives to integrative capstone
experiences [Parberry et al. 2005; Sweedyk and Keller 2005] in which students
work in many different areas of computing sciences and software development.
The author strongly concurs with this rationale for computer game development courses serving as capstone experiences in computing programs. The
breadth of skills and knowledge required to develop quality games is widereaching.
A final consideration is the effectiveness of the competition as a motivational
factor to create the “best” team game in the course. The results demonstrated
that students perceived the activity as motivating and effective for their learning. Aside from earning an automatic A on the group project, the winning
team also benefited from the bragging-rights in the class and the opportunity
to showcase their complete projects to their friends and family. The evidence
supports the future incorporate of both cooperative and competitive elements
into the design of a game development course.
REFERENCES
ACM/IEE. 2001. Computing curricula 2001: Computer Science.
http://www.sigcse.org/cc2001/cc2001.pdf (June 28, 2008).
ACM, AIS, AITP. 2002. Model curriculum and guidelines for undergraduate degree programs in
information systems. http://www.acm.org/education/is2002.pdf (June 28, 2008).
A DAMS, E. AND R OLLINGS, A. 2006. Game Design and Development: Fundamentals of Game
Design. Pearson Prentice Hall, Upper Saddle River, NJ.
A HLQUIST, J. B. AND N OVAK , J. 2007. Game Development Essentials: Game Artificial Intelligence.
Thompson Learning, Boston, MA.
A UTODESK M AYA C OMPLETE. 2008. http://usa.autodesk.com. (June 28, 2008).
B ECKER , K. AND PARKER , J. R. 2007. Serious games + computer science = serious CS. J. Comput.
Sci. Coll. 23, 2, 40–46.
C LARK , B., R OSENBERG, J., S MITH , T., S TEINER , S., WALLACE , S. AND O RR , G. 2007. Game
development courses in the computer science curriculum. J. Comput. Sci. Coll. 23, 2, 65–66.
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.
3: 16
·
A. D. Ritzhaupt
C OLEMAN, R., K REMBS, M., L ABOUSEUR , A. AND W EIR , J. 2005. Game design and programming
concentration within the computer science curriculum. SIGCSE Bull. 37, 1, 545–550.
F INNEY, K. C. 2004. 3D Game Programming: All in One. Thompson Learning, Boston, MA.
J ONES, R. M. 2000. Design and implementation of computer games: A capstone course for
undergraduate computer science education. SIGCSE Bull. 32, 1, 260–264.
K ING, A. 1993. From the sage on the stage to the guide on the side. College Teach. 41, 30–35.
M ARTIN, J. AND S MITH , C. 2002. A cross-curricular team based approach to game development.
J. Comput. Sci. Coll. 23, 2, 65–66.
M AURINA , E. F. 2006. The Game Programmer’s Guide to Torque: e: Under the Hood of the Torque
Game Engine. Thomson Course Technology, Wellesley, MA.
N UNNALLY, J. C. 1978. Psychometric theory. McGraw-Hill, New York.
PARBERRY, I., R ODEN, T. AND K AZEMZADEH , M. B. 2005. Experience with an industry-driven
capstone course on game programming: Extended abstract. SIGCSE Bull. 37, 1, 91–95.
PARBERRY, I., K AZEMZADEH , M. B. AND R ODEN, T. 2006. The art and science of game programming. SIGCSE Bull. 38, 1, 510–514.
R ITZHAUPT, A. D. AND G ILL , T. G. 2008. A hybrid and novel approach to teaching computer programming in MIS curriculum. In Handbook of Distance Learning for Real-Time and Asynchronous Information Technology Education, S. Negash, M. Whitman, A. Woszczynski, K. Hoganson,
and H. Mattord Eds., Idea Group Reference, Hershey, PA. 259–281.
R OCCO, D. AND Y ODER , D. 2007. Design of a media and gaming sequence for graduates in applied
CS. J. Comput. Sci. Coll. 22, 5, 131–137.
S AULTER , J. 2007. Introduction to video game design and development. Boston: McGraw-Hill.
S HULTZ , G. A. 2004. The story engine concept in CS education. J. Comput. Sci. Coll. 20, 1,
241–247.
S WEEDYK , E. AND K ELLER , R. M. 2005. Fun and games: A new software engineering course.
SIGCSE Bull. 37, 3, 138–142.
W EBER , T. 2007. Games industry enters a new level. British Broadcasting Corporation News.
http://news.bbc.co.uk/2/hi/business/6523565.stm (June 28, 2008).
Received July 2008; revised January 2009, February 2009; accepted February 2009
ACM Transactions on Computing Education, Vol. 9, No. 1, Article 3, Pub. date: March 2009.