mobarena / MobArenaPlaceholders

PlaceholderAPI expansion for MobArena and MobArenaStats.
5 stars 2 forks source link

Stats naming conventions #2

Closed Maroon28 closed 2 years ago

Maroon28 commented 2 years ago

Decide on how stats should be renamed, to separate them from the rest of the placeholders. Currently, they're mushed into each other. For example, the arena-specific stats and the rest of the arena-stats don't have any differentiating features, except for the tail-end of the placeholder. Some naming conventions that may be used are:

Will be using highest-wave here as a stat for example: %mobarena_global-stats_highest-wave% %mobarena_player-stats_highest-wave% %mobarena_arena-stats_<name>_highest-wave%

This naming convention follows closely with the command-based stats that are built into the plugin. I.E /ma player-stats etc. It may be more consistent and less confusing to pick this over other names.

Another possible one is this: %mobarena_stats_global_highest-wave% %mobarena_stats_player_highest-wave% %mobarena_stats_arena_<name>_highest-wave%

The primary advantage of using this is that it uses a more explicit naming convention when it comes to the stats integration.

So what are your thoughts on the matter? Do you prefer the first or the second?

Nesseley commented 2 years ago

I feel like the last one are much better; %mobarena_stats_global_highest-wave% %mobarena_stats_player_highest-wave% %mobarena_statsarena_highest-wave%

They say, what plugin? mobarena what do we show? stats global/player/arena sweet

We should probably also get a list toghether of the placeholders you have added so far, dissguss them and see if any are missing or should be changed :)

garbagemule commented 2 years ago

I do like the "namespaced" nature of the mobarena_stats_<type>_<stat> format. Maybe it's because it seems a bit simpler to implement, because it's very easy to just delegate a "section" or "area" to a specific component. If that area is as clear cut as this case is, even better. It means integration with MobArenaStats can be tucked away in its own little component. Neat!

Looking at the other placeholders, if we went with a format like mobarena_arena_<arena-slug>_<property>, it would probably help drive that structure home. The "arena" area has to do with general properties like the name and the arena's "state" (if that is sufficiently well-defined), settings that would help players understand that state like min/max player counts and timers, etc. Perhaps there could even be a "session" area for session-related properties like current player counts (live, dead, lobby, ready, etc.), current wave number (and type?), as well as current session stats for recreating the current "leaderboards" (which are really just a traditional man's scoreboards). Or maybe it's fine to just lump those into the "arena" area. But maybe it's just too confusing? Current wave is a session property and final wave is technically an arena property, but I imagine people who use final waves will also want to use them together with the current wave like 5/20. Some possible variations:

mobarena_arena_castle_current-wave
mobarena_arena_castle_session_current-wave
mobarena_session_castle_current-wave

mobarena_arena_castle_final-wave
mobarena_arena_castle_settings_final-wave

That might be a bit of a digression, but I think it's useful in trying to figure out how all the pieces can fit together neatly.

So assuming some sort of "arena" area, and possibly a "session" area, it does make sense to me to have a "stats" area for anything related to persistent stats that one might want to show in actual leaderboards or stats GUIs or stuff like that. It could be argued that arena stats belong under the arena "area", e.g. mobarena_arena_<arena-slug>_stats_<stat>, but I think it complicates things when we then talk about global stats and player stats.

Following the naming conventions of the MobArenaStats commands for recognizability isn't a bad idea either. Do we expect that people will use both the commands and the placeholders simultaneously? Every time I've brought up commands in the context of MobArenaStats, I've been met with mild contempt; "just make placeholders, commands are stupid". I never really know if that's just the opinion of a very vocal minority of expert users running arguably "impractical" server setups, or if it's anywhere close to consensus. On the other hand, players probably won't even see the placeholder names, so it's only server owners who have to deal with it, and they're probably used to that kind of inconsistency. Besides, maybe the MobArenaStats commands are wrong. Maybe they should be lumped under a generic /ma stats command? That's a different topic, but if the commands changed, the placeholders would have to change as well to remain consistent. Perhaps it's better to avoid going down that road?

Nesseley commented 2 years ago

Every time I've brought up commands in the context of MobArenaStats, I've been met with mild contempt; "just make placeholders, commands are stupid". I never really know if that's just the opinion of a very vocal minority of expert users running arguably "impractical" server setups, or if it's anywhere close to consensus.

This probably stems from the big servers going from sign-walls to join games into GUI's. There no more looking trough ten, maybe as many as 50 signs to find what you want, everything is pushed in the players face. Many servers want to be command-less, like my own. Instead of having a sign saying "type x to see your stats" and the player gets ALL the stats in the chat without any possibility to change what it looks like is considered bad and old nowadays. It's about people wanting to customize what they show and how they show it. Run up to a sign and type a lot of stuff...? naaaah, look at floating text? kawaii noices, players love it simple!

If you join any big minigame server today, you will be met with NPC's that if you click you automatically join a new game of that minigame. No more big hubs with sign-walls, no more parkour lobbys. It's fast and efficient, and most likely it keeps the players more interested. You can set the MobArena exit to look at a hologram of the stats and they'l love it! At least my players instantly started to fight about who got the most kills and ran happily after each wave up to the holograms.

Nesseley commented 2 years ago

This is how the plugin Parkour did their placeholders, which I found very nice to work with: https://a5h73y.github.io/Parkour/#/essential/placeholders

Maroon28 commented 2 years ago

Decided on the second option for the naming convention! Which is this:

%mobarena_stats_global_highest-wave% %mobarena_stats_player_highest-wave% %mobarena_statsarena_highest-wave%

It's definitely a lot cleaner than the other option!