Game Development Community

dev|Pro Game Development Curriculum

Torque Boot Camp--Commercial 19-21 Sep 2005 Recap

by Stephen Zepp · 09/23/2005 (8:20 pm) · 6 comments

I just wanted to do a quick recap of our latest Commercial Boot Camp, and put in a last minute plug for the Indie Boot Camp just after IGC. Long post with zero pictures, and for that I apologize!

One of the really interesting things that Commercial TBC's do is to bring an incredibly varied spectrum of projects into one room...our first Boot Camp was a mix of military simulation and AAA game development, and it was extremely interesting to see how many ideas cross over between two drastically different genres. The second was just as varied: we had once again both AAA game development teams as well as the military simulations sector, and some of the conversations that resulted while talking about Torque theory and tech demonstrated just how fundamentally tied the two genres can be.

The Commercial camps are no holds barred when it comes to Torque: there are so many systems and subsystems that are critical to successful development with Torque that we can't cover all of them--so we very quickly do an overview of tools, editors, pipelines and the like while "trolling" for areas of interest and/or confusion. This allows us to make sure we adjust the course on the fly to the average experience levels of the attendees, while not boring the group with infinite details about systems they may be using every day.

First Day

The overview covers the following major areas:

**Torque Editors (we commonly don't touch on the GUI editor unless it's requested, but do a quick overview of the rest)

**Torque Scripting basics

**External Tools and Projects (Show Tool Pro, Exporters if needed, new projects/tech that are being developed at GG that we can talk about)

**Art Pipeline Overview (we don't go into art creation and preparation details, but we do cover common issues and problems if questions arise)

**Project Design and Implementation Strategies within Torque

**Intro to Torque Scripting
--again, this area is an extremely quick survey. We commonly find that the attendees for commercial Boot Camps are very up to speed on the uses and need for a scripting language, and don't normally need much of a review of the scripting techniques. Of course, questions and review of the Scripting environment are covered if needed!

The first day (and the rest of the course) is very interactive and free-form so this actually takes most of the day, and lets the instructor identify areas to focus on once we get deep into the theory and tech side of Torque.

Second Day

**Torque Client/Server Model
--Since the architecture of Torque is based around the concept of always having a server and a client, this is the first area we cover in detail. We discuss the three basic types of Torque projects (Dedicated Server/Dedicated Client, Hosted Multiplayer, and Single Player), as well as discuss the concept and implications of the authoritative Server Simulation and the replicated Client Simulations.

**Simulation Theory
--we discuss the underlying operations of the simulations themselves, and how to design and implement in a polling + event driven environment
--we also discuss the concept of callbacks and how they allow objects to inter-relate, and also how to use the concept for performance and functionality

**Torque Network Model
--we introduce the concept of Ghosting objects and how it allows us to have the clients replicate the appropriate aspects of the server simulation without overloading our network.
--we also introduce and discuss the major challenges for networked games, and discuss some of the strategies Torque uses to optimize network utilization.

**Torque Hierarchy
--this is the meat of the second day from the pure tech perspective: after introducing the three theory areas above, we demonstrate by stepping through the dOxygen documentation that describes the functionality that each of our objects in the hierarchy provide all the way down: ConObject, SimObject, NetObject, and SceneObject all get detailed attention, and we do an overview of the primary functionality GameBase and ShapeBase provide.
----During the NetObject discussion, we also drill down deeply into the Ghosting model that we introduced earlier, including the differences between the control object and "normal" ghosts, as well as stepping through the requirements for either creating or utilizing existing ghosted functionality: netMasks, pack/unpackData, and the related methods that implement these concepts.
----we also introduce the MoveManager, and discuss how moves are treated and utilized for control objects

**Torque Network Model--Continued
--once we've swallowed the primary object tree, we also discuss the underpinnings of NetConnection and GameConnection, and what they provide for us. Depending on the current projects of the attendees, this may either become an extremely low level discussion, or in some cases a discussion about how to modify and/or re-implement Torque connections for communicating with Torque itself from other applications.
--we also drill down into NetEvents and their uses, including the concepts behind both guaranteed and guaranteed ordered events, and how they are processed by both the client and the server.

**Script Space and Engine Space Interaction
--we discuss how to implement a new class, and provide bi-directional interface between that new class and the scripting environment, as well as the design concepts behind scripting languages and their uses.
--we also discuss debugging techniques and capabilities, including journaling and in the future more detailed uses of the profiling system.

Third Day

The third day of commercial Boot Camps are even more free-form than the first two: We commonly review topics and have a question/answer period about both what was previously covered, as well as challenges and issues the attendees either have already had, or see coming. Additionally we may discuss topics that weren't covered in the first two days (again depending on class needs and requests) such as the rendering layer, in depth collision discussion, player/vehicle physics, or pretty much anything that is asked!

We also provide the opportunity for direct access to GG developers, artists, and project managers by having guest lectures on topics of interest to the attendees. From help debugging code and resolving specific problems, to design discussions about new systems and how to use existing systems, to best practices for model and map creation, these lectures provide excellent insight and information from the most experienced Torque users around..GG staff!

That's just the "on duty" time! During the off times (both lunch and evenings), attendees are given the opportunity to hang with the GG crew and discuss pretty much anything they are curious about. Josh gets to be his cool self, Ben Garney demonstrates just how tall he really is, Matt Fairfax proves that "farm boy" isn't an insult when it comes to Torque, and Pat proves once and for all that you CAN have "mood ring" hair colors working in XBox 360!

We show off the 5th Street Market that is the lunch hangout of choice for GG'ers, and depending on what may be happening locally may have a BBQ, night out on the town, or whatever folks are interested in. In some cases, all they may be interested in is sleep since the tech comes fast and furious, but we have no problem with that either!

Our current schedule has approximately one Commercial Boot Camp per month, so if you are interested in attending, please contact us either via email or telephone for the latest schedule!

Torque Boot Camp for Indies

I will flesh out the plan and structure of the Indie Boot Camp in a future .plan, but we will be covering additional topics (and therefore not going quite as in depth on specific ones), including Virtual Team Management, Independent Game Development Methodologies and Practices, and other topics of special concern for Indie Developers. More to come on this topic as we get closer!

Future Plans

We do understand that for various reasons attending a three day seminar isn't always possible for all of our customers, and we do have plans for providing alternate ways of learning about Torque directly from the staff in the future. Since the face to face interaction is so valuable we will always have Boot Camps, but we both recognize and understand the community's needs, and have plans in the future for meeting them!

We also realize that TGE isn't the only product that people are interested in learning about, so we are developing Boot Camps for our other products as well...look for these in the near future!

#1
09/23/2005 (9:16 pm)
Sounds awesome, wish I had the time and money to attend one of these.
#2
09/24/2005 (9:21 am)
That would be awesome. Can you tell us any more about the plans for providing alternate ways of learning from you guys?
#3
09/24/2005 (12:58 pm)
I still pimp out (recommend) Macromedia studio as great courseware maker.

Control the access via fee's. It can have a combo of simulation display and A/V presentations.

If you look at some of the lessons Macromedia has on there website to get a good idea.

www.macromedia.com/resources/education/exec_presentation/
#4
09/24/2005 (4:21 pm)
@Stephen: if you guys do a t2d bootcamp, i'm sure you'll have a lot of interested people (myself included)

though if you could do it in portland it would be nicer :P (or better, seattle) wishfull thinking i know :P
#5
09/24/2005 (7:48 pm)
Thats very awesome, TBC is a brilliant idea and the layout is wonderful, look forward to seeing how the Indie format turns out... really seems like GG is beginning to cover all the aspects of picking up Torque for a Commercial or Indie level project.
#6
09/25/2005 (8:44 am)
Stephen,

I have an idea :) Not all the people can visit such camp and it will be great if you record a video DVD during the sessions, then sell it here, like they do it for GDC. I would buy it.
For example, I dont have time to spend for a conference (but I'd love to!), because I'm a contractor, and clients cannot wait...