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
#41
08/14/2006 (12:15 pm)
That is for XNA, not Torque X...unless GG decides that.
#42
08/14/2006 (12:22 pm)
Just because no one has posted it yet I figured I'ld post a link to the actual platform...
Microsoft XNA
From there you can also download a preview version of XNA.

Regards,
Dreamer
#43
08/14/2006 (12:33 pm)
Well, lets see....
Torque X
Torque Game Engine
Torque Shader engine

Sounds like a lot of work for an engine that sports itself as "cross platform". Hopefully, GG isn't overextending itself. I would hate to see a great engine die becouse of this.

Oh, and Macs are gaining ground on PCs thanks to some great advertising by Apple. (altho I have no clue why. Macs are difficult to learn how to navigate when you've been a windows user for umpteen years)

Personally, I don't know wether to congradulate GG, or offer my condolences. I'll wait and see how it goes.
Until then, onward and upward with game building. :-)
#44
08/14/2006 (12:54 pm)
Wow, the XNA is really cool technology ,

Any idea about the price? or gona to be free for the TGB/TGE/TSE owners :P
(yes im poor)
#45
08/14/2006 (12:58 pm)
From all posts, it will not be a free upgrade but will be "indie priced". Final pricing is now known at the moment.
#46
08/14/2006 (1:27 pm)
I just think that TorqueX should be a multiplatform (Framework.NET & Mono) .net wrapper around TGB,TGE and TSE. I dont think I'll be buying it unless I have a winning XBox 360 title under hood... Otherwise it's just a bit overpriced toy for an indie...

MS's Vista might be bitten by Apple's Leopard, they have good potential for less hardware requirements, anything else will be marketing crap... This will lead to the Mac gaming demand.
#47
08/14/2006 (1:35 pm)
I'm very excited about this. Good news!
#48
08/14/2006 (1:42 pm)
I just got the idea why Microsoft is pushing XNA to masses ;)

That's the whole conspiracy :) : a lot of good indie games will be developed and released for free (commercial licence is still high, less ppl will buy it, but there are a lot of pride people who would like to show off their skills and visions), this will be against small indie developers who would like to sell games on XBox Arcade - the sales will be low in majority, but Microsoft doesnt care too much about that - because the subscription profits from XBox Arcade will be going up... plus that $99/year will bring them big profits as well... feel the idea? ;) Does it sound like a monopoly? ;)
#49
08/14/2006 (2:52 pm)
Mentions? We gave a part of the keynote speech :)

www.majornelson.com/archive/2006/08/14/Gamefest-Keynote.aspx
#50
08/14/2006 (2:52 pm)
I wish people would learn how to use url tags. :-/ [ url ] website addy [ /url ] (without the spaces)

www.microsoft.com/presspass/press/2006/aug06/08-13XNAGameStudioPR.mspx
#51
08/14/2006 (5:07 pm)
Quote:I wish people would learn how to use url tags. :-/ [ url ] website addy [ /url ] (without the spaces)

Aww come on, I'm new here!
#52
08/14/2006 (5:23 pm)
Lol. That's why I gave the example. :-;
#53
08/14/2006 (5:36 pm)
This is very exciting, Great news
#54
08/14/2006 (7:27 pm)
Hey Josh.. Grats!

"The GarageGames mission has always been to provide top-tier technology, tools and community to independent and aspiring game developers," said Josh Williams, CEO of GarageGames
#55
08/14/2006 (9:33 pm)
Now you guys know why my t2d.net didnt go forward with a release.

it sucks for me short term, but long term, it's a big win for me, and everyone else. Having a c# engine, native (without my wrapper) means better flexibility.

=Jason
#56
08/14/2006 (9:54 pm)
@Jason Swearingen

Hey! How's it over there in the far east? It's good to hear from you.
#57
08/14/2006 (11:29 pm)
@Anton: hey, yah good to hear from you too.

I havent left yet actually (my last day State-side is sometime in Oct)

I've been sneaking around the fourms a bit, but been busy wrapping up things here (like selling my house)

that, and I couldnt really talk about the t2d.net stuff without spoiling the Torque X announcement

anyway, i am excited to see both XNA.NET, and Torque X... from what i've seen of the tech so far, it really does rock!
#58
08/15/2006 (12:35 am)
I'll jump in the fray here.

Stepping up on the soap box...

First, I'm glad Microsoft is opening up the XBox. That's only good news for us Indies. I just hope Sony and Nintendo follow...

Second, I'm glad GG is on board from day one. That means we only have to worry about 1 engine.

Third, about 3 years ago I had the opportunity to have a conversation with the .NET team at Microsoft on the .NET runtime's speed, power, etc. in embedded platforms. I posted something similiar to this in other forums somewhere else a long time ago...
Note: These only apply to .NET 1.0 & 1.1. Since I don't work for the same company, I no longer have the MS connections to get the inside scoop on .NET 2.0. Maybe someone from GG does...
1. When optimized, C# is pretty close to 90% the speed of C++. Now, this means you are very careful about what you do, and how you do it in C#. Make calls to PInvoke, COM, and floating point operations very rare and far between. I believe 'chunky' is the word they used. PInvoke & COM result in roughly 50 assembly calls each direction...
2. Totally unwary and thoughtless coding in C# can make it 5-10% the speed of C++.. Lot's of PInvoke, COM Interop, and floating point operations in for loops for example...
3. The biggest weakness of the .NET runtime at the time I spoke with MS was floating point operations. They were scheduled to improve this with .NET 2.0. I haven't done any tests, but I still would be wary of doing thousands of floating point operations in for loops, w/o testing it for performance. They suggested marshalling the data to a native C++ DLL and doing the for loops of floating points ops there.
4. The .NET runtime is NOT REAL TIME. Nor is it soft real time. It requires Garbage collection cycles at undefined and undetermined times. Anyone who cares about 10ms intermitent delays is going to have a fit. Most Garbage Collection cycles were 1-10ms. With some serious stress testing where we forced memory paging and fragmentation, and the allocating and release of massive amounts of objects (i.e. 10s-100s of MB), we once observed a 200ms Garbage Collection cycle...
5. As mentioned in previous posts, Mono (http://go-mono.com) runs on MacOSX and various version of Linux. It is not quite as fast or as feature rich, but it does work, and it is improving at a dramatic rate. It's backed by Novell. Last time we ran tests, it was overall about 80% the speed of the .NET runtime, although performance testing can also reveal bottlenecks that can be avoided.
6. As mentioned previosly, C# is much faster to code in than C++. We estimated between a 15-30% improvement on a 6 month project for those who had NEVER used C# before. This increased to 30-60% faster development once the team was familiar with C#. (One team even reported 80% faster dev times, but we believe this was due to assimilation with the Borg.)

Ultimately, C# decreases development time, which is what every Indy needs. That alone is a enough to make it worth the effort.


"Premature optimization is the root of all evil."
Once you've got a working game, run a performance analyzer and find what is slow. Then optimize. If necessary, make calls to native C++ code or assembly, there is nothing that prevents this when using C#. I bet I'll finish my game in a lot less time that those of you who wrote the whole game in C++ or assembly.

Finally, I've been developing with C# for 6+ years and C++ for about 8. C# & the .NET runtime are a tool like any other tool. There are places where they should be used, and there are places where they should not. Just like a Corvette and a Hummer.

Stepping down off the soap box...

I hope I don't have to pay for yet another GG engine to use this....If we buy the other 3 do we get this 1 free? ;)
#59
08/15/2006 (1:22 am)
I'm just about as "close" to .NET as anyone who posts on these fourms, so i'll try to answer your questions:

1) performance wise, .NET 2.0's CLR (the thing that actually runs your program) is quite a bit improved over 1.1 check the various msft resources for more info (such as here: http://msdn.microsoft.com/netframework/programming/performance/) but these days, how your app uses and passes around memory is generally what will cause perf problems (not floating point or pinvoke) That said, with real time simulations (ex: games) there are other issues that i'll bring up a little further down


2) I would say that thoughtless c# coding is a lot less detrimental than thoughtless c++ coding... generally speaking, dont bother trying to optimize your code in c++ and calling it via pinvoke. Use the built-in libraries. Microsoft tends to optimize the libraries fairly well, resulting in you getting all their funky perf benifits for free.

3) the biggest weakness isnt floating point, it's real-time simulations. Again, unless you have a "real" reason (security, unsupported API's, etc) dont do pinvoke. there is no reason to.

4) the CLR is realtime, just not realtime all-the-time. When the GC kicks in, all threads in your app are suspended. Generally, this is very quick, around 1ms in length, unless your app allocates/deallocates lots of memory (on the heap) which will cause memory churn, which will make the GC take a lot longer... the problem with games, is that this is what games/simulations do a lot of......

5) mono is nice because it is cross platform and contains java interop, but it lags significantly in the area of features and performance. I am a big proponent of C# for scripting, and if that's why you would use mono, there is no problem i see with doing that. (well, except for the c++ interop)

6) c# is faster for me.. a lot faster... and what's more important is the great IDE support. I have been doing some java projects reciently, and man.. java's IDE's really SUCK (I've used IDEA and ECLIPSE)


8) I personally dont think that .NET is quite there yet for real time performance... and I would personally recomend that the core engine be done in C++, with the surrounding API's (and game) written in c# for the fast development and library resources, but that's me..... if XNA turns out better than MDX (it would be hard for XNA to be worse) then I'll rethink my opinion on this.

-Jason
#60
08/15/2006 (11:20 am)
After reading everything I can about XNA GSE and TorqueX, I'm still unclear about how they will fit together. Apparently, games can be developed with just GSE. Will TorqueX require GSE or will it only require the XNA Framework? Will GSE include parts of TorqueX or are they totally separate products?

The XNA GSE FAQ states GSE will not include any networking code. Will TorqueX? Will it be easier to share binaries with TorqueX?

I'm assuming TorqueX will make XNA game development a bit easier? Something like coding a game today from scratch vs. using the TGE or TGB. Is that correct? Is there any fear on GG's part of MS expanding the Game Studio products to compete directly with the Torque products?