Game Development Community

Torque X

by Geoff \'Got Haggis?\' Rowland · in General Discussion · 08/14/2006 (7:05 am) · 74 replies

Quote:
What is Torque X? What is XNA?
"Torque X" is what we've dubbed Torque on XNA. XNA is Microsoft's overall umbrella brand for game development technologies and tools. The XNA Framework is a C#-based, managed code game development-specific framework that provides low-level utilities, and wraps Direct X for managed code use. XNA Game Studio Express is Microsoft's IDE for XNA, its similar to Visual Studio, with game development-specific enhancements. Microsoft also just announced that with XNA Game Studio Express, you can play the XNA-based games you create on the Xbox 360 as well as Windows.

Please see the Torque X landing page for more information on Torque X (FYI GGers, the Torque X landing page will launch on the main GG site on Monday: www.garagegames.com/products/torque/x

What we've done is port key pieces of Torque over to C# in order to make it work with the XNA Framework. Microsoft's approach with XNA is really cool for game developers of all kinds. Besides being able to make games on consoles, it honestly turns out that doing games in managed code is a smart way to go. Torque X projects are performant already, and we're not even done with it yet.

Our goal is to have feature parity between Torque X and our existing engines TGB and TSE. We've already got a lot of their functionality up and running, and Torque X is even leading the way in some cases... we've been able to get nice implementations of some future TGB and TSE features, such as shaderized 2D scenes and polysoup collision detection in TSE, up and running in Torque X very quickly (thanks in part to the ease of working with managed code).

Why don't you just finish what you've already got started?
We are. We're shipping TSE Miletone 4 this week, and that includes a full static and dynamic lighting and shadowing system, as well as some awesome graphical special effects, performance improvements, and a lot more. TSE is making incredible progress, and is feature complete with Milestone 4! For the TSE release, all we have left to do is tune, polish, squash any remaining bugs, and write lots of good docs.

We just shipped TGB 1.1.1, which includes all kinds of fancy new features, including a whole new tile editor, and a bunch of usability improvements based on community feedback. TGB updates are continuing apace, and we'll have a new one every few weeks!

We're also working on a big update to TGE. Constructor is well into its Beta. And we even just entered Beta on a new game we've been doing internally. GG is getting stuff done faster than we ever have before, and Torque X is just an exciting new addition to our efforts!



i found this on the interweb
#21
08/14/2006 (9:05 am)
@Pat - When can we see the 'x' page launched?
#22
08/14/2006 (9:07 am)
So, anyone know if they will be allowing only free games from these developers, or if there will be some sort of store set up?
#23
08/14/2006 (9:08 am)
...I scanned this and spotted the "Microsoft has acquired a 65% share in GarageGames ", and my heart almost exploded.
#24
08/14/2006 (9:24 am)
I just want to say I told you so.
We had a big debate about the future of gaming and c# a while back and I think it was Pat who was the hardest about C++ keeping its rule.
C++ will always be important but it's good to see that people are starting to see the light about managed code.
#25
08/14/2006 (9:26 am)
Same here, Todd. I thought, "Bungie all over again."
#26
08/14/2006 (9:31 am)
Seeing the Light?
Didn't I just read somewhere that Marble Blast when ported to C# and Managed Code lost 20% of it's speed or was it that it was 80% as fast?
LOL nice light, how much faster or slower would it have been if they had ported it to Java?
Managed Code, C# and all these other buzzwords are just that, buzzwords, nothing more. There are no real new ground breaking concepts going on here. And umm if I'm not mistaken didn't MS pull most if not all of the managed code from Vista? That should speak to the speed and stability of "managed code".
I'm not saying that it's a bad thing to try and attract developers to the platform, and try to expand it's usage or whatever, who knows maybe they can eventually speed the .net runtime environment up, but remember until then no matter how sharp your c sharp code is, it's never going to be any faster than the black box runtime it's being executed under. Which oddly enough is the exact same problem as we had with Java :)

Have fun guys!
#27
08/14/2006 (9:37 am)
Oh yeah and one final note, if you go this C# and managed code route you end up losing an easy path to Macs, which may or may not be a concern right now. But if I remember correctly someone did say that 35% of their sales came from Macs, I'ld be hard pressed to say "Oh yeah well that 35% is made up for in time savings from using "
#28
08/14/2006 (9:42 am)
Dreamer. I said perfectly well that C++ has it's place. The problem being that it's way more dificult then it needs to be. It's error tracking is something to be desired and a lot of the functionality is just redundant.
C# is slower. But how slow is slow?

I hate C++. I have no use for it. If i need to program something like a driver or other non visual program I use C. If i need to write a program I use VB or C#. C++ has it's place but not in my life.
C# will help people learn easier and in the long run, that's what it's all about.
#29
08/14/2006 (9:48 am)
Dreamer did raise a good point with his last post.
I may be wrong but I am under the impression that torque x should act the same way as torque does with scripting.
So in theory, you could use the same scripts in a non Torque X platform with only modifcations to the scripts that interact with the xna platform?

Am I correct to think this? or is it going to be a whole new way of dealing with things?
#30
08/14/2006 (9:51 am)
He he, Michael: it was an april joke my co-worker Tom did for me last year.

See here the thread with the original newsletter he faked for me:
http://www.garagegames.com/mg/forums/result.thread.php?qt=28304

See the faked newsletter right here:
http://www.decane.net/martin/apriljoke/
#32
08/14/2006 (9:59 am)
Ok just to clarify when I reffer to C++ I'm reffering to C/C++ and in that case using a good set of libs like SDL it is no harder to create a visual app in C/C++ than it would be in C# or Java.
And as far as being a learning language, C# isn't really going to be any easier to learn than C or C++ or Java or any of the myriad of other languages. The problem with C# is actually 2 fold, #1 You are limited to the capabilities of the .NET runtime which actually isn't much of a limitation anymore other than speed. The second is that it allows you to easily write bad and/or sloppy code, and learning to write bad code is worse than not learning to code at all, because eventually you will be faced with unlearning bad habits.

Anyways don't take this whole thing as a C is better than C# argument, because for certain things C# is in fact better, for instance in any place where you need a RAD Prototype on Windows C# is a clear winner here. However you don't ship your development prototype, you ship your finished product optimized to do whatever it was made to do. In this regard C/C++ is going to come out on top, because if every component is taking 20% longer than it needs to, you going to have overall a slower application which is going to frustrate customers, who will eventually end up going to your competion who has the faster more stable app.
#33
08/14/2006 (10:20 am)
@Dreamer - You are missing a key point here. 80% as fast could still equal an unotticable change to the end user. If you are so worried about speed, like was said earlier, go back to Assembly as c++ is a lot less than 80% as fast as Assembly. The key point here is that the TRADE OFF in saved development time outweighs the loss in efficiency.

For a prime example of this in action using DirectX 9, go to www.codesampler.com/dx9src.htm
and download anything that has (C++, C#) behind it. To give you a sample, look at the Initialization example.

c++ version is 243 lines of code that you write 100% of.
c# version is 138 lines of code where a good chunk of it is written for you by the GDI.

Look closer at some functions/methods like the 'render' method and you'll see:

C++:

void render( void )
{
    g_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
                         D3DCOLOR_COLORVALUE(0.0f,1.0f,0.0f,1.0f), 1.0f, 0 );

    g_pd3dDevice->BeginScene();

	// Render geometry here...

    g_pd3dDevice->EndScene();

    g_pd3dDevice->Present( NULL, NULL, NULL, NULL );
}

versus the c# version:

private void Render()
{
   d3dDevice.Clear( ClearFlags.Target | ClearFlags.ZBuffer, 
                             Color.FromArgb(255, 0, 255, 0), 1.0f, 0 );

   d3dDevice.BeginScene();
			
   // Render geometry here...
    
   d3dDevice.EndScene();

   d3dDevice.Present();
}

Now, bear in mind in C#, as soon as I type 'd3dDevice.' I'm GIVEN all the methods and properties for that object, where as when I type 'g_pd3dDevice->' in C++, I'm giving nothing. This just shows you a SMALL sample of how you can code a C# game in HALF the time it takes to code a C++ one.

Especially for indie developers who don't have 2 - 4 years to build a game, but instead want to take 1 year to do it and only have minor speed losses.


Edit: Almost forgot to add about the Mac support that you are wrong. You can program in .net and it can be fully 100% cross platform to Windows, Linux, and Mac (DotGNU and Mono). Also, when we talk about C#, you don't HAVE to use C#, you can use ANY .net language (which is over like 30 now I believe) INCLUDING python, managed C++, vb.net (ick) and more.
#34
08/14/2006 (10:23 am)
LOL just a bit offtopic here, but umm are script files going to need a change to extension?
.cs on all the ide's I've seen are assumed to be CSharp :)
#35
08/14/2006 (10:25 am)
@Dreamer - Oh yea, and if people were so concerned about speed, they wouldn't be using TorqueScript either as it is probably closer in the range of 70% (or less) the speed of doing it in C++. The reason people use script is for the increase in DEVELOPMENT speed.
#36
08/14/2006 (10:52 am)
It doesnt matter if you use C# or C++ in XNA - they all compiled to the bytecode

If you just benchmark the pure language/platform implementation without IO (calculating N!):
C# is 4 times slower then C++
Java is 0.1 times slower C# on Win32
Lua5 is 3 times slower then C#
TorqueScript is 5 times slower then C#

mono is 25% slower then framework.NET 2, but still in development, but can run on Linux/MacOS already

Go figure, I did benchmarks by myself on Athlon 3700+ 64 bit.
#37
08/14/2006 (10:56 am)
Will Torque X be sold seperetly? Or it's just an add-on to TGB, TGE and TSE?
#38
08/14/2006 (11:03 am)
I would assume from the statement "we are still discussing options for fair pricing, but one of the options we are considering is the subscription model posed by Microsoft for XNA Game Studio Express" that it will be sold separately.
#39
08/14/2006 (11:25 am)
Woah it's on FIRE now.. 305 news articles and growing..

news.google.com/nwshp?hl=en&tab=wn&ncl=http://www.betanews.com/article/Microsoft...

Washington post said it's gonna be $99 a year subscription lol.
#40
08/14/2006 (12:08 pm)
XNA game development platform will be free for Windows, $99 for Xbox

www.tgdaily.com/2006/08/14/xna_game_development_platform