Fix the Damage Types
the_x5
the Xzianthian Join Date: 2004-03-02 Member: 27041Members, Constellation
<div class="IPBDescription">(idea spawned from ns_eis concept)</div><!--sizeo:2--><span style="font-size:10pt;line-height:100%"><!--/sizeo-->Preface:
This idea is one of many spawned from my thinking about <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=104276" target="_blank">ns_eis</a> (click link to view)<!--sizec--></span><!--/sizec-->
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Problem<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
There is poor support for different damage types in NS currently and not support yet declared for NS2. The trigger_hurt brush entity was one of the original signature entities in the original Half-Life when it was release almost a decade ago. Yet in thinking of making ns_eis I’m reminded that unless I have trigger_hurt damage types need to include radioactive, freeze damage, and asphyxiation with accompanying sprites that I will not be able to prevent players from going into certain areas that would break immersion outside of just insta-gibbing them which would lead to frustration and still break immersion with an inexplicable cause of instant death. Anybody who wants to make a NS2 map in space with need an improved asphyxiation attribute to the trigger_hurt as well as means to make a localized phys_air_friction modifier (i.e.: lower pressure = reduced air friction). It may not seem to matter to you if you are a typical player, but if you are making a map for NS2 you should understand why UWE shouldn’t ignore this.
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Solution<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
Before I go into technical detail, know that when you reply to this idea there are really to main areas of feedback going on here.
<!--QuoteBegin-Crispy+--><div class='quotetop'>QUOTE(Crispy)</div><div class='quotemain'><!--QuoteEBegin-->But the presentation actually deals with two things and that's partly why it is confusing. I think the idea should be split into two partly for clarity, and partly because they deal with different parts of the game and code. One is controlled by mapper-placed entities and the FGD, the other is controlled by the core game code. So I'd suggest splitting it into:
- <i>Environmental hazard damage feedback</i>, and
- <i>Player-inflicted damage feedback</i><!--QuoteEnd--></div><!--QuoteEEnd-->
Plus I gave a solution to fixing the onos a bit farther down this page which you should also check out. (it would be assuming three things however)
First we have this nice animated image of the trigger_hurt brush entity's damage_type values as seen in Hammer. (VALVe's map editor application, via the Source SDK)
<img src="http://xzianthia.net/images/trigger_hurt_damagetypes.gif" border="0" class="linked-image" />
Study the animated image above here for a bit... See all of the damage type values VALVe has set up? Basically this idea is implemented by simply supporting the architecture already laid out and cleaning it up. (well, not exactly simple, lol <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" /> , but at least you are editing instead of re-inventing the wheel) Perhaps you could even simply things that are overlapping.
Here's my proposed new & improved list like this:<ul><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->generic <!--colorc--></span><!--/colorc--></b> 0 – the “other†category</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->bludgeon <!--colorc--></span><!--/colorc--></b> 1 – physics collisions, with a nice bone-crunching, fleshy impact sound effect like hitting an animal in the head or ribs with a sledgehammer as hard as you can swing it; screen bump in opposite vector component of the impact vector, and reddens the hue of screen for a fraction of time (combines these: crush, blast, club</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->bullet <!--colorc--></span><!--/colorc--></b> 2 – aka “piercingâ€, could include lerk and OC spikes; creates “hole†blood splatter sprite</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->slash <!--colorc--></span><!--/colorc--></b> 4 – knife, fade swipe, leap damage; creates a “slash†blood splatter sprite</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->burn <!--colorc--></span><!--/colorc--></b> 8 – player get a burn indicator spite, burning flesh sound effect, reddened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->freeze <!--colorc--></span><!--/colorc--></b> 16 – player gets a snowflake indicator spite, liquid nitrogen on-flesh sound effect, blued screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->fall <!--colorc--></span><!--/colorc--></b> 32 – player gets screen bumped down, breaking legs sound effect, reddened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->shock <!--colorc--></span><!--/colorc--></b> 64 – player gets an electricity indicator spite, zapping sound effect, whitened screen (this is what would happen to aliens attack electrified structures for instance, assuming NS2 has electrification of course)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->sonic <!--colorc--></span><!--/colorc--></b> 128 – bumps the screen in the opposite vector component of the impact vector, creates momentary dizziness effect (like the old TFC conc’s but less magnitude and duration), dizzy indicator sprite (i.e. onos stomp or explosion shockwave), whitened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->asphyxiation<!--colorc--></span><!--/colorc--></b> 256 – player gets an oxygen indicator spite, gasping for air sound effect unless inside a func_water brush in which case you get a gurgling sound effect, blackened screen (replaces drown)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->chemical <!--colorc--></span><!--/colorc--></b> 512 – player gets a poison indicator spite, generic pain sound effect, greened screen (replaces and combines poison, nerve gas, and any chemical burn types)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->biohazard <!--colorc--></span><!--/colorc--></b> 1024 – preferably marines <i>only</i>, player gets a biohazard indicator sprite, generic pain sound effect, greened screen (lerk spores?)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->radiation <!--colorc--></span><!--/colorc--></b> 2048 – player gets a radioactive indicator sprite, generic pain sound effect (with a Geiger click if marine, which brings be back to <a href="http://" target="_blank">certain entities needing to be “one team onlyâ€</a>)</li></ul>
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->And if all damages has a damage type value<!--colorc--></span><!--/colorc-->...</b><!--sizec--></span><!--/sizec-->
This even opens up new possibilities such as give players and team structures damages of these types with certain armor types to match with multipliers. For example say the hive is immune to poison, nerve gas, chemical, or radiation damage; but takes extra damage from burn, sonic, or blast.
(note: what I just mentioned is an addendum to this idea which should be judged on it's own terms if the main idea is a good one)
(note: as Crispy mentioned it's more about player-inflicted damage)
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Forge Game Data (.fgd) File Edit<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
Here’s the current .fgd entry that will also need to be adjusted
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> @SolidClass base(Targetname,Target) = trigger_hurt : "Trigger player hurt"
[
spawnflags(flags) =
[
1: "Target Once" : 0
2: "Start Off" : 0
16:"FireClientOnly" : 0
32:"TouchClientOnly" : 0
]
master(string) : "Master"
dmg(integer) : "Damage" : 10
delay(string) : "Delay before trigger" : "0"
damagetype(choices) : "Damage Type" : 0 =
[
0 : "GENERIC"
1 : "CRUSH"
2 : "BULLET"
4 : "SLASH"
8 : "BURN"
16 : "FREEZE"
32 : "FALL"
64 : "BLAST"
128 : "CLUB"
256 : "SHOCK"
512 : "SONIC"
1024 : "ENERGYBEAM"
16384: "DROWN"
32768 : "PARALYSE"
65536 : "NERVEGAS"
131072 : "POISON"
262144 : "RADIATION"
524288 : "DROWNRECOVER"
1048576 : "CHEMICAL"
2097152 : "SLOWBURN"
4194304 : "SLOWFREEZE"
]
]</div>
This idea is one of many spawned from my thinking about <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=104276" target="_blank">ns_eis</a> (click link to view)<!--sizec--></span><!--/sizec-->
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Problem<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
There is poor support for different damage types in NS currently and not support yet declared for NS2. The trigger_hurt brush entity was one of the original signature entities in the original Half-Life when it was release almost a decade ago. Yet in thinking of making ns_eis I’m reminded that unless I have trigger_hurt damage types need to include radioactive, freeze damage, and asphyxiation with accompanying sprites that I will not be able to prevent players from going into certain areas that would break immersion outside of just insta-gibbing them which would lead to frustration and still break immersion with an inexplicable cause of instant death. Anybody who wants to make a NS2 map in space with need an improved asphyxiation attribute to the trigger_hurt as well as means to make a localized phys_air_friction modifier (i.e.: lower pressure = reduced air friction). It may not seem to matter to you if you are a typical player, but if you are making a map for NS2 you should understand why UWE shouldn’t ignore this.
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Solution<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
Before I go into technical detail, know that when you reply to this idea there are really to main areas of feedback going on here.
<!--QuoteBegin-Crispy+--><div class='quotetop'>QUOTE(Crispy)</div><div class='quotemain'><!--QuoteEBegin-->But the presentation actually deals with two things and that's partly why it is confusing. I think the idea should be split into two partly for clarity, and partly because they deal with different parts of the game and code. One is controlled by mapper-placed entities and the FGD, the other is controlled by the core game code. So I'd suggest splitting it into:
- <i>Environmental hazard damage feedback</i>, and
- <i>Player-inflicted damage feedback</i><!--QuoteEnd--></div><!--QuoteEEnd-->
Plus I gave a solution to fixing the onos a bit farther down this page which you should also check out. (it would be assuming three things however)
First we have this nice animated image of the trigger_hurt brush entity's damage_type values as seen in Hammer. (VALVe's map editor application, via the Source SDK)
<img src="http://xzianthia.net/images/trigger_hurt_damagetypes.gif" border="0" class="linked-image" />
Study the animated image above here for a bit... See all of the damage type values VALVe has set up? Basically this idea is implemented by simply supporting the architecture already laid out and cleaning it up. (well, not exactly simple, lol <img src="style_emoticons/<#EMO_DIR#>/tounge.gif" style="vertical-align:middle" emoid=":p" border="0" alt="tounge.gif" /> , but at least you are editing instead of re-inventing the wheel) Perhaps you could even simply things that are overlapping.
Here's my proposed new & improved list like this:<ul><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->generic <!--colorc--></span><!--/colorc--></b> 0 – the “other†category</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->bludgeon <!--colorc--></span><!--/colorc--></b> 1 – physics collisions, with a nice bone-crunching, fleshy impact sound effect like hitting an animal in the head or ribs with a sledgehammer as hard as you can swing it; screen bump in opposite vector component of the impact vector, and reddens the hue of screen for a fraction of time (combines these: crush, blast, club</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->bullet <!--colorc--></span><!--/colorc--></b> 2 – aka “piercingâ€, could include lerk and OC spikes; creates “hole†blood splatter sprite</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->slash <!--colorc--></span><!--/colorc--></b> 4 – knife, fade swipe, leap damage; creates a “slash†blood splatter sprite</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->burn <!--colorc--></span><!--/colorc--></b> 8 – player get a burn indicator spite, burning flesh sound effect, reddened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->freeze <!--colorc--></span><!--/colorc--></b> 16 – player gets a snowflake indicator spite, liquid nitrogen on-flesh sound effect, blued screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->fall <!--colorc--></span><!--/colorc--></b> 32 – player gets screen bumped down, breaking legs sound effect, reddened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->shock <!--colorc--></span><!--/colorc--></b> 64 – player gets an electricity indicator spite, zapping sound effect, whitened screen (this is what would happen to aliens attack electrified structures for instance, assuming NS2 has electrification of course)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->sonic <!--colorc--></span><!--/colorc--></b> 128 – bumps the screen in the opposite vector component of the impact vector, creates momentary dizziness effect (like the old TFC conc’s but less magnitude and duration), dizzy indicator sprite (i.e. onos stomp or explosion shockwave), whitened screen</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->asphyxiation<!--colorc--></span><!--/colorc--></b> 256 – player gets an oxygen indicator spite, gasping for air sound effect unless inside a func_water brush in which case you get a gurgling sound effect, blackened screen (replaces drown)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->chemical <!--colorc--></span><!--/colorc--></b> 512 – player gets a poison indicator spite, generic pain sound effect, greened screen (replaces and combines poison, nerve gas, and any chemical burn types)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->biohazard <!--colorc--></span><!--/colorc--></b> 1024 – preferably marines <i>only</i>, player gets a biohazard indicator sprite, generic pain sound effect, greened screen (lerk spores?)</li><li><b><!--coloro:#FF8C00--><span style="color:#FF8C00"><!--/coloro-->radiation <!--colorc--></span><!--/colorc--></b> 2048 – player gets a radioactive indicator sprite, generic pain sound effect (with a Geiger click if marine, which brings be back to <a href="http://" target="_blank">certain entities needing to be “one team onlyâ€</a>)</li></ul>
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->And if all damages has a damage type value<!--colorc--></span><!--/colorc-->...</b><!--sizec--></span><!--/sizec-->
This even opens up new possibilities such as give players and team structures damages of these types with certain armor types to match with multipliers. For example say the hive is immune to poison, nerve gas, chemical, or radiation damage; but takes extra damage from burn, sonic, or blast.
(note: what I just mentioned is an addendum to this idea which should be judged on it's own terms if the main idea is a good one)
(note: as Crispy mentioned it's more about player-inflicted damage)
<!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b><!--coloro:#00BFFF--><span style="color:#00BFFF"><!--/coloro-->Forge Game Data (.fgd) File Edit<!--colorc--></span><!--/colorc-->:</b><!--sizec--></span><!--/sizec-->
Here’s the current .fgd entry that will also need to be adjusted
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'> @SolidClass base(Targetname,Target) = trigger_hurt : "Trigger player hurt"
[
spawnflags(flags) =
[
1: "Target Once" : 0
2: "Start Off" : 0
16:"FireClientOnly" : 0
32:"TouchClientOnly" : 0
]
master(string) : "Master"
dmg(integer) : "Damage" : 10
delay(string) : "Delay before trigger" : "0"
damagetype(choices) : "Damage Type" : 0 =
[
0 : "GENERIC"
1 : "CRUSH"
2 : "BULLET"
4 : "SLASH"
8 : "BURN"
16 : "FREEZE"
32 : "FALL"
64 : "BLAST"
128 : "CLUB"
256 : "SHOCK"
512 : "SONIC"
1024 : "ENERGYBEAM"
16384: "DROWN"
32768 : "PARALYSE"
65536 : "NERVEGAS"
131072 : "POISON"
262144 : "RADIATION"
524288 : "DROWNRECOVER"
1048576 : "CHEMICAL"
2097152 : "SLOWBURN"
4194304 : "SLOWFREEZE"
]
]</div>
Comments
Wouldn't it just be easier to have mapper-placed starting structures?
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->It may not seem to matter to you if you are a typical player, but if you are making a map for NS2 you should understand why UWE shouldn’t ignore this.<!--QuoteEnd--></div><!--QuoteEEnd-->I plan to make a map for NS2 and my design will survive not having customised trigger_hurt stuff. As I said before I'd much rather be able to setup structures and weldables before the round started, that way you could make a tutorial map, make attack/defend scenarios, the world is your oyster.
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->For example say the hive is immune to poison, nerve gas, chemical, or radiation damage; but takes extra damage from burn, sonic, or blast.<!--QuoteEnd--></div><!--QuoteEEnd-->NS has never needed further complication, and it is not an RPG or a card game.
Oh, buy this chemical weapon for gorges, fire for the OCs, and radiation for the Hive.
See Empire Tech tree and its giantness. Personally, that's a huge problem. Overwhelming the players/commander with options is not a good idea unless it's a RPG or card game where people pay money to figure out optimal strats and specs.
So, if we implement, keep it nice and atmospheric. Don't mess with the gameplay too much.
Wouldn't it just be easier to have mapper-placed starting structures?<!--QuoteEnd--></div><!--QuoteEEnd-->
You're confused here. Read this:
<!--QuoteBegin-"Additional Ideas Made Possible"+--><div class='quotetop'>QUOTE("Additional Ideas Made Possible")</div><div class='quotemain'><!--QuoteEBegin-->(note: what I just mentioned is an addendum to this idea which should be judged on it's own terms if the main idea is a good one)<!--QuoteEnd--></div><!--QuoteEEnd-->
What I mean is that the trigger_hurt damage type cleanup, new sprites, how it affects the screen, etc. is the main idea here. If those changes are made, then with newly specified damage types (and their effects)
<!--quoteo(post=1679675:date=May 29 2008, 03:57 AM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 29 2008, 03:57 AM) <a href="index.php?act=findpost&pid=1679675"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I plan to make a map for NS2 and my design will survive not having customised trigger_hurt stuff. As I said before I'd much rather be able to setup structures and weldables before the round started, that way you could make a tutorial map, make attack/defend scenarios, the world is your oyster.
NS has never needed further complication, and it is not an RPG or a card game.<!--QuoteEnd--></div><!--QuoteEEnd-->
Negative much Crispy? Complication doesn't have to mean sloppy and poorly implemented like your connotation implies. It <i>is</i> part RTS and should be more creative and elaborate than the original. It was clearly said, more than once, that NS2 is NOT a Souce port, it's a whole new game based on the original design. The part where this idea would come particularly in handy in ns_eis would be to discourage and prevent players from flying to the skybox.
Mostly though this idea is aesthetic and simpler than I think you are seeing it as. Properly linking those damage types to the .fgd, indicator sprites, screen effects, sound effects, and then applying them.
Would examples help? A fade swipes you get a natural "slash" effect (sprites, screen hue, screen bump, slash hit on flesh sound) instead of generic injury effect. A gorge gets lit up by a flamethrower and gets the burn effects because the flame is referenced in the engine as "burn" damage type. A stupid marine's grenade ruptures the hull of a spaceship and the air in the hall decompresses (thus all players start to get asphyxiation damage). A team is going to try to exploit by building a base inside a reactor, but they are dismayed when the structures take damage from the "radioactive" damage type.
I'm sure you could come up with some good uses too if you allowed for some creativity! Creativity is fun Crispy, really. <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
(What do you have against RPG's and card games anyways? Not to mention that was great example of a red herring *wink*)
<!--quoteo(post=1679701:date=May 29 2008, 02:27 PM:name=spellman23)--><div class='quotetop'>QUOTE(spellman23 @ May 29 2008, 02:27 PM) <a href="index.php?act=findpost&pid=1679701"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->While the immersion benefits are nifty, I'm not sure we want to start bogging people down with damage types.
Oh, buy this chemical weapon for gorges, fire for the OCs, and radiation for the Hive.
See Empire Tech tree and its giantness. Personally, that's a huge problem. Overwhelming the players/commander with options is not a good idea unless it's a RPG or card game where people pay money to figure out optimal strats and specs.
So, if we implement, keep it nice and atmospheric. Don't mess with the gameplay too much.<!--QuoteEnd--></div><!--QuoteEEnd-->
You replied to the additional/addendum part of the idea. What about the main idea here?
Seems pretty simple to me, its just asking for support for what already exists in such a way that a mapper can easily implement it, so maybe we will see the stuff more often in NS2 maps? Am I about right?
Seems pretty simple to me, its just asking for support for what already exists in such a way that a mapper can easily implement it, so maybe we will see the stuff more often in NS2 maps? Am I about right?<!--QuoteEnd--></div><!--QuoteEEnd-->
I don't know much about mapping but you have access to the regular HL2 ones as <b>CanadianWolverine</b> said right?
However, I think Crispy has a point that your, <b>the x_5</b>, map design probably shouldn't depend on this because I like the theme you're creating otherwise.
I don't particularly like the "hive is immune to X" kind of things, at least not at the FPS level. Maybe these could be comm spell categories?
This may seem tangential, but this idea may fall under "differeniating NS from HL2/Source". I don't think the Dev's could get away with using the default sprites for this and they have a lot on their plate. I can't judge whether it's a good enough idea or not, but I'm sure if the dev's decide to incorporate it they'll go all out.
A HUD mockup diagram would have really explained what you were getting at.
Incorrect, it's actually simplified. (If you'd bother reading the .fgd script I posted in the code box and compare with the revised list) It's about fixing and simplifying the system so the it fits with immersion better first, and then possibly allowing other attacks in the game to be described by what type they are.
You know in the initial release of Half-Life, I can look at my original manual and my goodness they have like two pages devoted just to talking about "hazard indicators". Obviously VALVe made the trigger_hurt to differentiate what kind of damage was injuring the player because it brought something to the game.
Personally I don't understand why you'd prefer getting hit by a flamethrower or the acid from a fade's acid rocket in NS2 to look like the same generic damage type as they do in NS...
I suppose you think just about every RTS out there is too complicated then huh? I mean what do you want? CS:S-NS2? No wait, that 3D crap must be too complicated too. Checkers NS2 then? Come on... Look buddy, NS <i>is</i> a complex game because it's a mix of a RTS and a FPS. And you know what? It worked. In fact I seem to remember a poll I made a year ago in which the vast majority of people on this board said that they wanted more depth to the gameplay.
<img src="http://www.xzianthia.net/images/graph_gameplay_generic.jpg" border="0" class="linked-image" />
<img src="http://www.xzianthia.net/images/graph_immersion.jpg" border="0" class="linked-image" />
Don't fear change Crispy, and don't worry, they have Max on their team. Max will make sure to keep things as organized and streamlined as possible because he's coming from a programmer's perspective where KISS policy is a motto. But if KISS was the only principle here then NS2 would be boring and fail (possibly killing the new company in the process) because it would lack the creative complexity that makes a game wonderful. That depth gives players new choices to solve the in-game problems and ultimately is one of those things that makes people keeping coming back to play.
<!--quoteo(post=1679809:date=May 30 2008, 02:49 PM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 30 2008, 02:49 PM) <a href="index.php?act=findpost&pid=1679809"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->A HUD mockup diagram would have really explained what you were getting at.<!--QuoteEnd--></div><!--QuoteEEnd-->
Yeah you're right it could have help make it even clearer, but I honestly didn't think it was that hard to understand. Do you mean for each damage type?
You know in the initial release of Half-Life, I can look at my original manual and my goodness they have like two pages devoted just to talking about "hazard indicators". Obviously VALVe made the trigger_hurt to differentiate what kind of damage was injuring the player because it brought something to the game.
I suppose you think just about every RTS out there is too complicated then huh? I mean what do you want? CS:S-NS2? No wait, that 3D crap must be too complicated too. Checkers NS2 then? Come on... Look buddy, NS <i>is</i> a complex game because it's a mix of a RTS and a FPS. And you know what? It worked. In fact I seem to remember a poll I made a year ago in which the vast majority of people on this board said that they wanted more depth to the gameplay.
Don't fear change Crispy, and don't worry, they have Max on their team. Max will make sure to keep things as organized and streamlined as possible because he's coming from a programmer's perspective where KISS policy is a motto. But if KISS was the only principle here then NS2 would be boring and fail (possibly killing the new company in the process) because it would lack the creative complexity that makes a game wonderful. That depth gives players new choices to solve the in-game problems and ultimately is one of those things that makes people keeping coming back to play.<!--QuoteEnd--></div><!--QuoteEEnd-->
I was being polite when I said the sheer volume of damage types you proposed was too complex. The fact is a lot of them are totally unnecessary. I count 13 different damage types, so while you may have simplified the original, some of the new list are still totally redundant. Example: why do you need both Toxin and Biohazard when their effects seem to be the same? Why do you need a different blood sprite for a bullet hit and a swipe hit when you could rely on weapon_hit SFX for the contextual audio and keep the same general, non-intrusive visual effect for the HUD. You go on about how immersive these things are, but when people get stabbed IRL they don't see a bit red slash over their eyes. Things like this should be done more immersively and less intrusively, like a brief red flash on the moment of impact that simply tells the player they have been hit, the audio will give any more contextual information.
<!--quoteo(post=1679821:date=May 30 2008, 10:15 PM:name=the_x5)--><div class='quotetop'>QUOTE(the_x5 @ May 30 2008, 10:15 PM) <a href="index.php?act=findpost&pid=1679821"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Yeah you're right it could have help make it even clearer, but I honestly didn't think it was that hard to understand. Do you mean for each damage type?<!--QuoteEnd--></div><!--QuoteEEnd-->I don't see why you have to have a hissy fit just because I don't like the overcomplexity of your idea. At least I have the decency not to stamp a big fat <b>Vote: <!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->NO<!--colorc--></span><!--/colorc--></b> on it.
This is your third sentence in the OP. Just read it and tell me it reads well. Try full stops, try commas, try presenting your ideas in coherent sentences. Try beginning in plain English and then going into technobabble once you know everyone is on the same page.
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->Yet in thinking of making ns_eis I’m reminded that unless I have trigger_hurt damage types need to include radioactive, freeze damage, and asphyxiation with accompanying sprites that I will not be able to prevent players from going into certain areas that would break immersion outside of just insta-gibbing them which would lead to frustration and still break immersion with an inexplicable cause of instant death.<!--QuoteEnd--></div><!--QuoteEEnd-->
As for your graph, it's fundamentally flawed because it doesn't cover enough areas and the results are heavily skewed if you posted it in the I&S forum versus the General forum, so how people answered is insignificant to me, especially in relation to this idea.
And FYI I'm more a proponant of WYSIWYG than KISS. One of the biggest issues with NS that I would like to see solved in NS2 is getting new players up to speed quicker (it was one of your pie chart options, actually). This doesn't mean dumbing the game down, it means introducing people by way of visual and audio indicators. Having lots of criss-crossing damage types that affect one thing and not another is totally the opposite to this, it's making NS more difficult to decipher, which is why I'm against your addon proposal but -in general- for the original idea, provided these HUD indicators are as non-intrusive as possible (i.e. a big red slash down my screen is the sort of thing I'd prefer to see in an arcade shooter than a team multiplayer shooter).
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->Personally I don't understand why you'd prefer getting hit by a flamethrower or the acid from a fade's acid rocket in NS2 to look like the same generic damage type as they do in NS...<!--QuoteEnd--></div><!--QuoteEEnd-->Where did I say this? They can look different, they just need to be minimal (e.g. colour flash) and not garish impact sprites.
Ok, idea addressed, you both need to bring it down a notch, the sparks of ideas should not turn into out of control flames. Please, for the sake of decent idea, could we please calm down? This is all just conjecture and conceptual anyways, no loss of resources for anyone.
Not quite the same, they have different indicator sprites.
<!--quoteo(post=1679888:date=May 31 2008, 03:45 PM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 31 2008, 03:45 PM) <a href="index.php?act=findpost&pid=1679888"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Why do you need a different blood sprite for a bullet hit and a swipe hit when you could rely on weapon_hit SFX for the contextual audio and keep the same general, non-intrusive visual effect for the HUD.<!--QuoteEnd--></div><!--QuoteEEnd-->
That's a good fix. Thank you.
<!--quoteo(post=1679888:date=May 31 2008, 03:45 PM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 31 2008, 03:45 PM) <a href="index.php?act=findpost&pid=1679888"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->You go on about how immersive these things are, but when people get stabbed IRL they don't see a bit red slash over their eyes. Things like this should be done more immersively and less intrusively, like a brief red flash on the moment of impact that simply tells the player they have been hit, the audio will give any more contextual information.<!--QuoteEnd--></div><!--QuoteEEnd-->
Point. Although understand I was just trying to give examples, not the final product. In fact, critical input like this is exactly one of the things an unfinished idea like this needs to improve it -- to temper it. Please continue.
<!--quoteo(post=1679888:date=May 31 2008, 03:45 PM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 31 2008, 03:45 PM) <a href="index.php?act=findpost&pid=1679888"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->I don't see why you have to have a hissy fit just because I don't like the overcomplexity of your idea.<!--QuoteEnd--></div><!--QuoteEEnd-->
<img src="style_emoticons/<#EMO_DIR#>/sad-fix.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad-fix.gif" />
I wish you could have heard my tone of voice then... I was mostly being jocular with a touch of defensive cynicism which was due to what seemed to be your outright rejection of the entire idea because it was too complex. I was thinking, how can he say this is more complex when I thought I made it clear that the revised list was a simplification of the original? I was hoping you'd be willing to work with me to fix and collaboratively improve the idea (i.e. teamwork), especially given the time and thought I had put into it the multiple ideas. Work with me on this Crispy! <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
<!--quoteo(post=1679888:date=May 31 2008, 03:45 PM:name=Crispy)--><div class='quotetop'>QUOTE(Crispy @ May 31 2008, 03:45 PM) <a href="index.php?act=findpost&pid=1679888"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->And FYI I'm more a proponant of WYSIWYG than KISS. One of the biggest issues with NS that I would like to see solved in NS2 is getting new players up to speed quicker (it was one of your pie chart options, actually). This doesn't mean dumbing the game down, it means introducing people by way of visual and audio indicators. Having lots of criss-crossing damage types that affect one thing and not another is totally the opposite to this, it's making NS more difficult to decipher, which is why I'm against your addon proposal but -in general- for the original idea, provided these HUD indicators are as non-intrusive as possible (i.e. a big red slash down my screen is the sort of thing I'd prefer to see in an arcade shooter than a team multiplayer shooter).<!--QuoteEnd--></div><!--QuoteEEnd-->
Ah, now at last I can see where you are coming from and why this idea must have seems adverse to what you wanted to accomplish. So basically you want visual GUI elements to be as minimalistic as possible and favor audio cues instead, right?
<!--quoteo(post=1679904:date=May 31 2008, 06:21 PM:name=CanadianWolverine)--><div class='quotetop'>QUOTE(CanadianWolverine @ May 31 2008, 06:21 PM) <a href="index.php?act=findpost&pid=1679904"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Garish impact sprites? I thought those little pictures/symbols in the corner ala HL1/HL2 was what was being proposed, in which case that little symbol is very newbie friendly, rather than an over simplified red border (did it flash the entire border or just the direct the hit came from in NS1, I think it was directional but I don't recall at the moment), so besides being intuitive because of being informative, the different types allow for a contextual atmosphere, where there is no doubt in a player's mind why they are taking a hit to the hit points.<!--QuoteEnd--></div><!--QuoteEEnd-->
Yes, that was the main idea. Then I started exploring related indicators that helped players get a better picture of what was happening.
The player can't feel injuries. So you have to help the player get the information of what the cause of the damage is, just like you explained.
So yes, you are correct in your understanding of what I'm trying to get across here CanadianWolverine.
<!--quoteo(post=1679904:date=May 31 2008, 06:21 PM:name=CanadianWolverine)--><div class='quotetop'>QUOTE(CanadianWolverine @ May 31 2008, 06:21 PM) <a href="index.php?act=findpost&pid=1679904"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->Ok, idea addressed, you both need to bring it down a notch, the sparks of ideas should not turn into out of control flames. Please, for the sake of decent idea, could we please calm down? This is all just conjecture and conceptual anyways, no loss of resources for anyone.<!--QuoteEnd--></div><!--QuoteEEnd-->
Ah I wouldn't worry. While I can't speak for Crispy, I'd imagine he is probably just like myself in that we both want to NS2 to be a fantastic success. Heck, I'm sure there will be many more disagreements over the best course of action in the time to come. It's human to try to defend the plan you came up with, and such opposing viewpoints can actually help prune, fix, and improve ideas into working solutions.
Am I passionate about wanting to help with NS2 with any options available to me? Haha, well of course silly! In fact, one of the things which has always impressed me about this particular community is the ability to work autonomously yet unified towards a common interest. It's this power of the community united that has helped evolve Charlie's initial idea about Natural-Selection into a widespread community and founded a next generation game development company. I say embrace the creativity and encourage the debate, because that's exactly what allows not only the game, but all of us here to become improved.
Yet, in order for this to work we ALL need to strive to be more open-minded towards new ideas (of course it helps when those ideas are well thought out and not crammed together in a single topic), and we need to strive to keep personal feeling out of the process of critiquing contrasting viewpoints and suggesting improvements.
I did not intend to come across as flaming anybody. I don't think Crispy meant to come across as that either. (but then again only he would know) -- just two passionate people with contrasting viewpoints on a relatively minor issue. I don't believe it's anything to get worried about. In fact there are many things I'm sure we completely agree on too. <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
Speaking to anybody reading this, I just wish people would work on me with these ideas. It's very rare for me to actually propose an idea, both because it's often already proposed and because it won't post it unless I felt it was important to take the time to think it through and share it. For this specific idea, it's ultimately about making clear distinctions as to what is causing the injury -- how best to let the player know what the damage type is that is causing the loss of hit points. The hazard indicator sprite related to the trigger_hurt entity was the origin for this idea, but it was expanded into an overall discussion on damage types, how to best indicate (visual or auditory), and even other ideas enabled from fixing the damage types.
Plenty more to discuss here and many more people's voices we need to hear from.
<img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" />
This hotheaded debate mainly stems from us having two slightly different viewpoints. x5 is heavily invested in the immersion side of NS, where as I am heavily invested in the multiplayer side. x5 is interested in improving the initial attraction for NS, which is undoubtedly it's setting and atmosphere. I am only interested in improving the atmoshpere if it provides some sort of intuitive explanation of the gameplay. A very good example of where x5 and I would agree is on the Onos: the Onos is big and give's the impression that it is a powerful Alien class, as does its purchase cost. The fact it is a crappy hit-and-run unit with barely any indimidation both breaks immersion and is incredibly unintuitive for new players, who will try to save 75 res to go for the 'best' class thinking it will give them an advantage against more experienced players.
On this topic, I want to see things that give information to the player quickly without requiring too much attention to be diverted from the multiplayer element. NS is a fast-paced game you play with sight and sound, so any visual or audio indicators need to be brief, intuitive and non-intrusive*.
* The exception to the rule is when a player has control over the visual indicator. E.g. with locational hazards, the player chooses to enter an area and stay there even if their visual and aural perception is somehow impaired. I would say that for hazardous areas this is acceptable because, unlike player-inflicted damage, the player chooses to risk the impairment in order to attain some goal. E.g. the player may enter a radioactive area and risk having a fuzzy HUD, crackly audio and taking damage to take a short-cut, reach a weld-spot, kill a weakened enemy or build in a hazardous area.
Now, what x5 is proposing is benefitial to both sides of the coin because it actually gives mappers tools to create lots of different hazards <i>with corresponding HUD damage indicators for the player</i>. (It's the last bit which is his idea for anyone still lost on this). The reason this would be good is it gives mappers a lot of different types of hazards that they could use to cordon off maps and to create dynamic hazardous areas that can be switched on or off via a weld panel.
But the presentation actually deals with two things and that's partly why it is confusing. I think the idea should be split into two partly for clarity, and partly bcause they deal with different parts of the game and code. One is controlled by mapper-placed entities and the FGD, the other is controlled by the core game code. So I'd suggest splitting it into:
- <i>Environmental hazard damage feedback</i>, and
- <i>Player-inflicted damage feedback</i>
This hotheaded debate mainly stems from us having two slightly different viewpoints. x5 is heavily invested in the immersion side of NS, where as I am heavily invested in the multiplayer side. x5 is interested in improving the initial attraction for NS, which is undoubtedly it's setting and atmosphere. I am only interested in improving the atmosphere if it provides some sort of intuitive explanation of the gameplay. A very good example of where x5 and I would agree is on the Onos: the Onos is big and give's the impression that it is a powerful Alien class, as does its purchase cost. The fact it is a crappy hit-and-run unit with barely any intimidation both breaks immersion and is incredibly unintuitive for new players, who will try to save 75 res to go for the 'best' class thinking it will give them an advantage against more experienced players.
On this topic, I want to see things that give information to the player quickly without requiring too much attention to be diverted from the multiplayer element. NS is a fast-paced game you play with sight and sound, so any visual or audio indicators need to be brief, intuitive and non-intrusive*.
* The exception to the rule is when a player has control over the visual indicator. E.g. with locational hazards, the player chooses to enter an area and stay there even if their visual and aural perception is somehow impaired. I would say that for hazardous areas this is acceptable because, unlike player-inflicted damage, the player chooses to risk the impairment in order to attain some goal. E.g. the player may enter a radioactive area and risk having a fuzzy HUD, crackly audio and taking damage to take a short-cut, reach a weld-spot, kill a weakened enemy or build in a hazardous area.
Now, what x5 is proposing is beneficial to both sides of the coin because it actually gives mappers tools to create lots of different hazards <i>with corresponding HUD damage indicators for the player</i>. (It's the last bit which is his idea for anyone still lost on this). The reason this would be good is it gives mappers a lot of different types of hazards that they could use to cordon off maps and to create dynamic hazardous areas that can be switched on or off via a weld panel.
But the presentation actually deals with two things and that's partly why it is confusing. I think the idea should be split into two partly for clarity, and partly bcause they deal with different parts of the game and code. One is controlled by mapper-placed entities and the FGD, the other is controlled by the core game code. So I'd suggest splitting it into:
- <i>Environmental hazard damage feedback</i>, and
- <i>Player-inflicted damage feedback</i><!--QuoteEnd--></div><!--QuoteEEnd-->
Now that's a great post!
Yeah that's kind of it, we are approaching NS2 from different priorities. Although I doesn't mean I think gameplay is not a high priority, I just feel that immersion and gameplay should work to coexist to give the player a truly memorable experience. (in fact you may be surprised how close our priorities are too) Different perspectives yes. I would have worded it as where Crispy is trying to simplify and minimalize the suggestions' designs for solid gameplay, where as I'm trying to steamline designs yet make them elaborate for gameplay depth -- which to me means: immersion/atmosphere, the "feel" of live combat gameplay being fluid/natural, and options/choices for players so they have multiple solutions to the same tactical problems.
Oh goodness, yes the onos. It's just not a tank and has become less so as the versions of NS progressed. (well except for v3.1, or was that v3.2, where I believe the onos got extra HP & armor which helped but didn't solve the major problems) And yes it does break immersion too.
Here's a way (shown with pseudo-code) this idea of fixing the damage types that could be used to <i>truly solve </i>the onos problem if you allow the souce code to become a bit more elaborate:
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#include "fix the damage types with additional idea"
//(meaning all damage in NS2 is not only described by magnitude & vector, but also the "damage_type" value)
#include "locational damage"
//(meaning shooting certain hitboxes on a model will cause damage to behave differently)
#include "WCIII / StarCraft style armor types"
//(let's say that there's flesh, metal, and bulletproof)
if ("damage is hitting the onos on the armor plates which are bullet proof")
{
if (damage_type == 2) //aka. "bullet"
{
setDamage(getDamage(this.attack)) = 0;
}
else
RETURN;
}
else
RETURN;</div>
BTW, when I say armor plates I mean this...
<img src="http://www.xzianthia.net/images/onos_leftside.jpg" border="0" class="linked-image" />
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->Now, what x5 is proposing is beneficial to both sides of the coin because it actually gives mappers tools to create lots of different hazards <i>with corresponding HUD damage indicators for the player</i>. (It's the last bit which is his idea for anyone still lost on this). The reason this would be good is it gives mappers a lot of different types of hazards that they could use to cordon off maps and to create dynamic hazardous areas that can be switched on or off via a weld panel.<!--QuoteEnd--></div><!--QuoteEEnd-->
Yay! <img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" /> You got the main goal of this idea. When I look at giving the player free range (if flying that is) to access any of the volume of the surface I have to keep the player from trying to exit that volume with a disincentive, yet the player needs to know that hey I'm freezing and suffocating here when I head this direction other wise they won't understand. (i.e. they could think another player is attacking them by mistake) Also, it would break immersion for players to camp in the freezing snow and ice, so they have to know that "hey it feels cold here". In the case you gave it could be one of those "hey that thing shocks you". I think the pinnacle of this could be a parasite that gives you a biohazard symbol, acid that gives you a chemical burn symbol, an exploding barrel or getting lit up by the flame thrower gives you a fire symbol, etc. which would be simple to execute if damages are simply tagged by what kind it was.
Crispy has a good point in that it needs to be streamlined and clean on the screen. Too many sprites is not only going to slow down the render of the client's view but can also lead to instability. There is a way to do both though, give the player the information and not make the screen a tacky mess of sprites. That's where J! comes in!
/me looks at J! and grins
<img src="style_emoticons/<#EMO_DIR#>/biggrin-fix.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin-fix.gif" />
Good suggestion on the organization of the pilot post btw Crispy, I'll go fix that now.
(I'm actually not innately/naturally good at organization; I'm too creative-minded. I have to put conscious effort into it.)
PS: Can somebody please find some good mono-chrome indicator sprites and make them the same 64x64 pixel size?
Fixing the "smaller kinks" is one of the main reasons the I&S is beneficial for this community: critical feedback from others helps fix, sharpen, cull, or extend the idea.
I attack Harimau's weak point... for MASSIVE DAMAGE! =]
I've seen a drop in general d**chebagery in the forums lately. There are quite a few actually well discussed topics right now.
<img src="style_emoticons/<#EMO_DIR#>/smile-fix.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile-fix.gif" />
So <i>anyways</i>... back to the topic.
What's the group's general consensus here?
What's the best, most efficient and effective, means to implement different damage types?
Could damage output values be "echo-ed" in the console when sv_cheats is on? That could <i>really</i> help playtesters out if they could log data on what kind of damage and the magnitude of it.
Anyway-
I think you've gone a little overboard on the idea. Yes i do think damage types are a good idea, but dont make it like Warcraft 3 or something....
It wont help the learning curve, and in the long run, itll just add frustration. For example "FFS, neither of my guns do much damage to that alien <img src="style_emoticons/<#EMO_DIR#>/sad-fix.gif" style="vertical-align:middle" emoid=":(" border="0" alt="sad-fix.gif" />"
I think NS1's damage types were fine;
-All guns do full damage to all aliens.
-LMG and pistol do normal damage to buildings
-HMG does half damage to buildings
-Shotgun does double damage to buildings
-GL does four times (IIRC?) to buildings
-Heavy Armors take 90% of damage to armor (IIRC?)
-Heavy Armors take 50% damage from OCs (IIRC?)
-Heavy Armor takes no damage from spore.
I think thats fine.
Having "weak points" and such has been discussed before, and I think it might add some interesting changes.
The key, as has been mentioned prior, is cluing the players in. Perhaps a quick page as you're evolving detailing strengths, weakness, and regions on the body that are of interest. As for the Marines a similar page on their deaths or while they're fighting, if their cross hairs hold over a part, it might glow slightly and a readout could appear on the HUD if it's special somehow.