Game Development Community

Afx And Tgea (tse)?

by Thomas Phillips · in Torque Game Engine Advanced · 12/13/2006 (8:10 pm) · 115 replies

Has anyone here picked up AFX? Any idea how tightly coupled it is to TGE? Can anyone say where the integration points would be for TGEA (TSE)?

For those who live under a rock and don't know what I'm talking about, visit this page and take a look:
http://www.garagegames.com/products/127/

Tom
#81
09/10/2007 (1:39 pm)
Hmm interesting. Is this a bug with the glow implementation in tgea you think?
#82
10/05/2007 (7:33 am)
How things comming?
#83
10/05/2007 (8:27 am)
Just a quick update...

Most aspects of AFX for TGEA have been coming together nicely, but we have been having trouble finding a universal solution for both lighting and transparency/fading effects.

We have been using a modification of CustomMaterials that adds a visibility value that custom pixel shaders can use for transparency and fading effects. I organized a suite of generic custom shaders that address most basic shading requirements involving diffuse textures with and without alpha, self-illumination, fog, and additive blends.

These have been working well, but recently, as we've been pushing forward on final lighting, we've discovered numerous dynamic lighting anomalies on CustomMaterials. The lighting holds up pretty well on regular materials, but we depend on custom materials for fading effects, so this is problematic. I've experimented with adding visibility handling to the standard shaders, which isn't too difficult, but that opens up numerous conflicts with how texture alpha channels are used to map areas for reflection and specularity as well as transparency. Try to fade out something like the space orc and many pieces of the model vanish as soon as the model becomes transparent. Custom materials easily solve this, except for the lighting.

This lighting problem is also very difficult to debug as it involves interactions between the lighting system and shaders and shaders are just plain hard to debug. I've been at it for several days solid and I'm still not sure if we're looking at bugs in the lighting system, programming errors on my part, or unintended interactions with other AFX subsystems.

Next week, I'm off to IGC... I'm hopeful that a week away from TGEA coding and access to some of the developers, might generate some new ideas for getting past this last major technical problem with AFX for TGEA.
#84
10/05/2007 (8:41 am)
Are you planning to make some kind of EA Version of the TGEA Incarnation of the system?
Would like to help to get this great system up and running for TGEA as it will suite our project really well which is very magic - spell centric and currently kind of a trip to hell to get working correctly with timing and effects.
#85
10/09/2007 (7:35 pm)
Hi Jeff,


The updates are great, Can't wait to get a copy when it hits.
#86
10/29/2007 (7:21 am)
Hmm so is this gonna be dead now that Torque 2 has been announced?
#87
10/29/2007 (7:35 am)
It's not clear what effect Torque 2 will ultimately have on things, but Torque 2 doesn't really exist yet and it's unlikely to be available for more than a year. As far as I'm concerned, AFX for TGEA is not dead yet, and we are continuing to finalize the product for release.

Then again, you never know if people will still buy AFX for TGEA with Torque 2 on the horizon. We've invested much more time into developing this product than we ever intended to. I certainly hope it's not a total dead end.
#88
10/29/2007 (7:39 am)
That are good news actually :-)

So not all hope is lost for TGEA as a technology.

Hopefully AFX TGEA will help attracting more users to TGEA so you actually have the chance to get back the time and money invested in creating it :-)

Its sad that the way GG works right now is causing this much of problems to those planning to extend the technology as GG actively leg shoots their own "flag ship products" over and over again. Lets hope this problems start to vanish and TGEA becomes what it was and still is advertised to be before it is declared dead to merge the communities into Torque 2 (if there will be any remaining community by then thanks to their behavior when it comes to actively dev their technologies)
This leads to a more and more split community or even worse: dead community, which it seems to become at least on the TGEA end ... :-(
#89
10/29/2007 (8:33 am)
Dont worry Jeff, people will buy it (will it be at the same price as the tge afx?),
people will be using tgea for a while yet, nothing that has been said about T2 makes me want to swap tgea for it yet (unless theres a big discount for sdk owners), as far as i am concerned, Tgea is just getting started and just starting to get interesting.

i look forward to when you get this out , any idea on an eta?

Neil
#90
10/29/2007 (9:12 am)
I've mentioned this several times in various places, but I'll say it again here just to reinforce: Torque 2 has been announced very early in the development stage, intentionally.

Many, many people in this community (TGEA specifically) have complained extensively that we never told anyone what was going on (and they were valid complaints). Now, we have not only told you what is going on, but we've told you with (as Jeff mentions) a calendar year's worth of prep time.

Quote:

Its sad that the way GG works right now is causing this much of problems to those planning to extend the technology as GG actively leg shoots their own "flag ship products" over and over again.

I really am not trying to turn this into yet another flame war--but we've simply done what you've asked us to do--let you know what was going on in our development. You can have one or the other (we tell you what we're doing, or we don't tell you what we're doing), but you can't have both--and you can't comment that both are equally bad in my opinion.

Anyone starting a project any time in the next 6-9 months shouldn't even be thinking about Torque 2, at all. It has no bearing on your project.

@Jeff: I mentioned this to you privately, but I think it's good to say here as well: Your work on AFX for TGE-A is in no way "wasted", and while we do feel for you that it took longer than you had originally scoped (we know what that's like!), much of it will be applicable to Torque 2 as well, so it won't be wasted.
#91
10/29/2007 (9:24 am)
Stephen, i would imagine people are getting caught up in the T2 ... TGEA is dead stuff because the only stuff you have been telling the community about is T2; no one has mentioned whats going on with (present and future) TGE/A in terms of development, so people do what they do, make assumptions based on the information they are given.

thats what i see is happening, your perspecitve my differ.

Neil
#92
10/29/2007 (9:29 am)
Stephen: Sorry if this sounds like I want to create confusion but: Even very early in development means that there is an active shift away from TGEA (which means it life cycle will be seriously shorter than TGEs) and TorqueX which is not even 3D compliant now.
After the serious slow down on the TGEA end (8 Months past launch, advertising still to be met. I'm especially waiting for the docs I was told by the Support in May would happen to be done as a technical writer was hired to do them) and TGB end, it's actually hard to believe that it is handled like "very early in dev stage" project as the people working on the other Torque Technology licenses seem to have vanished to nowhere for 2+ months now.

And 6-9 months until "usable" in a next gen 3D engine today does not mean very early in development to me unless you focus nearly ALL people working on torque technology to work on Torque 2.

But perhaps I am massively overestimating the time needed to implement a next generation engine (even thought, TGEA took 2 years and is half baked if I look at the Atlas bugs found and fixed since 1.00 till now, DDS support which is hacked in and seriously lacks its purpose of DDS support and the different lower level shader and rendering issues with glow and transparency).

Its just hard for me to see a future for TGEA if there is TorqueX which will offer 3D and X360 support from what it seems and a Torque 2 that most likely does everything TGEA was once meant to do just in a clean way with none of that hard to understand hacks etc.
But I'm open to learn that you are able to get it done, would be seriously great :)

But I am hijacking this thread. Sorry Jeff.
Keep up the good work.
#93
10/29/2007 (10:09 am)
Well I know if it is still own I will buy it!


@stephen:
Hey man sorry I didn't mean to start something here. Just wanted to know I have arun across a couple other projects and the people were pretty much given up and decided to play the wait and see game.

Just a thought maybe you guys should start a transparent development process right now with TGEA. Just a thought.

All of you guys are doing great work! Keep it up!
#94
10/29/2007 (10:17 am)
Jeff, I appreciate all of the hard work you and your team have put into AFX will definitely be picking up AFX for TGEA as soon as you make it available.
#95
10/29/2007 (10:27 am)
Here's another status update...

The last update came before IGC and at the time I was struggling with an unusually elusive bug related to dynamic lighting on custom-materials. That turned out to be two issues actually, one subtle misinterpretation of shaders (with consequences) which is now solved and another issue which still exists.

The first problem was tricky. I had created a test in which a normal Material and a CustomMaterial using identical shaders produced different results and the only difference I could see was the fact that one case used Material and the other used CustomMaterial. The important difference turned out to be the fact that the CustomMaterial used a ShaderData with "pixVersion = 1.1". I had thought the meaning of this was that the shaders are "capable" of running with 1.1 shader hardware. What it really means is that the shaders should be executed in a 1.1 shader execution context, even if running on 2.0+ hardware. This turned out to be an extremely important distinction. In 1.1 there are limits to the range of floats used in the shaders and for my card the range was -2.0 to 2.0. It happened that we had some greater-than 2.0 values in the shader and these were unexpectedly getting clamped. The oddest thing was that the shader would allow values up to 2.0 but anything greater was clamped to 1.0 not 2.0. (This confused me for a long time and may actually be a driver bug.)

Anyway, that problem is resolved. ShaderData also has useDevicePixVersion field which can be used to prevent the shader from executing at 1.1 if it doesn't have to. One can also use fallback settings in the CustomShader to get around it.

Now the second problem still exists. This problem is that multiple dynamic lights (using CustomMaterials) on the same dts objects do not seem to be stacking properly and actually seem to fight for dominance. The end result is a lot of erratic blinking of the lighting. All I know so far is that it's not happening because we're exceeding the light maximum. After the long go-round with the first part of the problem, I've set aside this problem for now while we get all of the spells re-lit with the TGEA lighting.

That's what we're working on right now, relighting all the spells under TGEA. Were currently almost done with a first pass and we'll do another to get everything fine tuned. It's a fairly time consuming process, but lighting is a big part of the effects and we try to make it as best as we can.

Also, we're instrumenting the spell scripts so that they are identical for both TGE and TGEA, at least when using the same AFX version on both engines. (We currently intend to have SpellPack1 support both engines and not be two separate products, although there will be two separate CoreTech products.)

Another important piece of this release preparation is that we are sync'ing up the capabilities for AFX for TGE and AFX for TGEA as much is possible. This upcoming release for TGEA will establish AFX 1.1 and we will follow-up with an AFX 1.1 update to TGE as soon as possible. From there we'll attempt to keep versioning between the two engines as close as possible. I presume this will be a benefit to users, but it's primarily to keep our own sanity supporting two platforms.
#96
10/29/2007 (10:34 am)
Quote:Also, we're instrumenting the spell scripts so that they are identical for both TGE and TGEA, at least when using the same AFX version on both engines. (We currently intend to have SpellPack1 support both engines and not be two separate products, although there will be two separate CoreTech products.)

Jeff, this is fantastic and a great service to Indie developers. I look forward to the TGEA version (and the TorqueX version, *wink* *wink* *nudge* *nudge*)
#97
10/29/2007 (11:07 am)
This are fantastic news Jeff :-)

Thank you for this insight update on the going ons with AFX.
#98
10/29/2007 (2:51 pm)
Yes, thanks. :)
#99
10/29/2007 (4:55 pm)
Great News Thanks!
#100
11/01/2007 (11:23 am)
Yesterday was a pretty good day. I think we finally solved the problem described above as "multiple dynamic lights (using CustomMaterials) on the same dts objects do not seem to be stacking properly and actually seem to fight for dominance. The end result is a lot of erratic blinking of the lighting." The fix is described in this thread:
www.garagegames.com/mg/forums/result.thread.php?qt=68851

This fix is a big deal since the lighting bug was getting in the way of progress in a couple of areas. Not only was it really difficult to finalize the TGEA lighting on the effects, it was also making it really hard to capture final screenshots and such for promo materials. For the first time in TGEA, many of the spell effects now look cohesive and complete.

At this time we have no major TGEA bugs or feature deficiencies getting in the way, so progress should start moving forward a little more quickly.