• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] Item Stat System survey

Status
Not open for further replies.
Level 16
Joined
Dec 15, 2011
Messages
1,423
Hello Hivers. I am here today to ask for your opinion concerning an issue of mine. This is more or less a personal matter and I beg of you to ignore this and leave if your current intention is to criticize me for attracting the public unnecessarily. Normally I would do all the dirty work myself but in this case it seems like this has gotten a bit out of hand and I am not entirely sure what to do next, for taking the wrong step could bring about unpredictable consequences. I am doing this for other mapmakers, not me so I think it is best to have a look at your opinions.

Without further ado, here we go.

Okay so this is a system of mine created with the general purpose of item stat handling. Recently I have been receiving some feedback expressing the need for a capability to handle user-made stats (they also claimed that the flexibility is insufficient). This in turn would require a complete rework of the code and the alteration of many features currently present. In your judgment,
  • Do you think this system is flexible enough at its current state?
  • Is the feedback correct and I should be implementing soft stats handling also?

Your post should include answers to the above questions and, if possible, a feedback concerning the system itself. Thanks for taking your time and participating in this survey.
 
Level 19
Joined
Aug 8, 2007
Messages
2,765
It is muzzel. He is a noob? I think not.

Meh, im on your side.

1. You cant have stats like for example +20% damage, can you?
2. It only handles item stats, what about buffs?
3. It doesnt support "soft stats", like Spellpower or other user-defined stats.

1) That cant physically be added as the only things that provide +% are roar and command aura, both of which do not stack
2) There is no buff detection system, all applied buffs would need to be applied via trigger
3) Why are "soft stats" even being applied with this system? All "soft stats" should be handled with an external system because they are dfferent for every map

also, you should make your items stats display on a multiboard... i mean a BIG one for all 6 items
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
1) That cant physically be added as the only things that provide +% are roar and command aura, both of which do not stack

only way create more level for ability what is crap

Why are "soft stats" even being applied with this system? All "soft stats" should be handled with an external system because they are dfferent for every map

i agree, also i am pretty sure not everybody use spell power who use damage/hp bonus coz have peoples who base on int the magic damage if want make custom damage, have few people who use something pet booster too but this also not common stat.
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
1) That cant physically be added as the only things that provide +% are roar and command aura, both of which do not stack
you dont need a %dmg ability to create a %dmg stat. You only have to store the values for absolute damage and percentual damage as separate value, when one gets changed you calculate the the resulting total damage and apply it using your dummyabilities. Important is that you store the values separately, but you dont need so apply them separately.

2) There is no buff detection system, all applied buffs would need to be applied via trigger
just define an interface that can be used by a buff system to use your systems underlying stat handler.
Another even cleaner possibility is to split your system: write a system that handles stats, and another one that maps the items to stats. Then a buffsystem that handles buffs similar to your itemsystem can be written based on the stat handler.
3) Why are "soft stats" even being applied with this system? All "soft stats" should be handled with an external system because they are dfferent for every map
Softstats should not be hardcoded in your system, you should only provide a simple way to add them. The reason why you dont want two separate systems for handling normal stats and softstats is that you want to access them in the exact same way. You dont want to use different functions for registering normal stats and softstats to the same item, it should all look the same.
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
you dont need a %dmg ability to create a %dmg stat. You only have to store the values for absolute damage and percentual damage as separate value, when one gets changed you calculate the the resulting total damage and apply it using your dummyabilities. Important is that you store the values separately, but you dont need so apply them separately.
Wouldn't this require a more extensive setup on the user's part too?
Base damage is different, attribute damage bonus can change, buffs/abilities can add damage. All of this has to be set by the user, which makes it a pain to set up.

Softstats should not be hardcoded in your system, you should only provide a simple way to add them. The reason why you dont want two separate systems for handling normal stats and softstats is that you want to access them in the exact same way. You dont want to use different functions for registering normal stats and softstats to the same item, it should all look the same.
Hmh, wouldn't a separate system with wrapper be better?
Then you can leave out the softstat system if you don't need it, but can implement it at any time and it will immediately work with Doomlord's item system.


Personally, I think Doomlord's system is just fine and it does exactly what it is meant to do, in a good way.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Softstats should not be hardcoded in your system, you should only provide a simple way to add them. The reason why you dont want two separate systems for handling normal stats and softstats is that you want to access them in the exact same way. You dont want to use different functions for registering normal stats and softstats to the same item, it should all look the same.

i guess where have more "soft" stat, there the items also have more stat, so so much redudant function call if u declare each stat 1by1
 
I'd say discard the idea (doesn't mean you need to delete your system, it might be useful for some people).

Item registry systems are highly map-specific and should be tailor-made for the specific map. As much as I embrace modularity and flexibility in systems: The more flexible and modular a system gets, the slower it gets.

GUIers will probably never write a complex registry system for items nor would they use one even if there is one present, so it doesn't really matter. If anything, they'd use a global hashtable for their items, which is totally fine and does the job without any complex scripts.
JASSers will have no trouble writing (and hardcoding) their own registry, which will do exactly what they need (and nothing on top of it), which means they won't use it either.

Sometimes, a good idea clashes with reality. That's perfectly normal. There are some things you will always want to do-it-yourself for your map. Item handling is probably and most likely one of them.
 
Level 16
Joined
Dec 15, 2011
Messages
1,423
Thanks for sharing your opinion.

I would like to share two opinions of mine that are open to question. Firstly, GUIers who don't know about item registry notwithstanding, my system is convenient enough for them to use without much hassle (custom scripts, global boolean vars and whatnot). It remains true that this isn't designed with complete GUI-friendliness in the first place but mediocre GUIers can still manipulate it freely to some extent.

The second and last point is that I believe my system, save for the tedious implementation process, has only minor issues with performance and importing. The usage is also quite extensive. Thus I reckon it doesn't fall into "high modularity but low performance"?

I respect your words and reputation. However there do exist coders that don't belong to your two groups. This system could be useful for them so the idea should stay.

If my argument is incorrect somewhere, please show me. Thanks for reading.
 
Last edited:
Level 37
Joined
Aug 14, 2006
Messages
7,601
I'd say discard the idea (doesn't mean you need to delete your system, it might be useful for some people).

Item registry systems are highly map-specific and should be tailor-made for the specific map. As much as I embrace modularity and flexibility in systems: The more flexible and modular a system gets, the slower it gets.

GUIers will probably never write a complex registry system for items nor would they use one even if there is one present, so it doesn't really matter. If anything, they'd use a global hashtable for their items, which is totally fine and does the job without any complex scripts.
JASSers will have no trouble writing (and hardcoding) their own registry, which will do exactly what they need (and nothing on top of it), which means they won't use it either.

Sometimes, a good idea clashes with reality. That's perfectly normal. There are some things you will always want to do-it-yourself for your map. Item handling is probably and most likely one of them.

Agreed.
 
Status
Not open for further replies.
Top