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: | or 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...
(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 your own resources!| Brett Fattori (Jul 13, 2005 at 00:17 GMT) |
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) |
| Sam M (Jul 13, 2005 at 01:15 GMT) |
| Greg Berkhof (Jul 13, 2005 at 01:43 GMT) |
| Brett Fattori (Jul 13, 2005 at 01:46 GMT) |
- Brett
| Pat Wilson (Jul 13, 2005 at 03:38 GMT) |
| Unk (Jul 13, 2005 at 03:48 GMT) |
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) |
| Pat Wilson (Jul 13, 2005 at 07:13 GMT) |
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) |
PURELY FANTASTIC STUFF!
| James Steele (Jul 13, 2005 at 08:25 GMT) |
*sigh* oh well...back to my PA graphs for the PS2.
| Timothy Aste (Jul 13, 2005 at 09:30 GMT) |
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) |
| Michael Cozzolino (Jul 13, 2005 at 12:13 GMT) |
| Mark Storer (Jul 13, 2005 at 15:24 GMT) |
| Matthew Langley (Jul 13, 2005 at 16:39 GMT) |
| John McArthur (Jul 13, 2005 at 20:12 GMT) |
| Kirby Webber (Jul 13, 2005 at 20:14 GMT) |
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) |
| Joseph Euan (Jul 14, 2005 at 14:58 GMT) |
| Jim Evans (Jul 14, 2005 at 19:44 GMT) |
@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) |
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) |
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) |
| Ivan Lazarte (Jul 15, 2005 at 04:44 GMT) |
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) |
| Pat Wilson (Jul 15, 2005 at 09:17 GMT) |
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) |
right?
| Pat Wilson (Jul 15, 2005 at 17:07 GMT) |
| Matt Vitelli (Jul 15, 2005 at 19:10 GMT) |
| Dreamer (Jul 16, 2005 at 00:19 GMT) |
Yes but will there be a version for Linux? :)
/end obligatory smart remark
Anyways looks good!
| Hokuto (Jul 16, 2005 at 13:34 GMT) |
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) |
| Matthew Langley (Jul 18, 2005 at 16:22 GMT) |
| Eli McClanahan (Jul 18, 2005 at 22:24 GMT) |
You must be a member and be logged in to either append comments or rate this resource.



Not Rated


