Torque 3D 1.
2 Education: Comprehensive FPS Tutorial Syllabus Example
Class Names: (High School or College level classes)
Introduction to Game Development, Introduction to Programming, Programming 101, Basic 3D
Game Development, Game Lab 101, Introduction to Level Design, or FPS Game Workshop
Course Description:
This course covers all the basics of 3D level development in a first-person shooter (FPS) game,
using Torque 3D. The FPS game type is used because it showcases all of the features of a game
engine (thus providing complete examples), while allowing students to playtest their work right
away due to its small learning curve. The breadth of this course is extensive, but topics are
covered at an introductory level. Whether you are an artist, programmer, level builder, designer,
or a combination, this course is a primer for what is ahead in learning more about 3D game
development.
Course:
13 four-hour classes, 52 hours total class time
Requirements:
1 computer per student with Windows XP or higher, 2 MB RAM and Direct X 9c compatible video
Pre-requisites:
None
Class Schedule:
Class 1: Introduction to Game Development
Class 2: 3D Technology, Building a Game World
Class 3: Developing an FPS in a 3D World
Class 4: Adding and Customizing Players
Class 5: Midterm Test
Class 6: Scripting Part 1
Class 7: Scripting Part 2
Class 8: Scripting Part 3
Class 9: Adding and Customizing Weapons
Class 10: Keeping Players in Sync
Class 11: Multiplayer Experience
Class 12: Final Presentation
Class 13: Post Mortem, What Did We Learn? Final Test
Class Outlines:
Class 1: Introduction to Game Development
Reference Materials: Lesson 1: Setup and Overview
Slides: 9 through 15
Lecture:
Introduction to the course
o Class overview
o Class administration
o Syllabus review
o Teacher and student introductions
o What are the class expectations?
What will be taught in this class?
o Learning about how to create a 3D first-person shooter level
o Using Torque 3D 1.2 to step through level development
3D placement, movement, and view
Moving the camera around
Move objects around
Add objects or props to the environment
Adjust the artwork by using the material system
Basic networking description
Client-Server definition
How does Torque keep track of client data?
What does the server do to keep clients in sync?
Adjusting basic artificial intelligence of non-human players or NPCs (non-
player characters)
Basic game and programming terminology
Making your own fun game!
o Terminology: Terminology game developers use every day
o Game development tools processes for a first-person shooter
o Basic level development for a first-person shooter
o Basic art processes for a first-person shooter
o Basic scripting for a first-person shooter
o Primer for programming
o Design tips
How will students be graded?
o What is on the midterm?
o What is on the final?
Introduction to Torque 3D (demonstration)
o Walk through the Chinatown level
o Preview the World Editor
o Preview the optional script editor, Torsion
o Explain the basic concepts:
Objects in the world and what they are made of: textures, models, bounding
box, triggers, environment, animated, etc.
World lighting, skybox, collision meshes
How triggers work
Single and multi-player view of characters/players
Enemy AI
Lab:
Write about their favorite game and memorable moment in that game
Include what they think about how this relates to their current schooling and hobbies
Presentation: Present their lab work
Quiz: None
Homework: Read Lesson 1: Setup and Overview (optional) or review Syllabus and any other in
class materials
Class 2: 3D Technology, Building a Game World
Reference Materials: Lesson 2: World Building
Slides: 16 through 26
Lecture:
Show the demos to start class off with an exciting goalHow do they make games
anyway? Learn how it is done. All in one class!
What does a development team look like and what are the roles?
o Programmers: Engine, Tools, Scripting, Application, etc.
o Artist: Concept, Model, Texture, Environment, Character, Cut Scenes, etc.
o Designers: Story, Character, Dialog, Game, Monetization, Reward, Combat, etc.
o Managers: Producer, Art Director, Creative Director, Development Director, etc.
What is a 3D world?
o Moving player and camera around in the world
o Placing and moving objects in the world
o Finding objects in the world
Lab: Successfully run a character in both 1 st and 3rd person around Chinatown
Learn how to control both a world camera and a player camera
Successfully find items by using the search command
Presentation: Describe your game development goals and what type of job you want to pursue
after graduation
Quiz: Lesson 1
Homework: Read and review examples in Lesson 2: World Building
Class 3: Developing an FPS in a 3D World
Reference Materials: Lesson 2: World Building
Slides: 27 through 46
Lecture:
World building and importing graphics
Terminology
Duplicate, move, resize, and combine objects in a 3D scene
Understanding and using Datablocks
Changing Materials, modifying Materials, and creating a new Material
Equipping your character with a Weapon
Spawn Points
Lab: Learn how to move camera, place, manipulate and customize objects in the scene
Perform a series of simple tasks including: duplicating a dumpster, moving it, resizing it,
and putting it on the ground
Modify the material on a character and finally change weapons
Presentation: None
Quiz: Lesson 2
Homework: Read and review examples in Lesson 4: Adding and Customizing Players
Class 4: Adding and Customizing Players
Reference Material: Lesson 4: Adding and Customizing Players
Slides: 47 through 61
Lecture:
Adding character models
Swapping character models
Importing new characters and art into the game level
Modify materials and swap new textures onto new model
Add animations to new model
Give your new model a weapon
Lab:
Customize your character
Presentation:
Present your customized character to the class
Talk about what makes good game design and relate it to the level
How does this process affect your thoughts about your own career?
Quiz: Lesson 4
Homework: Study for the Midterm test, which covers Lesson 1, Lesson 2, and Lesson 4
Class 5: Midterm Test
Reference Materials: Lesson 3: Introduction to Scripting (for the second part of the lecture)
Slides: 62 through 63
Lecture (part 1):
Recap the first half of the course
Midterm: Give a test on Lessons 1, 2, and 4 (2 hours)
Lecture (part 2): Primer on Scripting
Talk about why the first steps in lesson 3 take you through the first few lines of script that
the game engine reads
o Because it helps students experience how the game engine receives instructions: in
what order, and under what rules. Understanding this provides a framework on
which to hang further learning
o Stepping is the most common way (and most effective way) to debug, so early
introduction dispels any mystery, and sets up good habits
Terminology and role of scripting, programming, and level design
Customizing gameplay via scripting
Scripting changes vs. changes to source code the former requires no recompiling, so its
faster and easier to test the results
Demo Torsion
Comments format, NameSpace and Stepping
Lab: If theres time, start walking through Lesson 3 so that students can ask questions in class
Presentation: None
Homework: Read and review examples in Lesson 3: Introduction to Scripting, reading up to step
16 in Exercise 2, Learn TorqueScript Basics
Class 6: Scripting Part 1
Reference Materials: Lesson 3: Introduction to Scripting, up to step 16 in Exercise 2, Learn
TorqueScript Basics
Slides: 64 through 70
Lecture:
Overview of Scripting vs Programming Languages
How does scripting fit into Creating a Game
Cover TorqueScript Basics
Introduction to Torsion
Datablocks
Core Features
General Scripts
Level files (.mis)
Lab: Run through the exercises from the homework
Presentation: None
Quiz: Scripting Part 1
Homework: Read and review examples in Lesson 3: Introduction to Scripting, reading from step
16 in Exercise 2, Learn TorqueScript Basics, to the end of Exercise 2
Class 7: Scripting Part 2
Reference Materials: Lesson 3: Introduction to Scripting, from step 16 in Exercise 2, Learn
TorqueScript Basics, to the end of Exercise 2
Slides: 71 through 95
Lecture:
Special Operators (@ and concatenate strings)
Mathematical Operators (<, <=, ++ and %)
Multiple Arguments
If Then Statements
Loops
Arrays
Switch Statements
Setting Properties on Objects like the Location property
Lab: Successfully complete examples on operators, arguments, and statements
Presentation: None
Quiz: Scripting Part 2
Homework: Read and review examples in Lesson 3: Introduction to Scripting, reading from
Exercise 3, Make Something Happen in the Game, to the end of the lesson
Class 8: Scripting Part 3
Reference Materials: Lesson 3: Introduction to Scripting, from Exercise 3, Make Something
Happen in the Game, to the end of the lesson
Slides: 96 through 101
Lecture:
Callback Functions
Recap Datablocks
Create an object in the game, and attach code to it via one of the callback functions
Change your code to be more robust and have more functionality
Debug without Torsion
Debug with Torsion
Lab: Complete the examples that use at trigger and a bubble emitter.
Follow the steps in exercise 3 to set up the trigger.
Follow the steps in exercise 4 to change the code and place a boulder in the trigger.
Follow the steps in exercise 6 to see how you can use Torsion to fool the game engine into
thinking there is more than one object in the trigger.
Presentation: None
Quiz: Scripting Part 3
Homework: Read and review examples in Lesson 5: Adding and Customizing Weapons
Class 9: Adding and Customizing Weapons
Reference Materials: Lesson 5: Adding and Customizing Weapons
Slides: 102 through 143
Lecture:
The Shape Editor, viewing the soldier and weapon model
Projectiles, player inventory, loaded and firing
Datablocks (sounds)
EnvironmentAmbientLight, mountPoint, RetractionPoint, Muzzlepoint, Ejectpoint,
MuzzleFlash, Eye and Biped Nodes
Third Person Weapons
Handgun
Ammunition, reloading
COLLADA and DAE file format
Hooking up a weapon
State Machine and weapon states
Lab: Work with team to finalize level modifications
Presentation: None
Quiz: Lesson 5
Homework: Read and review examples in Lesson 6: Keeping Multiple Players in Sync over the
Network
Class 10: Keeping Players in Sync
Reference Materials: Lesson 6: Keeping Multiple Players in Sync over the Network
Slides: 144 through 210
Lecture:
Tracking a message from client to server
Cover Client/Server architecture, Instance, keeping players in sync, messageClient,
ServerMessage
Client side functions vs server side functions
GameConnect to start a multiplayer game
Cover ClientGroup and getCount for tracker a list of server objects
Cover [Link] and [Link]
Cover function sendTeleportSignal, TeleportReady, %client
Try teleporting a player and tracking the data
SendTeleportSignal()
Lab: Break up into teams and start developing a custom Chinatown level with 1 combat scene
Presentation: None
Quiz: Lesson 6
Homework: Read and review examples in Lesson 7: The Multiplayer Experience
Class 11: Multiplayer Experience
Reference Materials: Lesson 7: The Multiplayer Experience
(Note: This course will not cover Lesson 8 cleaning up, packaging, and publishing to the web.)
Slides: 211 through 256
Lecture:
Cover the server instance and client instance, Client/Server architecture, different types of
FPS players
Client/Server, onConnect(), ServerMessage, Host, Datablocks, Properties, callback function
Customize level by iterative testing and modifications
Create a fun level with ammo points, teleporters, and new spawn points
Lab: Work with team to finalize level modifications, develop presentation, and practice
presentation
Presentation: None
Quiz: Lesson 7
Homework: Finalize and practice team presentation
Class 12: Final Presentation
Slides: 257 through 258
Lecture: Cover preparation for the final exam. What is on the test
Presentation: Each team has 30 minutes to present their level, give a post mortem, and share
their learning with the class
Modifications of the Chinatown level: Each team presents their modification to the scripts,
gameplay and artwork
Critique of each project by peers and may include industry judge
Presentation done in PowerPoint the goals of the project, what was presented at midterms,
and highlights of their final game
Class 13: Post Mortem, what did we learn? And Final Test
Slides: 259 through 261
Lecture: Prepare PowerPoint to highlight what everybody did, what went right, what went wrong,
and what lessons were learned for next time
A good way to look at this is a list of 5 things that went well and 5 things that did not go
well
Final Test: Test will cover tutorial materials and aspects of the level creation process
Copyright Information:
Torque 3D 1.2 Educational Materials are provided free of charge for educational purposes. All or part of materials are
freely distributable and use for any individual, school, or workshop for learning and educational purposes.
Torque 3D is a trademark and GarageGames is a registered trademark of GarageGames, LLC. All other trademarks or
registered trademarks belong to their respective owners.