1 / 21

Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque

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

Download Presentation

Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Brian Ladd Tiffany Barnes Dan Cliburn Advanced Game Courses in Computer Science: Getting Beyond Square One with Torque

  2. 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!

  3. 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.

  4. 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.

  5. 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

  6. 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

  7. 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

  8. 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.

  9. 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

  10. Interface and Dimensionality • Text-based • Interactive fiction • Much easier interface • Two-dimensional • Sprite-based • Isometric projection • Three-dimensional • Computer generated graphics

  11. 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)

  12. How do I get Torque? • Evaluation Licensing for all attendees • E-mail sent to e-mail list. • Pricing • Educational pricing on 10+ seats

  13. Teaching with Torque Game Engine • TGE is a scriptable 3D engine • C++ source available • At least two approaches: • Scripting Focused • C++ Focused

  14. 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

  15. 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

  16. Lab Time • Looking at the Torque Game Engine Codebase • What got installed? • Where? • How do I start a new game?

  17. 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

  18. Extending the Engine • Lab Activity

  19. Practical Advice • Outcomes and Grading • Group Projects • Sample Assignments • Sample Syllabi

  20. 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.

  21. 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.

More Related