The new "Custom Gametype Prefix System" could use some work

SoupBowler

Member
Recently there was an announcement on mod prefixes to custom gametypes posted here: https://mb.srb2.org/announcement.php?f=&a=43

I'd like to give my thoughts on it since I believe there are some consequences to this new system.



To be fair, there are some pros to this.

1. You can just type "Z" and all the base resource wads and pk3 add-ons will appear for you to choose, making finding them a tad quicker

2. You don't have to worry about memorizing the name of the base resource itself when scrolling through your add-ons or DOWNLOADS folders.



I'm pretty sure that's why this system was made, but if I am going to be honest I see more negatives that arise overall.

1. Having the base resource of the custom gametype itself start with the letter Z means that they will appear last in the search list if you are using that custom gaemtype's own specific prefix instead to find it. If I type "Tr_" to find the Tron gametype and I have a ton of Tron map wads and other expansions, then the gametype will appear at the bottom. Why not have it be a higher letter such as G for "Gametype", or even "A" so it appears first?

2. If all custom gametypes use the same starting prefix, then if there ever become a surplus of custom gametypes, scrolling through to find them will take just as long as finding certain character or level wads for Vanilla Srb2 or Srb2Kart (although this is very unlikely as custom gametypes are not super common).

3. According to the announcement:
A judge will work out what new prefix will be used during the submissions process
This essentially means that the creator of the custom gametype cannot pick their own prefix. If they have planned ahead of time what their own prefix would be, and they submit multiple mod files to the submissions page at once, they might have to rename them all if a judge says so. This can cause unnecessary delays if the prefix does not currently cause conflicts.

4. Judges have to cross-examine custom gametypes approved by other judges just to make sure they do not use the same prefix. Luckily, the prefix can be a two letter ID, so the chance of this happening for custom gametypes made for the same main game would be low. But let's say a Judge gives a custom gametype made for Srb2Kart one prefix, without already knowing that prefix exists for vanilla Srb2.
While these files won't technically get confused on the message board since both Srb2 vanilla and Srb2Kart have different mod release sections, if people lump these mod files in the same folder for backup storage reasons or share them on other sites or programs such as Discord, then there is a good chance people won't know what the files are exactly for unless they are told beforehand. This may lead to people intentionally giving a file with the right prefix, but for the wrong game either as a prank or for other potentially suspicious reasons.

5. For some reason, typing a single letter in the search bar does not guarantee that you will get all mods labeled with a prefix to appear first.
srb20157.png
So in reality, if you wanted to scroll through all the custom gametype add-ons in your folders, you would have to remember either their name or custom prefix anyway. The "Z" doesn't help you find what you need.

6. People are just gonna remember the name of the custom gametype before their prefix. If they want to find their Thokker add-on, they'll probably try typing "Thokker" first on instinct. A prefix is just more to commit to memory. And, again, if there are a lot of them, people will forget what they are much more often.

Now, I do not think that this system is entirely a bad idea. However at the very least, I do not think "Z" should be the letter used for base resource files for custom gametypes. In fact, if anything I'd argue they should be used for expansion add-ons instead so they appear second when searching for the custom prefix alone. But at that point it is just there to add clutter.

I don't have a full solution that would be best for everyone, but I can at least point out these issues and explain why the complexity would make things worse. I hope that the Judges and Admins (whoever made this decision) would please reconsider this new system.
 
3. According to the announcement:

"..."

This essentially means that the creator of the custom gametype cannot pick their own prefix.

I believe there is some leniency with this among the judges. I believe you have the ability to suggest a two letter prefix to use among your gametype modification. However, as you mentioned, judges have to cross-examine custom gametypes approved by other judges just to make sure what you want doesn't use the same prefix. At the end of the day, while they do make the final call, my gut feeling tells me they will work with you on a prefix; at least this is how it was in my case.

Can it be reworded? Sure. Although, I personally think the Z_* is essential so it can be differentiated as a 'Resource' file, and one that is "Last" in the file list when searching for your preferred gametype.
 
Last edited:
It's possible to change the addon menu search to Prefix mode, but this is a very out-of-the-way option and is absolutely less useful as a default than the Substring finder. Seconding these suggestions.
 
Alrighty, some explanations are in order.

First, when I say that a prefix will be assigned during the submission of the base resource, I mean that a judge and the submitter will discuss it and choose it together.

Second, grouping the base resources together is wholly intentional - the idea is that you don't have to remember what the prefix is (or learn what it was to start with, supposing that you got the files from a netgame) in order to quickly find the wads you need. The gametypes are all in one place, and the base resource tells you where the extensions are.

...and if you *do* remember, you can just type in the full prefix for the base extension, anyhow.

A leading Z as a prefix was chosen under the false premise that the file list could wrap around, so I assumed just pressing up in the correct folder would bring your right to it. This would remain true even if files not following the schemas used on the board got involved with leading underscores or something like that, since special characters and such would be sorted before "A".

However, since the list doesn't wrap, that leaves the current schema hanging dry a bit. Right now only Flame's custom gametypes have switched over, so I'm open to changing it, and in retrospect should have made this an open process rather than a closed discussion among staff like it has been.


So, changing the Base Resource prefix from leading Z to trailing Z: Maybe, but probably not. Power users could work around this by searching for "Z_" which has the advantage over the current system of being less likely to bring up unrelated files at the same time which is a definite plus, but for anyone who doesn't figure that out, things go a bit less smoothly.

We're still early on so we can't really say how many gametypes there are going to be, and my biggest worry there is simply that remembering them all will be a pain. That might not seem like a big deal right now, but there's no shortage of people with multi-gigabyte large SRB2 folders beating around - sooner or later, just scrolling through your list scanning for that one file is going to suck ass. So, the base resource prefix is unlikely to be moved from being the leading character.

Changing it from Z to A, though, I'm definitely considering. This is something that might be addressed with a change to the addons menu itself by putting in wraparound, but even if that does happen I can't deny that it's less scrolling and more intuitive to simply have the base resource always be along the way to the extensions for it, rather than being way past it in a flat file structure. Browsing for it without a detailed workflow for filtering is also much faster this way.


Using full words for custom gametype prefixes was considered, but I'm skeptical of it simply because it would mean taking up a lot more room on the filename, when the space for displaying it honestly isn't all that much. The screenshot in the opening post of this thread shows a filename being truncated even as-is. I'm not dead set against it, but especially when concerning multi-map type base resources, using up all that space every time doesn't seem like the best idea when the base resource can tell you the prefix and act as a way to find it by name already.


Something that hasn't been set in stone yet concerns how some custom gametype mods have more than one type of map - there's a Battle mode map in releases right now that has separate capture the flag and capture point levels, for example. The mod ID isn't just "this is a [gametype] map", but the beginning of a namespace for that mod so that it can have its own additional map letters without having to worry about vanilla or other mods.

For the moment, extensions for mods with only one gametype can get away with just having the mod ID (eg, Tr_), but I've been on the fence about whether there should always be a map letter in addition to that just in case more types are added later (even though this would make most extension filenames more annoying to type out), or if instead non-map extensions should have a dedicated letter to remove ambiguity, or just to allow the ambiguity and let the main part of the filename sort it out.


We're honestly early in enough that we could pivot on any of these.

Lastly, we're strongly considering dropping case sensitivity from the filename conventions. It was initially done this way so that case could be used to enhance readability (and avoid capital I/lowercase l confusion), especially with eyes towards custom gametypes. Mods having two letters in the ID is just easier to parse when you also throw in additional letters for a map type. BaFP_ for battle/ctf/capture point instead of BAFP_, as an example. But the question of "is this worth it" remains, and there's been a lot of concern that the answer to that is "no". Options being considered on that front are to drop all requirements, require it only for custom gametypes, or to retain all requirements. Unlike with the rest of the stuff up there though, we can drop case requirements at any time without making it more of a hassle to do so, so there's not the same hurry to hash it out.


I might make a new thread for this later, or just rename this one. For now, anyone who wants to respond to that or offer suggestions can feel free to do so here.
 
Last edited:
Changing it from Z to A, though, I'm definitely considering. This is something that might be addressed with a change to the addons menu itself by putting in wraparound, but even if that does happen I can't deny that it's less scrolling and more intuitive to simply have the base resource always be along the way to the extensions for it, rather than being way past it in a flat file structure.

I have a better idea: Change Z to 1.

The ingame addon browser prioritizes numbers before letters, and a number prefix has no chance of conflicting or being confused with any other kind of prefix indicator.

Alternatively, if we were prepared to whip out a quick exe patch, we could make it so that special characters are prioritized above all else. Putting a ".", "!", or "~" is a common way of sorting files in the Windows browser, so it seems reasonable to try and match standard conventions.
 
Bad news: There's literally no sorting performed on the addons menu's files, beyond some rudimentary efforts to put folders first. This is the order they're retrieved from Windows' file handles. You will not find it easy to sort it in this fashion.

I've got some thoughts on the filename guidelines but I'll ruminate on them some more before posting them, just figured you should know this.
 
I just tested an "!" as a prefix and it caused the file to show up first in the list.


Assuming most/all browser directories sort this way by default, I really don't see what's preventing us from just using "!Tr_" or "!Ba_" to cause them to show up first.
 
What's the importance of grouping all of the gametypes together? If you're looking to play a custom gametype, typing "thokker" into the search bar will find it a lot quicker than typing "Z", scrolling past any level addon that puts the "Zone" in the filename, and searching through the custom gametypes to find it will. The addons menu remembers what file you had selected as you clear out your search terms too, which means, if your filename scheme groups base resources and expansions together, it becomes incredibly easy to look at your expansions right after the base addon is loaded.

To repeat myself from before, I think a naming scheme such as `TkB_BaseResource` and `TkX_ExpansionResource` would work for exactly the reasons I outlined above (and in that suggestions post). X in this case being either an extension of category letters a'la vanilla or literally the letter X, either would work. (I'd love the base resource to just be `Tk_BaseResource`, but since the sorting isn't necessarily consistent wrt symbols, it would show after expansions on some OSes.)

That said, if you're assuming a given filename sorting in the addons menu for the sake of navigating this stuff, the game should probably explicitly sort things in whatever order benefits that instead of letting the OS decide.
 
Last edited:
One of the benefits of the GUI addons menu is that you can properly navigate through subfolders - why not, e.g., have all the Thokker base and expansions in /Addons/Thokker? The MB already requires most addons to be uploaded in a compressed form. A zip could have that subfolder structure built-in - extract it to Addons, Windows merges the Thokker folder and you've got all those WADs organized in a nice subfolder that appears in the top of the list.
 
why not, e.g., have all the Thokker base and expansions in /Addons/Thokker? The MB already requires most addons to be uploaded in a compressed form. A zip could have that subfolder structure built-in - extract it to Addons, Windows merges the Thokker folder and you've got all those WADs organized in a nice subfolder that appears in the top of the list.

Pk3's at the very least can be uploaded without needing to be placed within a zip file. So requiring all custom gametype add-ons to be uploaded as zips just to have their own subfolders on standby would add an extra step of extraction. But that's a pretty minimal downside.

The real issue I take from this idea is that it takes away even more importance over these gametypes having their own prefixes in the first place. If the gametypes are being separated from my giant add-on lists by default, then why use a prefix besides maybe one for base resources? There's also a chance that people may not want tons of subfolders for different add-ons they download so they can search them up faster using their own PC's folder search function.

As for Prime's comment, I greatly appreciate you coming out about this. I want to take a bit of time to assess what you wrote down because I do feel like this system needs improvement before everyone becomes use to it. Thank you for reading my concerns.

First, when I say that a prefix will be assigned during the submission of the base resource, I mean that a judge and the submitter will discuss it and choose it together.

I did not get that immediately from the original announcement. I'm sorry! I suppose it could have been worded better, but this is still good to hear!
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top