210 likes | 298 Views
Brian Ladd Tiffany Barnes Dan Cliburn. Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque. 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
E N D
Brian Ladd Tiffany Barnes Dan Cliburn Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque
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
References • 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 • 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. • 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 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.