DRAFTING BLOG / PRE-RELEASE
by John Kanalakis · 05/01/2006 (12:00 am) · 2 comments
What is DotNetTorque?
When I first came across Winterleaf Entertainment's DotNetTorque, I didn't know what it would be - porting the engine code? Converting everything into C#? I had to find out. So after a buying a copy and diving in, here's what I found.
[screenshot from a running DNT game]
Essentially, DotNetTorque is a scripting wrapper around the proven Torque 3D game engine. The scripting wrapper that is typically used and comes with Torque 3D by default is TorqueScript. TorqueScript is fine, it looks like PHP, and with the help of the Torsion editor, you can get by. But if you replace that wrapper with DotNetTorque, a new world opens up with C#, the .NET Framework, and VisualStudio. Not only does the script execute faster with DotNetTorque, but you can pause your game in VisualStudio, inspect values, check the call stack, step debug, and so on.
[illustration of DNT wrapping T3D]
But why should it matter what scripting wrapper I use? For starters, I want to focus on making games, not learning another language. Right now, I use C# to program for many platforms: Websites using ASP.NET MVC, Windows applications with WPF, MacOS applications with MonoMac, iOS applications with MonoTouch, Android applications with MonoDroid, Xbox 360 with XNA (and formerly Torque X), and Windows Phone 7 applications with Silverlight. That's right, one language for all those platforms. So naturally, if there's a way to create high quality 3D games with C#, I'm in.
Just remember that DotNetTorque doesn't turn everything into managed .NET code. It's strictly a wrapper around the existing C++ game engine. So if you do not need to make changes to the underlying game engine (and usually most - but not all don't), then you don't need to ever deal with the C++ code. Just open VisualStudio and base your game off of one of the existing game templates that come with DotNetTorque. Right now, there's a Starter.FPS and a blank template you get you started. Build and run your new game, open up the editor, layout your scene, create your user interface, and build out the levels.
If you want to dig deep and modify your Torque 3D engine code, DotNetTorque doesn't limit you by any means. The biggest advantage that Torque 3D has over all other game engines is the open source code. By all means, dive in and change away. In fact, I took another proud purchase of mine, Game Mechanics Kit, and made all of the necessary engine code changes to integrate it. Then I ran the DotNetTorque Customizer utility to generate the update interfaces for my C# scripting wrapper, and continued on my way. It works great, I only wish that the Winterleaf guys gave it a more cool name - something like script-o-matic. Afterwards, I happily scraped out all the TorqueScript and replaced it with C# code.
Back to creating my game with Torque 3D at the core, DotNetTorque at the scripting level, and Game Mechanics Kit to flesh out the game behaviors. And I recommend that you pull together $99 and go buy DotNetTorque as soon as you can.
John K.
When I first came across Winterleaf Entertainment's DotNetTorque, I didn't know what it would be - porting the engine code? Converting everything into C#? I had to find out. So after a buying a copy and diving in, here's what I found.
[screenshot from a running DNT game]
Essentially, DotNetTorque is a scripting wrapper around the proven Torque 3D game engine. The scripting wrapper that is typically used and comes with Torque 3D by default is TorqueScript. TorqueScript is fine, it looks like PHP, and with the help of the Torsion editor, you can get by. But if you replace that wrapper with DotNetTorque, a new world opens up with C#, the .NET Framework, and VisualStudio. Not only does the script execute faster with DotNetTorque, but you can pause your game in VisualStudio, inspect values, check the call stack, step debug, and so on.
[illustration of DNT wrapping T3D]
But why should it matter what scripting wrapper I use? For starters, I want to focus on making games, not learning another language. Right now, I use C# to program for many platforms: Websites using ASP.NET MVC, Windows applications with WPF, MacOS applications with MonoMac, iOS applications with MonoTouch, Android applications with MonoDroid, Xbox 360 with XNA (and formerly Torque X), and Windows Phone 7 applications with Silverlight. That's right, one language for all those platforms. So naturally, if there's a way to create high quality 3D games with C#, I'm in.
Just remember that DotNetTorque doesn't turn everything into managed .NET code. It's strictly a wrapper around the existing C++ game engine. So if you do not need to make changes to the underlying game engine (and usually most - but not all don't), then you don't need to ever deal with the C++ code. Just open VisualStudio and base your game off of one of the existing game templates that come with DotNetTorque. Right now, there's a Starter.FPS and a blank template you get you started. Build and run your new game, open up the editor, layout your scene, create your user interface, and build out the levels.
If you want to dig deep and modify your Torque 3D engine code, DotNetTorque doesn't limit you by any means. The biggest advantage that Torque 3D has over all other game engines is the open source code. By all means, dive in and change away. In fact, I took another proud purchase of mine, Game Mechanics Kit, and made all of the necessary engine code changes to integrate it. Then I ran the DotNetTorque Customizer utility to generate the update interfaces for my C# scripting wrapper, and continued on my way. It works great, I only wish that the Winterleaf guys gave it a more cool name - something like script-o-matic. Afterwards, I happily scraped out all the TorqueScript and replaced it with C# code.
Back to creating my game with Torque 3D at the core, DotNetTorque at the scripting level, and Game Mechanics Kit to flesh out the game behaviors. And I recommend that you pull together $99 and go buy DotNetTorque as soon as you can.
John K.
About the author
John Kanalakis is the owner of EnvyGames, an independent game development studio in Silicon Valley that produces games and tools for Xbox 360, Windows, and the Web.
#2
05/02/2006 (12:41 pm)
We need a distance learning version of this. I can't afford to fly up there on my disability income. But I could afford to drop a couple hundered for a multimedia internet class. 
Employee Eric Preisz
GarageGames
I would just like to add some comments. I've been working with and building engines for 6 years and consider myself pretty comfortable with engine design. I think a class like this is useful for those other than beginners. When I started working with Torque, I usually had several approaches to every task I needed to finish. We hired a Torque consultant (famed Paul Dana) and it saved us so much time. Just being able to ask someone experienced the best approach for your job can save you weeks in a task.
So having said that, if you are considering going to a class like this, I highly suggest it. If you are currently working on something, then It's almost silly not to because the ROI will be well worth it. Knowing the Garage Games guys, if you have a specific task they will go out of the way to help your specific needs. Remember, the guys that are there to help you aren't just course instructors, they are the real deal.