Game Development Community


#1
09/27/2010 (12:50 pm)
.
#2
09/29/2010 (10:31 am)
There's one surefire way to get what you want: just do it!

Quote:Volumetric lighting
Volumetric texturing
Not entirely sure what you mean by these, but they sound like something that might be included in a more recent graphics engine like T3D.

Quote:Projected texturing
As in on terrains, to avoid stretched textures on hills? Again, I think that's in T3D. Otherwise, I'm fairly sure implementing this in TGE would require rewriting the terrain blending/texturing, which is actually coded in assembly or something horrific like that. Not a fun task. Though if anyone were going to do it I'd recommend they also allow for multiple detail textures :P.

Quote:Facial Animation (with lip syncing based on phonems strings inside the scripting language)
Could possibly be implemented by creating a blended animation for each viseme, then assigning a few threads per character to run these sequences, controlled via script commands. I don't know of anyone who has done this in Torque. If you're not into coding, it might be easier to just can one animation per sentence and play them at the appropriate time.

Quote:Water with bouyancy and caustics
Buoyancy is already in TGE, sort of - but it's broken according to RL physics. Look at ShapeBase::updateBuoyancy (I think the method is called), and substitute an actual buoyancy calculation for the hacked-in implementation that's currently there.
As for caustics, I hope your entire game design isn't staked on this feature, since it's not trivial. Googling 'real time caustics rendering' turned up some interesting results. Assuming you've got the MK and Koushik's DTS shader resources in, you may be able to implement something similar to the GPU Gems article. I haven't looked in detail.

Quote:Trowable weapons
This is a fairly trivial feature, which should be done in script. I'm going to guess it'll be a matter of creating a special object type, applying an impulse upon creation, and scripting it so that when it collides with things it damages them. Or, for simplicity, just use a slow Projectile with a mesh. The one trouble you might have is playing animations for throwing - I recommend Jacob Dankovchik's 'more realistic first person' resource.

Quote:Aereo vehicles (airplane, helicopter, etc)
Boat-like vehicles (on water and sub water)
If you don't want to do a ton of work, you can use the FLyingVehicle and HoverVehicle for planes and choppers respectively. Boats will be more complicated, though if you get ShapeBase buoyancy working properly, it should be a pretty easy matter to create a new Vehicle subclass that can only thrust when it's immersed in water. Also, I think there's a helicopter resource out there somewhere.

Quote:2 and 4 wheeled vehicles (cars with optional trailer, bycicles, motorcycles, etc)
2-wheeled vehicles may prove to have stability issues. I've seen some discussion on faking them using four wheels placed close together, or adding some sort of corrective gyroscopic force to vehicles with only two wheels, which is how it works in real life (to my limited understanding).
#3
09/29/2010 (10:34 am)
Part II.

Quote:Velocipedes (like skis, skateboards, etc)
How you implement these depends entirely on your game design. They might just be slight tweaks to the Player class to, for example, accelerate when facing down a slope and not otherwise. Maybe also to limit turning speed. Or however you want your player to behave.

Quote:render to texture
Pretty sure this is stock in TGEA/T3D, though it's probably just a matter of setting up the right shader.

Quote:Full ragdoll with breakable joints
Breakable joints for static meshes
I recommend finding somebody's implementation of a proper physics library in TGE/A rather than trying to code in your own physics for these. There are plenty of good physics libraries out there.

Quote:Vehicles with weapon mounts and using weapons while operating a vehicle
Have a look for Paul Dana's turret resource, and associated follow-up resources by other people. There's lots of discussion about mounting turrets on vehicles and controlling them separately.

Quote:Throwing Items
Similar to throwing weapons. All you need is the applyImpulse function.

Quote:Hang, wave and climb from edges, ropes etc
Having made a stab at this myself, I can confidently say it's not trivial to come up with a good, flexible platforming movement system. That is, if you care as much as I did at making it continuous and smooth from a 1st person perspective. If not, you should be able to come up with something decent. Again, I'm not aware of anyone doing this in TGE, aside from Ubiq's platformer kit.

Quote:Destroyable interiors
Not really going to happen, except by hacks - it goes against the design brief of the Interior as a concept. They are supposed to be static. Dynamic objects should be DTS shapes. So you could fake things by, for example, modelling your DIFs full of holes and filling themin with destroyable DTS shapes.

Quote:Joints
Not sure what you mean here.

Quote:Radiosity
Again, something that's only just becoming feasible as a real-time feature. Google is your friend. It brought me this interesting threory:www.gamedev.net/reference/programming/features/rtradiosity/default.asp

Quote:Ability to carry light sources and drop them around (and them still enlight)
I'm fairly sure that TGE's lights can be mounted to objects. See the sgCrossbow for an example. It's again a matter of your scripting, which nobody can do for you unless they're also making an inventory and item interaction system for you.
#4
09/29/2010 (4:30 pm)
.
#5
09/29/2010 (10:36 pm)
Quote:Can you recommend some physics resource?
Probably the best one I know of for TGE: www.torquepowered.com/community/blogs/view/11767

Quote:Volumetric texturing - meant as volume rendering
Projected textures - use a light source or something and emulate a presentation projector
Hmm, these both seem to be features that you could find a lot of theory about with Google. However, implementing these theories in TGE is obviously the difficult step. For projected texturing, have a look at sgDecalProjector. Not the same thing, but maybe a good enough alternative.

The MK is the Torque Modernization Kit, which I assumed you were using to add shaders to TGE.
#6
09/30/2010 (1:21 am)
.
#7
09/30/2010 (1:39 am)
.
#8
09/30/2010 (6:13 am)
Since you already own TGEA, I don't really see any reason to be using TGE, unless you're really keen for the game to run on a lot more low-end machines. In which case, you should probably scratch off all the graphics features you've listed and concentrate on the game itself ;).

I think that the internals of TGEA are similar enough that ODEScript should work fine either out of the box or with minor modifications.Of course, I don't really know, but I believe that the majority of changes in TGEA are to rendering.

I haven't stumbled across any resources for Bullet, but a bit of searching would tell you. I'm sure I remember people showing Bullet in Torque, though, so you might be able to contact someone.

Quote:Bouyancy is the waves the water does as something touches it. I didn't saw anything like that.
That's a little different. The problem with waves is they're not synced client-and-server, so they're not used when calculating buoyancy. I do remember reading a forum post where someone got them synced between server and client. So if you implemented that, fixed the method that calculates the height of an object above water to include wave height, and updated ShapeBase's buoyancy calculations, you should have a solid start on decent water physics. Not sure how this would interact with something like ODEScript though.
#9
09/30/2010 (7:33 am)
.
#10
09/30/2010 (12:28 pm)
.