Advanced Game Courses in Computer Science Getting Beyond
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 Xbox 360; 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: 26 K 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] – 0 D – player limited to a single screen – 1 D – player on a rail; forward and backward – 2 D – top-down, isometric-projection, platformer – 3 D – 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 3 D 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
References 1. 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. 3. 4. 5. Barnes, T. , Powell, E. , Chaffin, A. , Godwin, A. , and Richter, H. Game 2 Learn: Building CS 1 Learning Games for Retention. Proceedings of the 12 th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITi. CSE 2007), June 23 -27, 2007, Dundee, Scotland. Blow, J. 2004. Game Development: Harder Than You Think. Queue, 1(10), (Feb. 2004), 28 -37. 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. Cliburn, D. and Miller, S. , Games, Stories, or Something More Traditional: The Types of Assignments College Students Prefer. Proceedings of the 39 th ACM Technical Symposium on Computer Science Education (SIGCSE 2008), March 12 -15, 2008, Portland, Oregon.
References 6. de. Laet, 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.
- Slides: 21