Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque
-
Upload
karleigh-walls -
Category
Documents
-
view
17 -
download
0
description
Transcript of Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque
Advanced Game Courses in Computer Science: Getting
Beyond Square One with Torque
Brian Ladd
Tiffany Barnes
Dan Cliburn
What we will cover
• Terminology
• Games in the Curriculum
• What is Torque?
• How do I get Torque?
• How do I use Torque in a course?
• Lab Time!
Terminology• Computer Game
– A computer game, taken broadly [7], is any game where game moderation or competition is provided by a computer program.
• Game Assignment– Game assignments are individual assignments within
a more traditional college-credit course that focus on the development of a computer game.
• Games Course– A computer game course is a college-credit course
with a primary focus on computer games. In Computer Science this means a focus on computer game development though some departments have game design courses and tracks.
Terminology• Game Genres
– Describes the type of game, such as Real Time Strategy, Massively Multiplayer Online Role Playing, or First Person Shooter.
• Game Engine– An application framework designed for building
games. Typically engines are focused on particular genre and/or dimensionality.
• Game Platform– The target computing platform where the program will
run; this can be the PC or, more and more, a game console with some sort of homebrew modification on it. XNA supports Xbox360; Nintendo GBA and DS homebrew carts are fairly affordable; open-source 8-bit rigs (such as the Hydra) are available.
Games in the Curriculum
• Games in Lower-division courses– Game assignments can illustrate many CS
topics [2, 8]– Students prefer game assignments [4,5]– Students are “domain experts” with games [6]– Females enjoy playing games too [10]
PRACTICAL ISSUES:– Games typically for individual assignments– Often much is provided for the students– Focus on computing problems is important
Games in the Curriculum (cont)
• Games in Upper-division courses– Greater breadth of design
• Game development is harder than you think [3]• Increased aesthetic investment• Can control violence for different students tastes
– Project-based, team programming course• Software engineering focus• Chance for team failure
• Games in Summer Camps/Outreach Events– Generally focus on what is fun about games
Software Engineering• Large codebase (TGE: 26K LOC)• Design Patterns
– Factory
– Decorator
• Documentation– Real, commercial code you can examine
– What does it mean to document intent?
• Version Control (non-optional)– Useful tool
– Safety net
– blame for assigning team credit
Game Genre Selection
• What are we teaching?– Game design
• Creating a compelling gameplay experience; designing the game mechanics and levels.
– Game programming• Translating a game design into a playable
computer program. Realizing the compelling gameplay experience.
Dimensionality in Games
• Dimensions of freedom for the player [1,9]– 0D – player limited to a single screen– 1D – player on a rail; forward and backward– 2D – top-down, isometric-projection,
platformer– 3D – fully realized world
• Increasing complexity of – Design– Interface
Interface and Dimensionality
• Text-based– Interactive fiction– Much easier interface
• Two-dimensional– Sprite-based– Isometric projection
• Three-dimensional– Computer generated graphics
What is Torque?• Benefits
– Mature product (2008 Game Engine of the Year by Game developer)
– XNA support out of the box– Helpful community– Good art asset support
• Costs– Microsoft operating systems (primarily)– Actual cost of software (reasonable)
• Alternatives– Irrlicht (Open source)– XNA Game Studio 3.0 (Free)– Unreal Engine (Commercial)
How do I get Torque?
• Evaluation Licensing for all attendees
• E-mail sent to e-mail list.
• Pricing– Educational pricing on 10+ seats
Teaching with Torque Game Engine
• TGE is a scriptable 3D engine
• C++ source available
• At least two approaches:– Scripting Focused– C++ Focused
Script Focused
• Focus is on using available resources
• Easier to spend time on game design and/or game studies
• Quicker turn around time on changes
• Can hide how hard game development is
C++ Focused
• Study of the engine
• Changes are harder to make– Means game designs must be more modest– Student frustration is a major concern
• Modifying a mature engine can be difficult– What useful modifications are left to make?
• Much more time spent in the mechanics
Lab Time
• Looking at the Torque Game Engine Codebase
• What got installed?
• Where?
• How do I start a new game?
Learning by Scripting
• Adding a new in-game object– Game resource folder hierarchy– Getting resources
• The client/server architecture
• Starting a game
• Using the console
Extending the Engine
• Lab Activity
Practical Advice
• Outcomes and Grading
• Group Projects
• Sample Assignments
• Sample Syllabi
References1. Adams, E. The Designer's Notebook: Defining the Physical Dimension
of a Game Setting. Gamasutra. April, 2003. http://www.gamasutra.com/view/feature/2864/the_designers_notebook_defining_.php
2. Barnes, T., Powell, E., Chaffin, A., Godwin, A., and Richter, H. Game2Learn: Building CS1 Learning Games for Retention. Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE 2007), June 23-27, 2007, Dundee, Scotland.
3. Blow, J. 2004. Game Development: Harder Than You Think. Queue, 1(10), (Feb. 2004), 28-37.
4. Cliburn, D. The Effectiveness of Games as Assignments in an Introductory Programming Course. Proceedings of the Thirty-Sixth ASEE/IEEE Frontiers in Education Conference (FIE 2006), October 28-31, 2006, San Diego, California.
5. Cliburn, D. and Miller, S., Games, Stories, or Something More Traditional: The Types of Assignments College Students Prefer. Proceedings of the 39th ACM Technical Symposium on Computer Science Education (SIGCSE 2008), March 12-15, 2008, Portland, Oregon.
References
6. deLaet, M., Kuffner, J., Slattery, M., and Sweedyk, E. Panel Session: Computer Games and CS Education: Why and How. Proceedings of the Thirty-Sixth SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2005), February 23-27, 2005, St. Louis, Missouri.
7. Kerr, A. The Business and Culture of Digital Games: Gamework and Gameplay. London: Sage Publications, 2006.
8. Ladd, B. The Curse of Monkey Island: Holding the Attention of Students Weaned on Computer Games. Journal of Computing Sciences in Colleges, 21(6), 2006, 162-174.
9. Rucker, R. Software Engineering and Computer Games. Harlow, England: Addison-Wesley, 2003.
10. Wolz, U., Barnes, T., Bayliss, J., and Cromack, J. Panel Session: Girls Do Like Playing and Creating Games. Proceedings of the Fortieth SIGCSE Technical Symposium on Computer Science Education (SIGCSE 2009), March 3-7, 2009, Chattanooga, Tennessee.