View previous topic :: View next topic |
Author |
Message |
dewww God like!
Joined: 29 Dec 2006
|
Posted: Tue Mar 22, 2011 11:52 pm Post subject: Custom respawn timers for item categories |
|
|
This is a thing that has been bothering me for some time. A standard 30s timer for respawning items creates huge balance issues if the map sports "unfair" items like blue armors, spheres, etc. It can get FAR more dominating in 1on1 than even Quake3. So after a talk with Kilgore, I propose this:
The reasonable minimum is three item groups with custom respawn timer settings. These would be
* weapons (to make altdeath truly feasible!)
* standard items (including green armor and berserk)
* mega items (blue armor, all spheres, the other weird crap)
The timer itself should be customizable manually, although the default settings could perhaps look like 10s for weapons, 30s for items and 120s for mega items. Maybe, I'm just guessing with that right now.
Such a feature could massively improve NS duels and perhaps other item respawn mods as well. |
|
Back to top |
|
|
Evolution Wicked Sick!
Joined: 06 Sep 2005
|
Posted: Mon Aug 13, 2012 8:33 pm Post subject: |
|
|
Bumping for hope and love and stuff. |
|
Back to top |
|
|
phenex2 Unstoppable!
Joined: 10 Jan 2008
|
Posted: Tue Aug 14, 2012 9:32 pm Post subject: |
|
|
1.09.01 or later. it is much more work than one would expect.
in the meantime ... could someone sort all items into the proper spawn classes?
here is what i got so far:
Quote: | weapon_respawn_time
item_respawn_time
Doom only:
- AAllmap
- ABackpack
- AArmorBonus
- AGreenArmor
- ABerserk
- ARadSuit
- AInfrared
Heretic only:
- ASuperMap
- ABagOfHolding
- ASilverShield
- AArtiTimeBomb
- AArtiEgg
- AArtiTeleport
- AArtiHealth
- AArtiTorch
megaitem_respawn_time
Doom only:
- ABlueArmor
- AInvulnerabilitySphere
- ASoulsphere
- AMegasphere
- ABlurSphere
Heretic only:
- AEnchantedShield
- AArtiInvisibility
- AArtiTomeOfPower
- AArtiSuperHealth
- AArtiFly
- AArtiInvulnerability
|
maybe move ammo into weapon spawning? anyways. leave comments please. |
|
Back to top |
|
|
Kilgore Air Cavalry
Joined: 17 Jun 2003 Location: Up the river
|
Posted: Wed Aug 15, 2012 9:24 am Post subject: |
|
|
The only way I'd agree to that is if those values can be adjusted at the wad level ONLY and not via server CVARs; same logic as wanting standardized weapons / movement. Otherwise, it will be a disaster. |
|
Back to top |
|
|
dewww God like!
Joined: 29 Dec 2006
|
Posted: Wed Aug 15, 2012 4:45 pm Post subject: |
|
|
Kilgore wrote: | The only way I'd agree to that is if those values can be adjusted at the wad level ONLY and not via server CVARs; same logic as wanting standardized weapons / movement. Otherwise, it will be a disaster. |
you mean like the location info for sitrep stored in a lump/external file? so zdaemon would just enable custom respawn timers, but everything else would have to be defined explicitly by "the mapper"?
cause i'm okay with that. :) |
|
Back to top |
|
|
phenex2 Unstoppable!
Joined: 10 Jan 2008
|
Posted: Wed Aug 15, 2012 6:41 pm Post subject: |
|
|
yep. the idea is that the custom timers will we defined in some lump (maybe dehacked or mapinfo). so you'll load some respawntimes.wad on the server so the change is more obvious.
are the classes i defined above ok? or should ammo go to weapon maybe? |
|
Back to top |
|
|
Kilgore Air Cavalry
Joined: 17 Jun 2003 Location: Up the river
|
Posted: Wed Aug 15, 2012 7:04 pm Post subject: |
|
|
I mean any method that works only via a wad so such changes are obvious (since a loaded wad is more obvious than some value in a server cvar). In a way, consider it similar to the changes you can do to weapon behavior via dehacked: you need a wad to do them rather than a cvar, and people can decide if they want to play with modded weapons/timers simply by looking at the loaded wads. Otherwise, I can easily imagine certain people using non-standard respawn timers for rather unsavory purposes. |
|
Back to top |
|
|
dewww God like!
Joined: 29 Dec 2006
|
Posted: Wed Aug 15, 2012 9:01 pm Post subject: |
|
|
cool. it might be a more robust/less cluttering solution anyways, because the cvars would keep accumulating.
phenex2 wrote: | or should ammo go to weapon maybe? |
NAY! it's fine as it is. weapons themselves would be the tricky part - should secondary pickups give you the same amount of ammo as the first time? i personally don't think so, they should give you bare minimum - perhaps normal singleplayer amounts (1 bfg shot, 2 rox, etc.). however this might be a discussion for a separate thread?
back to your setup - should invul respawn at all? i'm not sure myself and my answer would probably change with my mood. |
|
Back to top |
|
|
EarthQuake Wicked Sick!
Joined: 02 Apr 2004 Location: Athens, Ohio. Dieblieber gonna getcha!
|
Posted: Wed Aug 15, 2012 11:21 pm Post subject: |
|
|
This is problematic, because certain items can fall within multiple groups and the classification ZDoom uses doesn't quite make sense from a player's standpoint.
For example, a soul sphere could count as a health item, but could also count as a powerup. Additionally, I don't see blue armor as being a powerup, but just another class of armor.
ZDoom has actors classified like so (with arrows showing inheritance):
Code: | Ammo
--> BlasterAmmo
---->BlasterHefty
--> Cell
----> CellPack
--> Clip
----> ClipBox
--> CrossbowAmmo
---->CrossbowHefty
--> GoldWandAmmo
----> GoldWandHefty
--> MaceAmmo
---->MaceHefty
--> PhoenixRodAmmo
----> PhoenixRodHefty
--> RocketAmmo
---->RocketBox
--> Shell
----> ShellBox
--> SkullRodAmmo
----> SkullRodHefty
Health
--> CrystalVial
--> HealthBonus
--> Medikit
--> MegasphereHealth
--> Soulsphere
--> Stimpack
Armor
--> BasicArmorBonus
----> ArmorBonus
--> BasicArmor
----> BlueArmor
----> EnchantedShield
----> GreenArmor
----> SilverShield
HealthPickup
--> ArtiHealth
--> ArtiSuperHealth
BackPackItem
--> BackPack
--> BagOfHolding
PowerupGiver
--> ArtiFly
--> ArtiInvisibility
--> ArtiInvulnerability
--> ArtiTomeOfPower
--> ArtiTorch
--> BlurSphere
--> Infrared
--> InvulnerabilitySphere
--> RadSuit
CustomInventory
--> ArtiEgg
--> Berserk
--> Megasphere
These are listed separately because they aren't derived from any classes other than "Inventory":
ArtiTeleport
ArtiTimeBomb
I didn't list weapons because there's no sensible way to treat them differently. |
As you can see, there is no technical way to classify the actors in a way that makes sense, and any sort of obvious classifications like "does it give armor?" or "does it give health?" will fail too because those conditions will overlap on some items. You either have to make some solid classifications yourself (by having 3 or 4 general groups), or pretty much let each actor have it's own respawn time property (such as a DeHackEd property (remember we can already set an item to never respawn by using the DROPPED flag)). |
|
Back to top |
|
|
phenex2 Unstoppable!
Joined: 10 Jan 2008
|
Posted: Thu Aug 16, 2012 12:00 am Post subject: |
|
|
Thanks for the detailed inheritance tree. Don't worry about the implementation. I checked and was aware of the overlap, hence: phenex2 wrote: | 1.09.01 or later. it is much more work than one would expect. |
It is clear that this needs careful coding and some thinking. I suppose we'll add sub dummy classes to separate the three categories. |
|
Back to top |
|
|
Ronald Rontard
Joined: 17 Aug 2005 Location: Netherlands Clan: [QnB]
|
Posted: Thu Aug 16, 2012 6:40 am Post subject: |
|
|
I am not sure if this is a silly thought or not, but why not make the respawn timer item-specific instead? For example:
Code: |
Armor Bonus --> 10
Green Armor --> 30
Blue Armor --> 60
|
Items that are not listed use the standard respawn time of 30 seconds. |
|
Back to top |
|
|
Sr69Mm-jC Unstoppable!
Joined: 21 Jul 2011
|
Posted: Thu Aug 16, 2012 10:29 am Post subject: |
|
|
I personally like your idea a lot Ronald. Could just be an extra dehacked option in Thing definition. What dewww suggested in first place would be easily achieveable with this but it could also give mappers/modders some more freedom. And if the respawn time isn't specified for some item, it could default to item_respawn_time value. |
|
Back to top |
|
|
Kilgore Air Cavalry
Joined: 17 Jun 2003 Location: Up the river
|
Posted: Thu Aug 16, 2012 1:17 pm Post subject: |
|
|
Seems to me that Ronald's suggestion is the simplest and most flexible. I'm not a mapper, but it looks like a special thing property (in dehacked perhaps) might work well. |
|
Back to top |
|
|
Cybershark Spamming!
Joined: 05 Jan 2005 Location: off the grid, but still fighting for the users!
|
Posted: Thu Aug 16, 2012 1:49 pm Post subject: |
|
|
Roland wins!? |
|
Back to top |
|
|
Kilgore Air Cavalry
Joined: 17 Jun 2003 Location: Up the river
|
Posted: Sat Aug 18, 2012 3:13 am Post subject: |
|
|
Code: | 74. Implemented a new DeHacked thing property for items: "Respawn time",
it takes a tic value, which if bigger than zero, overrides the respawn
delay for that item.
|
|
|
Back to top |
|
|
EarthQuake Wicked Sick!
Joined: 02 Apr 2004 Location: Athens, Ohio. Dieblieber gonna getcha!
|
Posted: Sat Aug 18, 2012 3:22 am Post subject: |
|
|
Kewl. |
|
Back to top |
|
|
|