Torque X 2.0 - Release Notes
by John Kanalakis · in Torque X 2D · 03/13/2008 (4:07 pm) · 64 replies
Torque X 2.0 Release Notes
Installing XNA 2.0 Game Studio
The biggest change to note is that Torque X 2.0 is based off of XNA Game Studio 2.0. That means you can finally uninstall XNA Game Studio 1.0 (Refresh), but there's no rush. I've found that both XNA 1.0 and 2.0 work just fine side-by-side. You can download XNA Game Studio 2.0 from here. XNA 2.0 runs a bit faster with optimized dynamic vertex buffers. It also manages render targets consistently between Windows and the Xbox 360. Overall, you should find that your games run a little faster with Torque X 2.0.
Pay Attention to Build Configurations
When you create a new project from an template, or open one of the demo projects, be sure to keep an eye on your build configuration. At the top, you will notice the platform (x86 or Xbox 360) and the configuration (Debug, Release, or GGBinaryRelease). You never want to see the platform set to "Mixed Platforms" because that means art assets and game code are probably compiling differently and wont work together.
The New 'Content' Folder
Pretty quickly, you'll notice the new Content folder. In XNA 2.0, all art assets are managed in a dedicated sub-project that is attached to the game project. This content project is compiled first, turning all sounds, models, images, etc. into compiled .xnb files. The good news is that Torque X Builder has also been updated so that assets brought into TXB will update the new content project, just as before.
Deploying to Xbox 360
Xbox 360 deployment has changed in this release. Instead of providing a dedicated Xbox project converter, Torque X 2.0 uses the built-in converter provided with XNA 2.0. To deploy your project to the Xbox 360, select your game project from within Visual C#, then right click on the solution, and choose "Create copy of project for Xbox 360". This will add another project file to your solution. The good news is that it's just a wrapper project that points to the original project's files - this means that as you update your game code, the xbox version gets updated at the same time. This is also a much better soltion since this approach will let you deploy to other future devices, such as Zune. Keep in mind that "Pro Version" licensees will need to create an xbox project for the Game project AND the Torque X Engine project. Also note, that with XNA 2.0, there's a new deployment utility, called XNA Connect, available to Creative Club members and downloadable from the Xbox LIVE Marketplace. You'll need the new XNA Connect utility to deploy Torque X 2.0 games.
3D Framework Improvements
There have been a lot of enhancements that open up the Torque X 3D Framework. In 1.5, a lot of classes were internal or did not have get accessor methods. This means that you can work more easily with the 3D classes in code instead of having to do everything in XML. The Starter Game 3D has also been improved to add basic physics to the scene. This way, you can more easily add objects to the scene which won't fall through the terrain. There's also a new T3DComponent template... just a little convenience for those creating a new 3D component.
Converting an Existing Torque X Game to 2.0
I also suspect that several developers that have existing Torque X 1.5 projects will want to upgrade them to Torque X 2.0. Overall, it's not too difficult. Download the XNA 2.0 Project Upgrade Wizard. To use it, open Visual C# and select File + New Project. Select the XNA Game Studio project type node and the "Project Upgrade Wizard (2.0)" template and enter the new name of your game project, like "Game2". Next browse to your Torque X 1.5 project source and then click the Upgrade project. In the new project, you will need to update your project references to point to the Torque X 2.0 assembly DLL.
John K.
Installing XNA 2.0 Game Studio
The biggest change to note is that Torque X 2.0 is based off of XNA Game Studio 2.0. That means you can finally uninstall XNA Game Studio 1.0 (Refresh), but there's no rush. I've found that both XNA 1.0 and 2.0 work just fine side-by-side. You can download XNA Game Studio 2.0 from here. XNA 2.0 runs a bit faster with optimized dynamic vertex buffers. It also manages render targets consistently between Windows and the Xbox 360. Overall, you should find that your games run a little faster with Torque X 2.0.
Pay Attention to Build Configurations
When you create a new project from an template, or open one of the demo projects, be sure to keep an eye on your build configuration. At the top, you will notice the platform (x86 or Xbox 360) and the configuration (Debug, Release, or GGBinaryRelease). You never want to see the platform set to "Mixed Platforms" because that means art assets and game code are probably compiling differently and wont work together.
The New 'Content' Folder
Pretty quickly, you'll notice the new Content folder. In XNA 2.0, all art assets are managed in a dedicated sub-project that is attached to the game project. This content project is compiled first, turning all sounds, models, images, etc. into compiled .xnb files. The good news is that Torque X Builder has also been updated so that assets brought into TXB will update the new content project, just as before.
Deploying to Xbox 360
Xbox 360 deployment has changed in this release. Instead of providing a dedicated Xbox project converter, Torque X 2.0 uses the built-in converter provided with XNA 2.0. To deploy your project to the Xbox 360, select your game project from within Visual C#, then right click on the solution, and choose "Create copy of project for Xbox 360". This will add another project file to your solution. The good news is that it's just a wrapper project that points to the original project's files - this means that as you update your game code, the xbox version gets updated at the same time. This is also a much better soltion since this approach will let you deploy to other future devices, such as Zune. Keep in mind that "Pro Version" licensees will need to create an xbox project for the Game project AND the Torque X Engine project. Also note, that with XNA 2.0, there's a new deployment utility, called XNA Connect, available to Creative Club members and downloadable from the Xbox LIVE Marketplace. You'll need the new XNA Connect utility to deploy Torque X 2.0 games.
3D Framework Improvements
There have been a lot of enhancements that open up the Torque X 3D Framework. In 1.5, a lot of classes were internal or did not have get accessor methods. This means that you can work more easily with the 3D classes in code instead of having to do everything in XML. The Starter Game 3D has also been improved to add basic physics to the scene. This way, you can more easily add objects to the scene which won't fall through the terrain. There's also a new T3DComponent template... just a little convenience for those creating a new 3D component.
Converting an Existing Torque X Game to 2.0
I also suspect that several developers that have existing Torque X 1.5 projects will want to upgrade them to Torque X 2.0. Overall, it's not too difficult. Download the XNA 2.0 Project Upgrade Wizard. To use it, open Visual C# and select File + New Project. Select the XNA Game Studio project type node and the "Project Upgrade Wizard (2.0)" template and enter the new name of your game project, like "Game2". Next browse to your Torque X 1.5 project source and then click the Upgrade project. In the new project, you will need to update your project references to point to the Torque X 2.0 assembly DLL.
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.
#22
gg and john are the coolest!
03/15/2008 (12:35 pm)
Quote:but you can definitely get it working on your own...cool!
Quote:or just wait a bit longer and we will have it done for you.cooler!
gg and john are the coolest!
#23
I have the same problem, the FPS project loads fine, but when I try to select a level the screen goes black and then returns to the XBox Dashboard. The same thing happened when I tried to run the lighting example, after moving around just a little bit it "crashed".
Also when I tried debugging the TorqueX games it loaded onto the console but didn't run, the XNA Connect screen just continued to say "Connected to Computer" after loading everything. I had to go to the games menu to play them. However regular XNA 2.0 games start playing after everything's loaded from the computer. I don't know if that's how it's supposed to work or not.
03/15/2008 (2:25 pm)
Quote:Hey guys,
Thanks for the release -
Does it work on the x360 yet? I was able to deploy and see the GUI, however when I click on the buttons, it simply crashes, and goes back to the dashboard.
sean
Quote:The Xbox360 "Black Screen" bug appears to be fixed, so I think you have a different problem.
I have the same problem, the FPS project loads fine, but when I try to select a level the screen goes black and then returns to the XBox Dashboard. The same thing happened when I tried to run the lighting example, after moving around just a little bit it "crashed".
Also when I tried debugging the TorqueX games it loaded onto the console but didn't run, the XNA Connect screen just continued to say "Connected to Computer" after loading everything. I had to go to the games menu to play them. However regular XNA 2.0 games start playing after everything's loaded from the computer. I don't know if that's how it's supposed to work or not.
#24
Zilla, thanks buddy!
Sam, very strange - this tested out positive earlier. I'll rerun some tests and see if anything new was introduced. The main goal was to get the Xbox 360 games working for everyone that reported "purple screens", which I was able to track back to improperly initialized render targets. I'll check on this and see what I can find.
Everyone else, Visual Studio 2005 support is coming. It's already being tested out on all the versions of Torque X (binary/pro/creators club/etc.). A patch should be available really soon.
John K.
03/15/2008 (2:38 pm)
Thomas, as long as your .txscene files are in the 1.5 format (not the older 1.0 format) they don't need to be converted to work with Torque X 2.0. I really think the conversion should be smooth, it's just changes to the installer that's adding a couple extra days of delay. Zilla, thanks buddy!
Sam, very strange - this tested out positive earlier. I'll rerun some tests and see if anything new was introduced. The main goal was to get the Xbox 360 games working for everyone that reported "purple screens", which I was able to track back to improperly initialized render targets. I'll check on this and see what I can find.
Everyone else, Visual Studio 2005 support is coming. It's already being tested out on all the versions of Torque X (binary/pro/creators club/etc.). A patch should be available really soon.
John K.
#25
03/15/2008 (4:25 pm)
John, my .txscene files are in the 1.0 format. :(
#26
It also appeared on this thread... . That really should do it...
John K.
03/15/2008 (7:39 pm)
That's okay Thomas. Try using the ConvertBetaTXSCENE.exe file in the Tools folder (in the C:\Program Files\GarageGames\ area) to convert your 1.0 file to 1.5 format. Then, open the .txscene file and modify one of the top lines to something like this:<!--Version: 2-->
It also appeared on this thread... . That really should do it...
John K.
#27
03/15/2008 (10:35 pm)
I'm trying to port a game I was working on during 1.0.1, and I'm getting that i can't find SizeF or Font, in my GUI.
#28
03/15/2008 (11:24 pm)
SizeF is now Vector2 and Font is SpriteFont
#29
My next problem is
in a class which is inherting
03/16/2008 (12:30 am)
Ok, that worked great! My next problem is
public override void Resize(Vector2 _newPosition, Vector2 _newSize)
in a class which is inherting
GUIControl, IGUIScreen
#30
or
or use the properties Bounds or Size or Position (they all call SetBounds).
03/16/2008 (7:04 am)
For Resize, use:/// <summary>
/// Changes the size and/or position of this control.
/// </summary>
/// <param name="newPosition">The new location of this control.</param>
/// <param name="newSize">The new size of this control.</param>
public virtual void SetBounds(Vector2 position, Vector2 extent)or
/// <summary>
/// Changes the bounds of this control. A control's bounds is its position and size.
/// </summary>
/// <param name="newBounds">The new bounds of this control.</param>
public void SetBounds(RectangleF newBounds)or use the properties Bounds or Size or Position (they all call SetBounds).
#31
Will the platformer kit have those few small bugs sorted. ie:
garagegames.com/mg/forums/result.thread.php?qt=68133
and where the AI wall set to visible = false instead of being garbaged
(halfway down the page)
garagegames.com/mg/forums/result.thread.php?qt=66900
It would help everyone out if the GG team fixed them for everyone.
Thanks guys :D
03/16/2008 (8:22 am)
Wow it's finally here. Will the platformer kit have those few small bugs sorted. ie:
garagegames.com/mg/forums/result.thread.php?qt=68133
and where the AI wall set to visible = false instead of being garbaged
(halfway down the page)
garagegames.com/mg/forums/result.thread.php?qt=66900
It would help everyone out if the GG team fixed them for everyone.
Thanks guys :D
#32
Project Template Wizard
A problem was encountered creating the sub project 'Game'. Error: this template attempted to load an untrsuted component Microsoft.XNA, Version=2.0.0.0, Culture=neutral, PublickeyToken=6d5c38888ef60e27d for more info on enabling this template go here (which was a link)
Is this error related to the installer bug?
03/16/2008 (9:34 am)
Hey John I am having an issue where when I create a template in Visual C# 2005 Express Edition I get the errorProject Template Wizard
A problem was encountered creating the sub project 'Game'. Error: this template attempted to load an untrsuted component Microsoft.XNA, Version=2.0.0.0, Culture=neutral, PublickeyToken=6d5c38888ef60e27d for more info on enabling this template go here (which was a link)
Is this error related to the installer bug?
#34
From creators club forum:
"This error usually means one of two things:
XNA Game Studio 2.0 is not installed; or
XNA Game Studio 2.0 Beta was installed previously, but didn't uninstall completely before you installed the final release version.
Either of these is usually resolved by uninstalling XNA Game Studio 2.0 and reinstalling it.
However, before you do, you should check to see that you get the same error when trying to create any XNA Game Studio 2.0 project, such as a Windows Game (2.0) project. That would definitely confirm a corrupt installation."
03/16/2008 (9:48 am)
@Donald,From creators club forum:
"This error usually means one of two things:
XNA Game Studio 2.0 is not installed; or
XNA Game Studio 2.0 Beta was installed previously, but didn't uninstall completely before you installed the final release version.
Either of these is usually resolved by uninstalling XNA Game Studio 2.0 and reinstalling it.
However, before you do, you should check to see that you get the same error when trying to create any XNA Game Studio 2.0 project, such as a Windows Game (2.0) project. That would definitely confirm a corrupt installation."
#35
binary I didnt see the option for the Pro version.
@Scott G
Let me try reinstalling XNA, SHould I also reinstall Tx2?
03/16/2008 (10:07 am)
@John Kbinary I didnt see the option for the Pro version.
@Scott G
Let me try reinstalling XNA, SHould I also reinstall Tx2?
#36
I'm not sure if it is really necessary but personally I would uninstall Torque X (v1, v1.5, v2---whatever is installed) and uninstall XNA.
Then reinstall, following the instructions carefully and watching for any errors.
That would give me peace of mind that the install was correct.
03/16/2008 (10:28 am)
@Donald,I'm not sure if it is really necessary but personally I would uninstall Torque X (v1, v1.5, v2---whatever is installed) and uninstall XNA.
Then reinstall, following the instructions carefully and watching for any errors.
That would give me peace of mind that the install was correct.
#37
03/16/2008 (12:36 pm)
Got it working! Now its time to create.
#38
03/17/2008 (9:24 am)
Sorry to ask in two places but does Tx2 support Normal Mapping?
#39
John K.
03/17/2008 (9:57 am)
Yep, just replied to the other post. It does suport normal mapping. You need to create a lighting material, specify the normal map, then add a light to the scene. It also supports full-screen shader effects - the TankBuster sample uses a full-screen normal map effect to simulate a shockwave when blasting a fuel tank. The FPS Demo uses normal maps on the weapons and the boombot character.John K.
#40
From the reference manual I was able to deduce:
a) GuiSceneView.Size was GarageGames.Torque.MathUtil.SizeF, but is now Vector2,
b) and T2DAnimatedSprite.PauseAnimation was a boolean property, but is now controlled by methods PlayAnimation() and PauseAnimation().
However, I have been unable to resolve the following 3 errors:
1) T2DSceneCamera tempCam = T2DSceneGraph.Instance.Camera as T2DSceneCamera;
'GarageGames.Torque.T2D.T2DSceneGraph' does not contain a definition for 'Instance'
2) GuiStyle MiniStyle = new GUIStyle();
'GarageGames.Torque.GUI.GuiStyle' does not contain a defintion for 'Anchor'
3) MiniStyle.Anchor = AnchorFlags.None;
The name 'AnchorFlags' does not exist in the current context
All 3 errors are from code based on the Airplane Tutorial. Has the Airplane Tutorial been updated for 2.0?
03/18/2008 (5:40 am)
John, thanks the txscene files converted without any problem. Now on to the post upgrade compile issues...From the reference manual I was able to deduce:
a) GuiSceneView.Size was GarageGames.Torque.MathUtil.SizeF, but is now Vector2,
b) and T2DAnimatedSprite.PauseAnimation was a boolean property, but is now controlled by methods PlayAnimation() and PauseAnimation().
However, I have been unable to resolve the following 3 errors:
1) T2DSceneCamera tempCam = T2DSceneGraph.Instance.Camera as T2DSceneCamera;
'GarageGames.Torque.T2D.T2DSceneGraph' does not contain a definition for 'Instance'
2) GuiStyle MiniStyle = new GUIStyle();
'GarageGames.Torque.GUI.GuiStyle' does not contain a defintion for 'Anchor'
3) MiniStyle.Anchor = AnchorFlags.None;
The name 'AnchorFlags' does not exist in the current context
All 3 errors are from code based on the Airplane Tutorial. Has the Airplane Tutorial been updated for 2.0?
Torque Owner Thomas Wrather
In your release notes post you talk about using the XNA 2.0 Project Upgrade Wizard. When upgrading from 1.0 to 2.0, are there changes required in the TXB generated files (e.g. .txproj and .txscene)? Does the wizard make the changes or does TXB automagically make the changes?
(All my questions would probably be self answered if I just installed everything and tried it. I'm holding out for the installer fix for Visual Studio 2005.)