Previous Blog Next Blog
Prev/Next Blog
by date

Development of TSE360

Development of TSE360
Name:Pat Wilson
Date Posted:Jul 13, 2005
Rating:Not Rated
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Pat Wilson

Blog post
Development progress of TSE360!
(Note: All images are under my Flickr phototag 'tse360'. You can find them: HERE).

I am around 2 months into TSE360 development and since there has already been a bit of noise about this in Mark Frohnmayer's last .plan and such I thought I'd let a little more of the cat out of the bag and let it kind of run around on the floor while dragging the bag behind it with it's front paws. The end is in sight...or to put it differently: The Xbox 360 insurgency is in it's last throws! Most of this .plan is going to consist of strange pictures (that are only really exciting to me when I was in the first stages of development) and discussion of some of the compatibility features of TSE and TSE360, specifically.

The goal for TSE360 development continues along with the goal I had in mind 2 years ago when I started writing the TSE graphics layer: You write the code on one platform, and it works on the rest (to the limits of realistic expectations). This is an ambitious goal, to be sure, but I always felt that it was realistic. This goal is realized pretty well in Torque right now. I'm sure teams will be happy to tell you about how it took them 5 hours to have a Mac port. Or some more specialized teams could tell you it took them 10 minutes to have Torque building on the x86 Apple computers. Yes, Torque is portable, and we want to carry this to the next level with TSE.

This isn't a pure technology project that I am on right now, we have a game to ship, and a very aggressive schedule. The team isn't screaming while we code yet, and when we have meetings we say things like, "This should be done by..." and, "...barring any unforeseen..." so it's not exactly aggressive like a bulldog on a steak-flavored chewtoy or anything. It's more like a passive-aggressive bulldog who ran out of Zoloft or something. It's not very pretty, but the further we get on the project, the tighter the platform layer and GFX device for the Xbox 360 will get...and the more bug fixes will get back to TSE!

Until recently we only had one development kit and so, unless measure were taken to address compatibility, it would be very difficult to get development started. This was my first task. The first thing I did was to create a GFX device for the Xbox360. Those of you who have, and know, TSE will know what I mean by a GFX device. For those who don't, GFX is a graphics layer which will let you write API-abstracted rendering code. (For example, the same calls will do the same things on PC DirectX 9, or OpenGL 1.5, or the Xbox 360.)
This let development progress on the PC and the 360 at the same time, off the same codebase. There were, of course, two, separate project files, but other than that it was pretty seamless. The next thing was to get controller input working, on the PC, exactly the way it does on the Xbox. This was a simple task, and it allowed us to write GUIs designed for controler use and prototype them on the PC, as well as test things like gameplay on the PC as well!
Next I put focus onto the GUI editor. I set the resolutions for TSE to be the same resolutions that are supported by the Xbox360, and changed the GUI editor to have preview selections for those resolutions. This way the team could start making GUI's that would look the same on PC as they would on the Xbox. So now things looked the same on the PC as they did on the Xbox in the GUI. The GUI navigation was the same, if you used an Xbox controller plugged into a PC, or you could use the keyboard with the 'a' key acting the same as the 'a' button, etc. That was the easy part...the next task was 3d rendering.

For reasons that are very NDA, I can't discuss specifics of what had to be changed in the TSE GFX device, however I can say that, under the circumstances, the GFX layer held up very well. A lot of the things which I had to now consider didn't even enter into my thinking two years ago when the code was written for GFX. TSE handled these new restrictions and expanded abilities quite well, and I finally got to fix some lame-brained things that I did back then too. (You'll notice, if it's in CVS yet, that there is now an enum-translation table that will help greatly for the move to OpenGL as well.) As you'll see from the pictures scattered throughout this plan, it wasn't an easy process.

Work progressed steadily.

As you can see by these images it went first to getting polygons rendering correctly, then getting texturing working correctly.

You'll see that I am using a test map so I can see what is doing with the texture coordinates and such (and it's doing them correctly).

Then next was to get it using the right textures, then get it working in three space (that first one is the glow buffer, actually).

There were some problems with mip mapping, but those got sorted out.

Then you'll see the TSE material test cube, on a lovely pink background and then the hallway there with messed up lighmaps on the DIFs.

As of right now, the team is working on PC and Xbox 360 in full development of a game on TSE, the HEAD revision, with updated code for Xbox 360. There is now an internal SVN repository for TSE360 that is being kept in synch with the latest TSE developments so the two are always in step with eachother. Already there have been a significant number of inquiries regarding TSE and the Xbox 360 so I thought that I'd let everyone know what was going on at the desk with the "Tribes: Vengeance Beta Play Disk" coaster here at GarageGames. If you are lucky, you could catch development challenges, rants, or maybe Tribes videos on my (totally unofficial) blog.





A little slice of my desk...I told you so...

Recent Blog Posts
List:08/28/08 - G-Buffer Normals and Trig Lookup Textures
06/17/08 - Multi-Threaded Mesh Skinning Showing Promise
08/14/06 - Torque X and Microsoft
02/11/06 - 10th Most Popular Game on Live
07/13/05 - Development of TSE360
07/03/05 - Where's the beef
06/09/05 - Recovery Time
04/30/05 - FrameTemp template class and COM in Torque

Submit ResourceSubmit your own resources!

Brett Fattori   (Jul 13, 2005 at 00:17 GMT)
Pat, that is awesome.. Congrats on getting it all working and proving that GFX is an amazing go-between for this, and many platforms yet to come. I believe this will be a lynchpin in the growth for TSE.

Now to subvert Clark and do some conversions of the track code to GFX...

- Brett

PS: Does it matter that in the second to last image, the old GarageGames "G" is rendered backwards?
Edited on Jul 13, 2005 01:48 GMT

Joseph Euan   (Jul 13, 2005 at 01:09 GMT)
Congrats on getting it working... like the bottom pic ;)

Sam M   (Jul 13, 2005 at 01:15 GMT)
Wow, TSE360 is gonna be available for purchase right?

Greg Berkhof   (Jul 13, 2005 at 01:43 GMT)
Exciting news about supporting the next gen of my fav console. And that tribes vengence cd pic, im a little confused, is it suppose to be hostile? or just a joke, as it is a beta cd

Brett Fattori   (Jul 13, 2005 at 01:46 GMT)
I'm thinking that because the cost of the X360 dev platform that GG will hold the code and do in-house ports. It really should be mostly just dropping in the 360 GFX layer. These are all assumptions, but I doubt that GG will be selling TSE360 independently, unless people are also shelling out for a 360 dev kit.

- Brett

Pat Wilson   (Jul 13, 2005 at 03:38 GMT)
There is no press release out now, however we are already talking with a few potential licencees, and once you are under NDA with GarageGames we can fill you in on more details as to the timeline of what features will be complete when. TSE360 licencing questions should go to myself (patw@garagegames.com) or Josh Williams (joshw@garagegames.com).

Unk   (Jul 13, 2005 at 03:48 GMT)
Personally, I would shell out for the 360 dev kit if I had an inexpensive engine to develop games on. Do you know how little market exposure you need to sell a million copies on a console?? That is what is so exciting about this!

If the TSE360 is made available and it is easy to convert games over from the PC then nothing would prevent indies from developing a full game on their own dime then pitching it to a publisher for XBox distribution. (Similar to Alien Hominid without the overhead of creating a new engine.)

Will be watching this one closely. Way to kick ass, Pat!

-Unk

PS: You should think about potentially supporting T2D360 as well (especially if XBox Live Arcade works out). =P
Edited on Jul 13, 2005 03:53 GMT

Ben Garney   (Jul 13, 2005 at 06:29 GMT)
I would be very curious to see how many financially viable productions on the current crop of consoles had to buy their own dev kits.

Pat Wilson   (Jul 13, 2005 at 07:13 GMT)
T2D360 is very high up on my list of things to do. Unfortunatly (well, actually, very fortunatly) I am not just on tech. We have a game to ship. The licencing costs we have are more than reasonable. The Xbox Live Arcade platform on the Xbox 360 is going to be, I think, revolutionary. XBLA for Xbox 1 was (and no offense to anyone on the project) almost a dead end. Don't get me wrong, I have been very happy with the response to Marble Blast, but you are talking about:
N Xbox Live Customers, who have to get an XBLA disk, put it in the drive, and download a game. It is a very small percentage.
Xbox 360 changes all that. This is a screenshot from Xbox360.com of the Xbox 360 dashboard. It should give you an idea of how accessable Xbox Live Arcade will be:


This is a very good time for games in general. A wide audience for electronic distribution...they were saying, what, 10 million Xbox 360s in the first year, or something like that, is what they want to sell. This is just amazing that a small studio, or a large studio, can get back to making small, fun games, and have a huge console market to play them on. Multiplayer abilities, a global ranking system...I really sound like a fanboi, but it's hard not to be when you are in our shoes. I can't possibly overstate the potential in this.
Edited on Jul 13, 2005 07:41 GMT

Hokuto   (Jul 13, 2005 at 08:22 GMT)
This is all
PURELY FANTASTIC STUFF!

James Steele   (Jul 13, 2005 at 08:25 GMT)
That all looks extremely cool Pat. I'm a little jealous that other people are getting thier hands on next-gen tech long before I do...even if it's just the XB360 ;o)

*sigh* oh well...back to my PA graphs for the PS2.

Timothy Aste   (Jul 13, 2005 at 09:30 GMT)
I tried to trick Pat into letting me play it, but turns out there are no games. Hmph.

Very impressed with what I see when I walk past Pat's desk, overal awesome things.

Also, don't forget, all the Torque Games that are XBox right now were developed on the PC version of TSE first before coming near any Xbox dev kits, I'm not qualified enough to get into details, but it seems to me the logical solution for those strapped for cash would be start development before trying to get a dev kit on the readily available TSE on your PC, and then once you have something to show on the PC, approach Microsoft or said Microsoft sponsored publisher or find some means to get said dev kit for less money...

Grugin   (Jul 13, 2005 at 11:17 GMT)
I like the picture of your desk Pat !!! Great work !

Michael Cozzolino   (Jul 13, 2005 at 12:13 GMT)
Tech is always great but i'm very happy that you guys are working on a new game. Good luck guys, just don't abandon us when you make millions ;)

Mark Storer   (Jul 13, 2005 at 15:24 GMT)
Nice coaster. That's awsome.

Matthew Langley   (Jul 13, 2005 at 16:39 GMT)
awesome

John McArthur   (Jul 13, 2005 at 20:12 GMT)
Is it me or are the images covering up text underneath??

Kirby Webber   (Jul 13, 2005 at 20:14 GMT)
This is all *very* exciting news - especially in light of the way XBLA is going to be handled on the 360!

I have been wondering though...

In the IOTD announcing Air Ace, there was some discussion about developing the title with TGE, while creating special "Advanced Clients" that use TSE.

As a TGE owner (haven't made the leap to TSE yet) I'm interested to know how this is possible considering TSE has the brand spanking new "Atlas" terrain engine and TGE doesn't?

Since the console love appears to be TSE specific, I'm curious.

Samuel Lopez De Victoria   (Jul 14, 2005 at 02:35 GMT)
awsome... this is a first step in the console market becomming more friendly to indie devs. great work guy(s)!

Joseph Euan   (Jul 14, 2005 at 14:58 GMT)
@Kirby: guess your have to wait until it's released to find out... or ask Phil when he gets back.

Jim Evans   (Jul 14, 2005 at 19:44 GMT)
Hey great work

@Pat Wilson, I was wondering if you could give me any sort of timeframe in how much longer tse will be in ea... I want to buy it, but its going to cost me a little more then the lisence... I dont have a computer that supports shaders yet, and I am still saving up for various things.. so if I could know that it would help me get a time frame on when I should upgrade my computer... thanks (if not thats ok too)

Xavier "eXoDuS" Amado   (Jul 15, 2005 at 00:17 GMT)
Great work Pat, it's all good news and I always love seeing pictures of very ugly development code ;)

Also, the picture of the vengeance beta disk really made me laugh out loud. Glad you found some use for it.

Josh Williams   (Jul 15, 2005 at 00:41 GMT)
Jim, we're not quite ready to announce when TSE will be coming out of Early Adopter status officially, but you'll hear about it on the site as soon as we are. :)

Of course, we hit TSE Milestone 2 not long ago, and the team is making really good progress on Milestone 3 already. There are lots of teams working in production on TSE as-is right now, and it's more than stable enough for experienced teams to work on already. It's pretty cool seeing what everyone is doing with it. Once TSE hits Milestone 3, it's really going to be solid and ready even for everyone to jump in on.
Edited on Jul 15, 2005 01:32 GMT

Jim Evans   (Jul 15, 2005 at 03:03 GMT)
@Josh thanks. (Id have it already if my computer supported shaders)

Ivan Lazarte   (Jul 15, 2005 at 04:44 GMT)
congratulations all around, its a super feat of a engineering, and a great opportunity for your clients, ever aspiring indie developers :)

i know my current partner will be very happy to know TSE will have a x360 version :)

Ben Sparks (Warspawn)   (Jul 15, 2005 at 05:45 GMT)
Out of curiosity, does anyone know (or can say) what the ballpark price for devkits tend to be? (360, PS3, PS2, Gamecube, Xbox whatever).

Pat Wilson   (Jul 15, 2005 at 09:17 GMT)
@Ben: I don't have that information, and couldn't say even if I did. However, I will say this:

Getting development hardware is not the barrier to entry. Getting a good game is all you should worry about. Microsoft wants good, fun, small games for Xbox Arcade. Once you have a good, fun, small game you will be taken care of.

Hokuto   (Jul 15, 2005 at 15:08 GMT)
I guess T2D360 and TSE360 will be separate products from T2D and TSE with their own licensing costs
right?

Pat Wilson   (Jul 15, 2005 at 17:07 GMT)
Yes.

Matt Vitelli   (Jul 15, 2005 at 19:10 GMT)
Wow, so we actually buy special dev kits that are then shipped to us and let us make games on the 360? Any information on how you'd get them out after that? Like, after you make a game on the 360 could you upload it via Xbox Live or something? Also, how would you build models and stuff? I'm guessing you port it from your computer to the 360.

Dreamer   (Jul 16, 2005 at 00:19 GMT)
/begin obligatory smart remark
Yes but will there be a version for Linux? :)
/end obligatory smart remark

Anyways looks good!

Hokuto   (Jul 16, 2005 at 13:34 GMT)
Matt..
I don't think so..

you buy the lincense you need, T2D360 or TSE360
and I think you develop your game on PC/Mac

Pat Said:
The first thing I did was to create a GFX device for the Xbox360. Those of you who have, and know, TSE will know what I mean by a GFX device. For those who don't, GFX is a graphics layer which will let you write API-abstracted rendering code. (For example, the same calls will do the same things on PC DirectX 9, or OpenGL 1.5, or the Xbox 360.)

This let development progress on the PC and the 360 at the same time, off the same codebase. There were, of course, two, separate project files, but other than that it was pretty seamless. The next thing was to get controller input working, on the PC, exactly the way it does on the Xbox. This was a simple task, and it allowed us to write GUIs designed for controler use and prototype them on the PC, as well as test things like gameplay on the PC as well!

Next I put focus onto the GUI editor. I set the resolutions for TSE to be the same resolutions that are supported by the Xbox360, and changed the GUI editor to have preview selections for those resolutions. This way the team could start making GUI's that would look the same on PC as they would on the Xbox. So now things looked the same on the PC as they did on the Xbox in the GUI. The GUI navigation was the same, if you used an Xbox controller plugged into a PC, or you could use the keyboard with the 'a' key acting the same as the 'a' button, etc. That was the easy part...the next task was 3d rendering.


You can start developing your title on PC... then when you ave something to show you could trey to get hold of a proper 360 Dev Kit...
but 'I think' you don't need a dev kit to start with...

So it all sounds very promissing

Pat Wilson   (Jul 16, 2005 at 20:24 GMT)
You are correct. You don't need a dev it at all to start with.

Matthew Langley   (Jul 18, 2005 at 16:22 GMT)
T2D360... *drools*

Eli McClanahan   (Jul 18, 2005 at 22:24 GMT)
I like the coaster.

You must be a member and be logged in to either append comments or rate this resource.