Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Hollewanderer on October 11, 2003, 01:11:59 pm

Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Hollewanderer on October 11, 2003, 01:11:59 pm
Link to the thread (http://www.hard-light.net/forums/index.php/topic,17921.0.html)

Is this possible? I guess so... it can't be that hard to make invisible subsystems [at least not when compared to things you have done already].

But would this be feasible? It would certainly be a lot of work... but image of capships looking like a swiss cheese after the battle would certainly be very attractive. Can you imagine the FS2 intro in-game, including Orion getting cored? Coolness. And it would add a bit of realism to FS.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Drew on October 11, 2003, 05:03:18 pm
dude... ud have to have the Redfaction scource to even think of doing somthing like that... (somthing THQ will never release)

if you wanted to port the Geomo code over you would litereally have to gut the whole Fs2 code and redo it to make everthing work right.

i dont mean to be mean but think through these things beforehand ok?
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Starks on October 11, 2003, 05:20:18 pm
The closest feasible option is damage mapping and damage break off points...
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: diamondgeezer on October 11, 2003, 05:41:08 pm
Hmm... you mean making big ships out of chunks which can be blown off, revealing damaged interior compartments right? Interesting... and technically possible already I think. Though of course you wouldn't want to be able to target those chunks, since currently they'd have to be actual subsystems. But this raises some interesting ideas...
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Setekh on October 11, 2003, 08:25:00 pm
It is possible already, strictly speaking; it just requires more time and effort in the modeling process. However, the new HT&L doesn't do a great job of speeding up great numbers of subobjects... well, all of Venom's ships do this already IIRC. Partly, anyway. :)
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Psyckosama on October 11, 2003, 10:06:30 pm
Well, you could always take the Klingon Academy route...
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Hollewanderer on October 12, 2003, 03:04:54 am
Quote
Originally posted by Drew
dude... ud have to have the Redfaction scource to even think of doing somthing like that... (somthing THQ will never release)

if you wanted to port the Geomo code over you would litereally have to gut the whole Fs2 code and redo it to make everthing work right.

i dont mean to be mean but think through these things beforehand ok?


You know that this is just silly? Did you even read the thread that I linked to?

Somebody on the orginal thread mentioned that this is getting geomoddish, so I used this in title to attract attention. I do NOT think that implementing real GeoMod in FS is possible at all. This is about making subsystems non-targetable but destroyable.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: aldo_14 on October 12, 2003, 02:14:30 pm
How would you implement (a form of) geomod in the first place?  Maybe take the impacted polygon, subdivide it, move the new center point (i.e. the middle, connecting the newly created subdivided polies) anti-normal (into the ship hull) and change the textures to a dmaaged one...

but even then, you'd need to make sure the polycount didn;t spiral out of control, and also make sure your new recessed polygroup didn;t intersect another (i.e. stick out the end)......
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: kasperl on October 12, 2003, 02:15:56 pm
well, aldo, real geomod is impossible, but we are talking about using lot's and lot's of destroyable, non-targetable submodels to emulate it.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: aldo_14 on October 12, 2003, 02:21:46 pm
I'm pretty sure that real geomod is possible, it's just very,very complex and extremely difficult to implement........
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Flipside on October 12, 2003, 03:01:46 pm
What might be useful is having the ability to have subsystems that can be destroyed but cannot be targetted, I'm not sure if this can be done is normal FS, but basically it means you can take out things like pipes and antennae on the new high poly HT&L models (they would be given a percentage of hull as normal), but they don't show up when you cycle through subsytems or turrets?

Flipside :D
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Taristin on October 12, 2003, 06:25:59 pm
Howsabout a prefix for the subsystem to make it invisible, while allowing you to still have it scripted in Fred?

It'd be cool to be able to destroy a pipe-line and watch the glowmapping flicker off soon afterward. :D
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: ChronoReverse on October 12, 2003, 06:35:31 pm
Speaking of which, why does the HT&L stuff increase number triangles possible but not subgroups?  I thought since we have more cpu available, more subgroups ought to be possible?  A FS2 engine limitation?
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Hippo on October 12, 2003, 06:48:59 pm
ooh! the subsystem would have no name, other then smbols FS doesn't display... then, make the sise of the subsystem 0.00001 so it wouldn't be visible, but still there
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Fry_Day on October 12, 2003, 06:54:41 pm
Quote
Originally posted by aldo_14
I'm pretty sure that real geomod is possible, it's just very,very complex and extremely difficult to implement........

I DON'T want to hear that again! :mad:

GeoMod means a totally new way would be needed for models to be stored, since right now they're stored as BSPs, which aren't good for any type of dynamically modifiable geometry, thus instantly eliminating backward compatability, unless you want to force people to download a model pack of converted models (Which would require writing a converter, of course) together with FS2 Open.

That is, of course, assuming that once you get a working system that does boolean substractions together with assigning correct texture coordinates, and creating of optimal vertex buffering so the speed won't die, and rewrite ALL the collision detection code (which depends on the BSP data), create a new damage system (since if you cut off a Sathanas' arm, the beam at its end should stop working, and to add even more work, should be treated as a separate object and start drifting), and, after you're done with all those little tasks, fix up all the other small problems that will show up (quick example fromt he top of my head: sun-glow rendering is dependant on BSP data to determine whether a sun is visible or not).

If you consider that possible, I'll go rant some more :)

Edit: I really, really didn't think I'd see GeoMod come up again. Besides, concerning the original idea proposed, it'll always be slow, even in a TnL build, since video cards like large amounts of polygons sent over few times, yet if you use lots of small groups of polygons, it will be a LOT slower. Also, there will also be massive overdraw, and graphics cards like reused vertices, also something that won't happen with lots of small subsystems (If you draw a million triangles, each triangle having 3 different vertices, compared to drawing a million triangles as, say, a triangle strip, the strip should be around 3 times faster. BIG difference). That has all the elements of a preformance killer if used on large ships.

Edit2: Okay, so maybe I was venting some frustrations in the original post, but it DID make me feel a whole lot better :)

Seriously, though, I hope I didn't offend (Though I'll let my post stand as it is).

And, finally, to veer off-topic, look at my example, people - you don't need to double-post!
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Flipside on October 12, 2003, 09:15:31 pm
Fair enough, maybe there should be a thread of 'What NOT to ask for' ;) LOL

I still like my idea of non-selectable destroyable subsystems though, if they could be coupled with subsystem based ambient sounds and subsystem shockwaves, you could have chain reactions going out across the surface of a ship. You could damage freighters just by destroying a volatile cannister or pipe, and let the chain reaction to the rest ;) You could actually use the ship against itself :D

Flipside :D

Edit : Please note blatant p1mping of my previous subsystem ideas ;)
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Trivial Psychic on October 12, 2003, 11:25:20 pm
Quote
Originally posted by Flipside
Fair enough, maybe there should be a thread of 'What NOT to ask for' ;) LOL


We already do, in the form of the FAQ thread stickied further up.

Later!
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: aldo_14 on October 13, 2003, 03:30:41 am
Quote
Originally posted by Fry_Day

I DON'T want to hear that again! :mad:

GeoMod means a totally new way would be needed for models to be stored, since right now they're stored as BSPs, which aren't good for any type of dynamically modifiable geometry, thus instantly eliminating backward compatability, unless you want to force people to download a model pack of converted models (Which would require writing a converter, of course) together with FS2 Open.

That is, of course, assuming that once you get a working system that does boolean substractions together with assigning correct texture coordinates, and creating of optimal vertex buffering so the speed won't die, and rewrite ALL the collision detection code (which depends on the BSP data), create a new damage system (since if you cut off a Sathanas' arm, the beam at its end should stop working, and to add even more work, should be treated as a separate object and start drifting), and, after you're done with all those little tasks, fix up all the other small problems that will show up (quick example fromt he top of my head: sun-glow rendering is dependant on BSP data to determine whether a sun is visible or not).

If you consider that possible, I'll go rant some more :)

Edit: I really, really didn't think I'd see GeoMod come up again. Besides, concerning the original idea proposed, it'll always be slow, even in a TnL build, since video cards like large amounts of polygons sent over few times, yet if you use lots of small groups of polygons, it will be a LOT slower. Also, there will also be massive overdraw, and graphics cards like reused vertices, also something that won't happen with lots of small subsystems (If you draw a million triangles, each triangle having 3 different vertices, compared to drawing a million triangles as, say, a triangle strip, the strip should be around 3 times faster. BIG difference). That has all the elements of a preformance killer if used on large ships.

Edit2: Okay, so maybe I was venting some frustrations in the original post, but it DID make me feel a whole lot better :)

Seriously, though, I hope I didn't offend (Though I'll let my post stand as it is).

And, finally, to veer off-topic, look at my example, people - you don't need to double-post!


Hey, I never said it'd be realistic to implement.  Just that it's theoretically possible :) (and i didn't actually mean true boolean geomod anyways, more a sort of denting thing).

Much in the same way as kinematic animation is theoretically possible, but not realistic.

might be a neat project, though.  Shame i'm not C++ proficient, or I'd suggest it for uni..........
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: TrashMan on October 13, 2003, 05:05:03 am
You might wanna try this:

Quote

Well you can make a subobject (like, lets say a bridge) and name it communication. It will then be the subsystem that gets blown when destroyed. Doing that for all major subsystems would make ships that you can actually cripple visualy. imagine going after engine 01 and seeing it get blown off the main hull!

The only problem is, you can't have turrets on the section that will get blown, thus they have to be resonably small.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: IPAndrews on October 14, 2003, 05:38:50 am
Quote
Originally posted by aldo_14
How would you implement (a form of) geomod in the first place?


Pre-requisites:

A professional standard coder with lots of time and a PHd in maths.

Method:

Place some "blast geometry" at the impact point and boolean subtract it from every sub model that goes to make up the ship. Assign a basic uv planar map and a generic damage texture to every newly generated poly.

You'd have to do the same thing for the lower LODs of the model, perhaps using lower LOD blast geometry.

BSP trees would need to change real-time to represent modified sub-models. The brute force sollution would be to regenerate the whole BSP, but that would be too slow for real-time use. So you'd need some fancy solution. There might be a way to record which polys were modified and only modify the effected branches of the BSP tree, but to be honest, I've not thought that through.

Obviously, ships could no longer share geometry or BSP trees. You'd have to store seperate geometry and trees for every ship in space on the off chance that it might get geo-modded down the line. So memory requirements would increase dramatically.

Poly counts probably wouldn't be an issue as long as you reseve geomodding for helios bombs and other large weapons. The theory being that a ship shouldn't be able to take too many hits from one before going belly up.  Slow downs might come from testing collisions with BSP trees which have been made inefficient through geo-modding.

The maths would be horrible. The required engine changes extensive. That's without even taking into account the damage system considerations Fry Day correctly pointed out.

Results:

Likely slow downs and bugs. Increased system requirements. A rather naff looking geomod effect.

hehe
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: aldo_14 on October 14, 2003, 07:21:49 am
ooh... forgot about lods actually.  Incidentally, i wasn;t thinking of a boolean geomod as such, rather a sort of 'denting' effect.  If I ever get hthis framework thing I'm working on started, I'll try and come up with a wee demo, just for illustrative purposes.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: IPAndrews on October 14, 2003, 08:16:53 am
Then you're going to get the problem of pushing / denting polys out the back of your ship. A problem which goes away if you perform a boolean subtract type operaton. Which you can still use to perform your dent effect by using a shallow cone shaped blast geometry.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: aldo_14 on October 14, 2003, 03:59:56 pm
Quote
Originally posted by IPAndrews
Then you're going to get the problem of pushing / denting polys out the back of your ship. A problem which goes away if you perform a boolean subtract type operaton. Which you can still use to perform your dent effect by using a shallow cone shaped blast geometry.


I know, i know...it's just a theory at the mo, and that was the one thing that stuck out to me.  But I think it may be implementable and effective in some form (maybe not in the FS2 engine, of course).  At the end of the day, it's just blue-sky thinking on my part - I should probably have kept my mouth shut.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: IPAndrews on October 15, 2003, 04:01:47 am
Quote
Originally posted by aldo_14
I think it may be implementable and effective in some form


The day will probably come soon when the maths and optimum methods for real-time geo modding become well known and well documented enough that joe programmer (- maths PHd) can make use of the effect. I reckon it'll be cmmon place in games within the next few years. You'll end up having to spend as much time on the internals of your model as the externals.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Flaser on October 15, 2003, 06:47:04 pm
When that time comes IMHO modders would have to spend just as much time designing the interior of their models as their hide...BTW that would be great for making some good cutscenes.
Title: To SCP staff: is this possible? [belive it or not, geomod related]
Post by: Sticks on October 15, 2003, 07:11:09 pm
Quote
Then you're going to get the problem of pushing / denting polys out the back of your ship. A problem which goes away if you perform a boolean subtract type operaton. Which you can still use to perform your dent effect by using a shallow cone shaped blast geometry.


The problem with this method is that you generate tons of extra geometry. Think back if you ever modeled anything. Boolean subtracting even a simple plane gives you a mess of triangles to deal with, and cleaning those up isn't a whole lot of fun.

The only real solution I've seen is a voxel type technique which utilizes a set of voxels to represent polygons in a mesh, which are then deformed/removed according to some physical properties. The downside? Don't expect to run it on anything less than a multiple processor system (in real time).

Red Faction used a simplistic CSG subtraction method, and placed rather severe limitations on what could be done. Most of the trouble lies in how to reorganize your mesh data for efficient culling after it has been deformed, not to mention the actual CSG implementation. Then you also have to reorganize AI pathfinding to account for the fact that a portion of the mesh is missing/altered.

The best that FS_Open could hope for is perhaps additional LODs that are damage models. Even then there are significant hurdles.