Game Development Community

dev|Pro Game Development Curriculum

Development of TSE360

by Pat Wilson · 07/12/2005 (5:12 pm) · 35 comments

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

photos23.flickr.com/25558154_39998f5d34_m.jpgI 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!

photos21.flickr.com/25558225_fac7fb08a2_m.jpgUntil 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.)
photos23.flickr.com/25558166_92c20f153f_m.jpgThis 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.

photos23.flickr.com/25576111_a12545fdf5_o.jpgFor 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.


photos22.flickr.com/25558207_718ab91c17.jpg

photos22.flickr.com/25579024_efa72a8b30.jpgA little slice of my desk...I told you so...
Page«First 1 2 Next»
#21
07/14/2005 (12:44 pm)
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)
#22
07/14/2005 (5:17 pm)
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.
#23
07/14/2005 (5:41 pm)
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.
#24
07/14/2005 (8:03 pm)
@Josh thanks. (Id have it already if my computer supported shaders)
#25
07/14/2005 (9:44 pm)
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 :)
#26
07/14/2005 (10:45 pm)
Out of curiosity, does anyone know (or can say) what the ballpark price for devkits tend to be? (360, PS3, PS2, Gamecube, Xbox whatever).
#27
07/15/2005 (2:17 am)
@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.
#28
07/15/2005 (8:08 am)
I guess T2D360 and TSE360 will be separate products from T2D and TSE with their own licensing costs
right?
#29
07/15/2005 (10:07 am)
Yes.
#30
07/15/2005 (12:10 pm)
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.
#31
07/15/2005 (5:19 pm)
/begin obligatory smart remark
Yes but will there be a version for Linux? :)
/end obligatory smart remark

Anyways looks good!
#32
07/16/2005 (6:34 am)
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
#33
07/16/2005 (1:24 pm)
You are correct. You don't need a dev it at all to start with.
#34
07/18/2005 (9:22 am)
T2D360... *drools*
#35
07/18/2005 (3:24 pm)
I like the coaster.
Page«First 1 2 Next»