ZDaemon Forum Index ZDaemon
Client/Server DOOM
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Custom respawn timers for item categories

 
Post new topic   Reply to topic    ZDaemon Forum Index -> Implemented Requests
View previous topic :: View next topic  
Author Message
dewww
God like!


Joined: 29 Dec 2006

PostPosted: Tue Mar 22, 2011 11:52 pm    Post subject: Custom respawn timers for item categories Reply with quote

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
View user's profile Send private message
Evolution
Wicked Sick!


Joined: 06 Sep 2005

PostPosted: Mon Aug 13, 2012 8:33 pm    Post subject: Reply with quote

Bumping for hope and love and stuff.
Back to top
View user's profile Send private message Send e-mail
phenex2
Unstoppable!


Joined: 10 Jan 2008

PostPosted: Tue Aug 14, 2012 9:32 pm    Post subject: Reply with quote

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

  • AWeapon


item_respawn_time

  • AHealth
  • AAmmo

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
View user's profile Send private message
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Wed Aug 15, 2012 9:24 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
dewww
God like!


Joined: 29 Dec 2006

PostPosted: Wed Aug 15, 2012 4:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
phenex2
Unstoppable!


Joined: 10 Jan 2008

PostPosted: Wed Aug 15, 2012 6:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Wed Aug 15, 2012 7:04 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
dewww
God like!


Joined: 29 Dec 2006

PostPosted: Wed Aug 15, 2012 9:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Wed Aug 15, 2012 11:21 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
phenex2
Unstoppable!


Joined: 10 Jan 2008

PostPosted: Thu Aug 16, 2012 12:00 am    Post subject: Reply with quote

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
View user's profile Send private message
Ronald
Rontard


Joined: 17 Aug 2005
Location: Netherlands Clan: [QnB]

PostPosted: Thu Aug 16, 2012 6:40 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Sr69Mm-jC
Unstoppable!


Joined: 21 Jul 2011

PostPosted: Thu Aug 16, 2012 10:29 am    Post subject: Reply with quote

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
View user's profile Send private message
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Thu Aug 16, 2012 1:17 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
Cybershark
Spamming!


Joined: 05 Jan 2005
Location: off the grid, but still fighting for the users!

PostPosted: Thu Aug 16, 2012 1:49 pm    Post subject: Reply with quote

Roland wins!? Surprised
Back to top
View user's profile Send private message Visit poster's website
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Sat Aug 18, 2012 3:13 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Sat Aug 18, 2012 3:22 am    Post subject: Reply with quote

Kewl.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    ZDaemon Forum Index -> Implemented Requests All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group