Plan for Ben Garney
by Kyle Carter · 07/23/2005 (1:52 am) · 21 comments
Howdy guys.Wow, nearly a month since my last .plan. Don't worry, onoez zombies is no further along than it was. :P It's been a busy month. I got to sail around the San Juan islands with Jay and Josh one weekend. I highly encourage anyone with access to a sailboat to use it to the greatest extent possible. We puttered around on the water, saw some INCREDIBLE scenery, and generally unwound. Josh slept a lot - he had a lot of sleep to catch up on, since he's often in the office all day and all night, helping to make GarageGames happen. I'd get on his case about it, but I'm still at the office at 1am, so...
So, what's up with Ben and GarageGames?
The biggest change from my last .plan is probably that I'm working on TGE again. 1.4 development is coming along nicely, as I'm steadily knocking down bugs from my list. Maybe you've seen the influx of posts from me saying "Fixed this." on all the threads that I said I'd get to someday. ;) Just today, I fixed a lot of long standing ParticleEmitter issues, as well as implementing crossplatform video playback.
We're using the excellent Ogg Vorbis and Theora codecs. They're fast, free, and cross-platform. Thank you, Xiph.org! All the decoding and streaming happens in a background thread, rendering via an optimized YUV->RGB converter to an OpenGL texture, so the core functionality can be applied to any GL-rendered object - which for Torque, is everything from GUI to grenades. That code is an exercise for the reader, of course, but the hardest part is done now. ;)
Let me show you how easy it is to use the new video stuff:

Here's a shot of placing a GuiTheoraCtrl in the Torque GUI Editor.

Shot of a Fatboy Slim music video (Push The Tempo) playing in the GuiTheoraCtrl. You might not be able to tell, but the sound is actually very much in synch all the way through the 3-4 minute video. That took a lot of painful messing about to get to work reliably. There are still some cases where it doesn't work quite right, but overall it's good. I'm sure once the community gets their hands on it they'll polish it up a bit more. :)

The GuiTheoraCtrl is fully integrated with the OpenGL GUI renderring system, so that GUI elements blend properly. Notice how all those transparent bitmaps blend right with the video. In fact, you can even place a TheoraTexture on a GL-rendered object, if you like, though there's no code to get the renderers to use a TheoraTexture.
And, even on a fairly modest system (1.5 GHz), it still runs at 100fps or so.
How does all this get out to you, the community member?
Well, I'm going to spend a few weeks more squashing issues from my list, then TGE 1.4 RC2 happens. A few weeks of the community pounding on that, then it'll go final and we'll update the installers.
Don't worry, I'll let you know when RC2 goes out. :)
TDN: The Next Step
Meanwhile, TDN is advancing nicely, as Adam deGrandis is managing the day-to-day wrangling, leaving me free to sip martinis and lounge on the beach. Too bad it's the Oregon beach. ;)
Adam is doing an awesome job, and I'm excited to have enough of TDN off my plate that I can focus on TGE 1.4. We're bringing more and more people onboard to help out with writing docs, so you can look forward to a lot of really awesome docs written by your favorite community members... I'll let Adam name names and pimp the pimpin' folk who are working on this project. ;)
I might even write some docs. We'll see what happens. ;)
There is another round of technical tasks to be done on TDN before it goes live - more on those when we get into the thick of doing 'em. Rest assured, TDN is going to be fantastically well suited to hosting Torque documentation. We'll have the Google Mini pointed at it, so you'll get the best searching imaginable, as well as a lot of other goodies.
Other Projects
After all the TGE 1.4 and TDN stuff gets done, I'll be swinging back around to work on Atlas some more. It's pretty good, but I've got some ideas on how to make it a lot better (like WYSIWYG editors and runtime texture blending :) that I'll be implementing when that time comes around.
What comes after that? Well, I could tell you, but I'd have to kill you. And I'm much too tired righ now to kill everyone who reads my .plans. ;)
I also got to help Stephen Zepp a little bit with the Torque Boot Camp GG put on last week. It's fun knowing stuff about Torque - I got to wheel into the classroom, get asked questions, and speak extemporaneously for an hour or so on whatever they wanted. I enjoy public speaking, so I had a good time. And I think they may have ended up leaving knowing a little more about Torque (I certainly learned interesting things from them :)!
In Closing...
Torque and GG are continuing to rock. I'm very excited to see what the next year brings to the Torque community, and where the engine goes in coming months. More and more cool people are coming on board to make things happen, and seeing projects come to life is awesome.
Keep on Torquin'! ;)
#2
07/23/2005 (3:16 am)
Great thanks to you Ben and great work too as always. This theora gui looks cool and useful
#3
I really mean, "Thank you", in a sincere manner; with each release of this engine it gets about 10X better and easier for me to use. You are fullfilling the Mission Statement alright!
Rex
07/23/2005 (7:00 am)
The GuiTheoraCtrl looks amazing, :). My word. Super job! Thank you very much, Ben, etal... I'm reading in the above that this new control will become 'stock' with the public release of the v1.4 SDK installers?I really mean, "Thank you", in a sincere manner; with each release of this engine it gets about 10X better and easier for me to use. You are fullfilling the Mission Statement alright!
Rex
#4
Im so happy to see Theora support going into Torque, I seriously had a dream about it, now its like comming true.
07/23/2005 (8:14 am)
Yes, good, excellent!Im so happy to see Theora support going into Torque, I seriously had a dream about it, now its like comming true.
#5
If I had to it'd probably be the cross-platform video playback. (C; (With the particle fixes running a close second.)
Suffice it to say that, as usual, "you da man".
07/23/2005 (9:13 am)
Normally I'd put a bold quote on the item of particular interest to me, but there's to much cool stuff coming down the line to pick out just one.If I had to it'd probably be the cross-platform video playback. (C; (With the particle fixes running a close second.)
Suffice it to say that, as usual, "you da man".
#7
07/23/2005 (10:07 am)
Nice! Can't wait for 1.4! And IGC of course! This is amazing though. Great job Ben!
#8
Great job guys. I'm really excited about v. 1.4. Even though I'm thinking very seriously about switching over to TSE for this game sometime this winter.
07/23/2005 (10:54 am)
My biggest concern is porting my current code base (including the Synapse Lighting stuff & changes I made to it) to 1.4. But I'm really excited to see the new version! I've got some streaming audio code from Void War I was going to pull in for my current game, but if you are already doing the work, I'll take advantage of your sweat and tears so I can save mine for elsewhere! Great job guys. I'm really excited about v. 1.4. Even though I'm thinking very seriously about switching over to TSE for this game sometime this winter.
#9
Glad to see you and other GG crew are going out and enjoying the summer.
07/23/2005 (1:28 pm)
Great stuff Ben.Glad to see you and other GG crew are going out and enjoying the summer.
#10
07/23/2005 (1:30 pm)
Great! The GuiTheoraCtrl looks really great. This opens the door for more educational and background story based games. Will this make it into T2D too?
#11
07/23/2005 (10:51 pm)
Well if you have a license for TGE and for T2D.... it should be easy to move this over to T2D.... or you could just merge the T2D + TGE (although you would then incur the overhead of the extra 3D code you might not use.....)
#12
07/24/2005 (8:36 pm)
Hi Ward, good question. Yes, the GuiTheoraCtrl will go in T2D as well. We will be merging T2D against the Torque 1.4 core. So, all the core improvements Ben, the interns, and the community are working on for TGE will also benefit T2D (and TSE eventually).
#13
07/25/2005 (9:50 am)
This is some awsome stuff Ben can't wait to use it on a couple of our projects in development, lets see how they look in game in MGT products at IGC this year.
#14
08/13/2005 (12:28 pm)
Awesome... I'd been hoping to see a good method for full motion video in torque and now its here!
#15
also the TheoraTexture easily casts to a TextureObject so it CAN easily be used to texture any 3d object, you can have a movie playing for a players armor, or a sweet looking water animation clip playing for your water or something
btw the optimized YUV to RGB coverter i wrote owns just about anything else youll find anywhere on the internet
booya ;)
08/26/2005 (4:34 pm)
im pretty sure the bulk of that Theora code is my code, i wouldn't have minded being mentioned ;)also the TheoraTexture easily casts to a TextureObject so it CAN easily be used to texture any 3d object, you can have a movie playing for a players armor, or a sweet looking water animation clip playing for your water or something
btw the optimized YUV to RGB coverter i wrote owns just about anything else youll find anywhere on the internet
booya ;)
#16
08/26/2005 (4:48 pm)
Yes, Eric was a HUGE help in getting the Theora code put together. He did all the base implementation and debugging; I worked mostly on clean up, some optimization, and getting the audio playback solid. Together, we made an awesome new Torque feature. Thanks, Eric! You rock! :)
#17
09/14/2005 (7:05 pm)
I am very interested in using TheoraTextures and was wondering how difficult it would be to make just a square and play the movie as the texture for that primitive.
#18
09/14/2005 (7:15 pm)
It renders the movie to a texture. Just call glBindTexture before you render the square and you're set. (This is in C++ of course.)
#19
09/14/2005 (8:37 pm)
So there isn't a way to just do this through Torque Script and or the editor?
#20
09/14/2005 (9:03 pm)
No, it would definitely involve some relatively minor C++ changes. 
Torque 3D Owner Phil Carlisle
:)
I wish the teamspeak API was less buggy, or I'd have a control out for that.. as it is, its not quite ready for human consumption, but shows an interesting way to go.