• Contraption Damage Engine
    643 replies, posted
  • [QUOTE=Arania;18297305][b]Arania’s Contraption Damage Engine[/b] This has been my pet project for the better part of a year, and I believe it may finally be time that I show of the fruits of a near 12 months worth of poking Gmod with a very sharp stick [u]What is it?[/u] The Contraption Damage Engine (CDE or CoDE) is my solution to what I considered to be a critical flaw in currently-available damage engines: You build contraptions in Garry’s Mod, from large spaceships to small automated drones, and yet both CDS and GCombat use weapons that apply damage on a per-entity basis. CDE does the exact opposite: damage from weapons is applied to an entire contraption, and it is only destroyed once its cumulative health reaches zero, allowing for more extended firefights which can last for minutes at a time, instead of mere seconds. Larger contraptions tend towards being more durable, instead of the existing model of only being as strong as their weakest part. Primarily, CDE is designed to be as simple and streamlined as possible for players, allowing them to focus on contraption building and combat rather than fiddly combat mechanics, while providing maximum functionality to developers through a modular design allowing them to easily make their own weapons and damage types, or even tie the addon into a gamemode! [u]Features[/u] [list] [*]Damage applied to entire contraption, rather than individual components (can be toggled off for a more Gcombat-like feel) [*]Destroying a contraption will leave wreckage, which then fades out over time (Wreckage settings can be modified via convar) [*]Cinematic death explosions that can take more than 5 minutes to complete for large contraptions, such as space stations (Can be toggled off for a more fast-paced combat style) [*]Shielding that covers an entire contraption, along with more conventional spherical shields that cover an area [*]Shield spheres overlap properly, producing the impression of a large shield ‘blister’ instead of a bundle of disparate bubbles [*]Modular damage system allows custom entity and damage types to be added easily (such as anti-missile or anti-shield damage types, for example) [*]Works with Gcombat and CDS weapons (See posts below) [/list] [u]Media[/u] [i]Pics:[/i] Before, During and After shots of a Wi-Fi hotspot getting destroyed- [img_thumb]http://home.iprimus.com.au/brownzzz/FP/damage_before.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/damage_detonation.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/damage_after.jpg[/img_thumb] Shield Dome Exterior Shots- [img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_exterior_city.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_exterior_red.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_planet_large.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_planet_small.jpg[/img_thumb] Overlapping Shields, Interior and Exterior Shots- [img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_overlap_icecap.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_overlap_birdseye.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_overlap_exterior.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/shield_overlap_interior.jpg[/img_thumb] Contraption-Conforming Shields on an SBMP Ship. Unshielded and Shielded Shots- [img_thumb]http://home.iprimus.com.au/brownzzz/FP/ship_unshielded.jpg[/img_thumb][img_thumb]http://home.iprimus.com.au/brownzzz/FP/ship_shielded.jpg[/img_thumb] [i]Videos:[/i] Coming as soon as my cameraman gets sick of me poking him [u]When will it be released?[/u] I’m hoping that I will have a version stable enough for public beta by the end of the year, provided people express interest in the idea! Questions are very welcome[/QUOTE] It's impressive, But yet so useless for GMod. Let me rephraise that. Your idea is good, not really that orginal but it's well done. But in gmod you don't really have any use for this kind of work. It doesn't fit anywhere. What you should have done was create a gamemode and then add the cool functions to it. Now you did it otherway and it turned out that it's not really something people want to use. Which basically makes it useless. The only way for you to fix this situation is to make something which can use this code of yours.
  • I don't believe you are correct with that. I respect your opinion and I'm not going to blindly yell at you, but I see no proof that this isn't useful, A Gamemode may be on the way eventually, but I would rather have this as just an addon so it can be used anytime, in any Sandbox or Spacebuild.
  • [QUOTE=1live;18913998]It's impressive, But yet so useless for GMod. Let me rephraise that. Your idea is good, not really that orginal but it's well done. But in gmod you don't really have any use for this kind of work. It doesn't fit anywhere. What you should have done was create a gamemode and then add the cool functions to it. Now you did it otherway and it turned out that it's not really something people want to use. Which basically makes it useless. The only way for you to fix this situation is to make something which can use this code of yours.[/QUOTE] What. So what you are basically saying is that nobody wanted CDS and GCombat either?
  • [QUOTE=tuusita;18912153]... thus bringing the server to a grinding halt every time such an explosion occurred, no? :I[/QUOTE] Indeed! This is what I meant :D
  • [QUOTE=1live;18913998]It's impressive, But yet so useless for GMod. Let me rephraise that. Your idea is good, not really that orginal but it's well done. But in gmod you don't really have any use for this kind of work. It doesn't fit anywhere. What you should have done was create a gamemode and then add the cool functions to it. Now you did it otherway and it turned out that it's not really something people want to use. Which basically makes it useless. The only way for you to fix this situation is to make something which can use this code of yours.[/QUOTE] Ok, I don't care how long you have been here, let me introduce you to the [url=http://www.facepunch.com/showthread.php?t=848006]SBEP[/url], which is used to add more stuff into [url=http://www.facepunch.com/showthread.php?t=556435]Spacebuild[/url] - which is more or less the exact mode he would have to create to make best use of this anyway. Then apply the [url=http://www.facepunch.com/showthread.php?t=763976]shite[/url] (but not actually that shite) we have had to use with it for years. Oh and CDS, which is now defunct. We DO want it, and we will use it loads in Spacebuild, war servers etc - as is indicated by all the replies here (cept yours) and many replies in the SBEP thread after this was announced. Now, your head. Take it out from under that rock. Thanks. [i]I appreciate this was argumentative but lets fucking face it, did 1live even read the damn thread?[/i]
  • [QUOTE=1live;18913998]What you should have done was create a gamemode and then add the cool functions to it.[/QUOTE] That would take much more time and effort to get a GM going. Then having to always load the GM for single player, or go to certain servers that are running the GM. I think that is too much hassle. Plus think of the stupid criticism. "Durr, it is another Sandbox GM, how imaginative....", etc. It is way better off as an addon than a GM.
  • [QUOTE=1live;18913998]It's impressive, But yet so useless for GMod. Let me rephraise that. Your idea is good, not really that orginal but it's well done. But in gmod you don't really have any use for this kind of work. It doesn't fit anywhere. What you should have done was create a gamemode and then add the cool functions to it. Now you did it otherway and it turned out that it's not really something people want to use. Which basically makes it useless. The only way for you to fix this situation is to make something which can use this code of yours.[/QUOTE] [img]http://sharkrobot.com/images/shirt_ninjabot_blueteam.jpg[/img]
  • [QUOTE=LimEJET;18834407]No-colliding shouldn't be one of the constraints that the addon checks, since it doesn't actually [B]constrain[/B] anything. What I would worry about, though, is Advanced Ballsockets. Or maybe there's some way of checking if "Free Movement" is on or not?[/QUOTE] [QUOTE=commander204;18835617]You can avoid this by doing a distance check proportional to the Size of the Entity. (So 2 big models which centers are completely on the opposite will still be counted together.)[/QUOTE] I'm planning on writing a function to 'filter' certain constraints to remove the issue, so no-collides and certain other constraints won't be used to find a contraption. (I think i mentioned that somewhere...) [QUOTE=Datsun;18837626]I can't wait for this to come out. So far there has not been a Damage System (from my memory) that takes into account the entire contraption and rather than each prop separately. What kind of server options are there going to be? Say like weapon restrictions, turning the Damage On/Off or certain parts of it, etc. Also is it going to be an SVN? Just wondering because it would help keep everything in one piece and you don't have to re-upload different versions.[/QUOTE] There will be the standard limit on weapons controllable via a convar, along with the following: [list] [*]Whether or not wreckage is left behind, how long it takes the wreckage to fade out, and how solidly the wreckage is constrained to other wreckage from the same contraption [*]How violent contraption death is, whether contraptions shatter instead of leaving constrained wrecks when they are destroyed, and if the contraption death is 'cinematic' (basically delaying the final death explosion and causing secondaries to pop off all over it) [*]Entity health multipliers and max health [*]Whether or not the engine overrides CDS and GCombat damage calls [*]Whether or not the weapons use energy [/list] And yes, there WILL be a public SVN that i will be hosting the public release on, which will be updated periodically as I add stuff [QUOTE=Mooee;18839374]About the splash damage thing, is there anyway to make it dynamic? Like, more or less, having it wrap around said shield or object; basically enabling you to build a containment unit (or something of the sort, maybe a large concave wall, Iunno) to [i]nearly[/i] manipulate the blast. Again, just wondering if its even possible, practibitly wise.[/QUOTE] This IS basically what i want to do, but, as mentioned by others, it is incredibly tricky to do. [QUOTE=1live;18913998]It's impressive, But yet so useless for GMod. Let me rephraise that. Your idea is good, not really that orginal but it's well done. But in gmod you don't really have any use for this kind of work. It doesn't fit anywhere. What you should have done was create a gamemode and then add the cool functions to it. Now you did it otherway and it turned out that it's not really something people want to use. Which basically makes it useless. The only way for you to fix this situation is to make something which can use this code of yours.[/QUOTE] ...Excuse me? Unless i'm really misinterpreting the general consensus of people who have posted thus far, it seems as though people DO want to use it! In fact, there are three pages worth of people saying that they're interested! Not only that, but the main reason I started this project was becaue [i]I[/i] wanted it, I sat down, and instead of trying to make something gimmicky or 'cool', i tried to make someting that people would find [i]useful[/i]. And i HIGHLY disagree with your opinion on that this should have been made as a Gamemode. Gamemodes are designed to add or change significant functionality of gmod, to entirely change the [i]feel[/i] of the game (As an example, DarkRP is ENTIRELY different to Melonracer, they feel different and play different). You wouldn't expect something like Wire, the SBEP, or Avon's Stargates to be built as an indipendent gamemode, because they're supposed to be used alongside EXISTING gamemodes. they don't CHANGE gameplay, they ADD to it! (anyone who has played GMStranded with Stargates knows what i mean). As this system is meant to be used with existing content from other gamemodes (like sandbox and Spacebuild), i fail to see what benefit I would gain by releasing CoDE as a gamemode rather than an addon. Also: Unoriginal? I realise i have used a few ideas and mechanics from other games, but this is hardly an unoriginal idea as far as Gmod is concerned. Please, if someone else has done this before, please [i]point them out[/i] [QUOTE=Weatherman64;18919322]Don't let that guy put you off, most of us want this as an addon...[/QUOTE] It's getting released, don't worry. All that's left is a few minor bugs i need to hunt down. [QUOTE=DVD Player;18927852][img]http://sharkrobot.com/images/shirt_ninjabot_blueteam.jpg[/img][/QUOTE] ... That, sir, is one of the single funniest things i have seen... ...ever... You win a cookie.
  • [QUOTE=Arania;18934813] ... That, sir, is one of the single funniest things i have seen... ...ever... You win a cookie.[/QUOTE] I chuckled. But, 1Live, what everyone has said is basically true.
  • [quote=people] <words of wisdom>[/quote] Thanks for the feed back!
  • [QUOTE=DVD Player;19057328]I eagerly anticipate a progress report and/or release.[/QUOTE] Heck yes! 3 days and no posts on this topic?!? Something must be done! >:D
  • [QUOTE=cbale2000;19075703]Heck yes! 3 days and no posts on this topic?!? Something must be done! >:D[/QUOTE] oh you people and your demands! :P Progress report: Still got 4 or so bugs to nail down (fairly minor, but i still want to get them fixed), and then it should be ready for release. I've also been pestering my cameraman/video guy to actually MAKE the damn demo video, so [i]hopefully[/i] there'll be a video out soon (and by 'soon i mean 'before the actual addon release') For those who want an exact date, I'm aiming to have it all ready by December 30th. Additionally: Since this IS going to be a beta release, i'm looking for interested server operators/admins willing to host CoDE and send me bug reports and updates once it's released (I don't need many, 2-3 would do. Obviously, War and Spacebuild servers with regular players would be preferred so that any post-release bugs can be quickly discovered and fixed). Send me a PM if you're interested.
  • I don't have a server, probably never will, but the way I play single player it is just as effective! I'll let you know if I find anything.
  • Oh yeah, this should be super nice to have. I can just imagine people making things for this, it seems quite flexible!
  • I have posted two demo videos on the front page of the thread, along with pictures of a submarine armed with CoDE weapons that was used during testing. Enjoy!
  • [QUOTE=Arania;18297305][i]Videos:[/i] [media]http://www.youtube.com/watch?v=Cn40gM4lOyM[/media] [media]http://www.youtube.com/watch?v=EX6hZcjn07s[/media][/QUOTE] Are those SBEP models I see? Wewt. Looks great man, nice and clean too. Do the weapons automaticly home in or is that a bit of wire trickery? Reminds me of sex. Love the Sub and Missles.
  • I think Arania made the best decision ever by keeping this as an addon, a part of Gmod itself, and not as a gamemode. I love this man. :3: (Not in a creepy way, promise.)
  • Very nice job with the addon. Those videos look fun. One question, I don't need some of the spacebuild models for the weapons right? It comes with them?
  • I just don't like how it destroys the whole contraption, or can you change that?
  • [QUOTE=Sodisna;19165644]I just don't like how it destroys the whole contraption, or can you change that?[/QUOTE] Why not? I mean, it's not like it's gonna be useable once it's destroyed anyways.
  • [QUOTE=Sodisna;19165644]I just don't like how it destroys the whole contraption, or can you change that?[/QUOTE] Err, don't use the addon then? I mean, that's the whole point of the addon, right?
  • I mean I would like for it to destroy a part of it. There's really isn't damage system that doesn't very well. GCombat does it, but you can't set the health of the props.
  • [QUOTE=Sodisna;19168767]I mean I would like for it to destroy a part of it. There's really isn't damage system that doesn't very well. GCombat does it, but you can't set the health of the props.[/QUOTE] [quote=Original Post]Damage applied to entire contraption, rather than individual components [b](can be toggled off for a more Gcombat-like feel)[/b][/quote] Derp.
  • Or instead of making it explode All at once, make it explode from the Tail to the Front or something would look alot better!
  • I think we have our next best prop damage system :O, this looks abso-fuckin-lutely AWESOME! Incredible work, and the warp effect on the missile firing gives it a sci-fi kinda feel :D. Agreed though, this needs some awesome sounds to go with it. Very nice work, can't wait for the beta :3.
  • I always wanted to make my own Weapons, i actually did them, but i have problems to make them Combatible with Shields (Stargate pack). What's the way you coded your projectiles? I have tried multiple ways. - Bullets (work with shields, but suck because they are instant and non synchronous with effects) - Entities with SetPos (the way Gcombat does it). Sucks because the don't work with shields - SetPos with Stargate-mod traces, works with shield but sucks because can't damage shields automatically and i would have to manipulate the Shield generators values. - Deriving from aVoNs Staff Weapon, great but his code is so complicated, it works, but it's too hard to change some things because i don't fully understand how this works. So what's the way to make weapons compatible with your shields?