Quake3World.com
https://www.quake3world.com/forum/

The importance of file naming schemes
https://www.quake3world.com/forum/viewtopic.php?f=10&t=20040
Page 1 of 1

Author:  Foo [ 05-07-2006 11:53 AM ]
Post subject:  The importance of file naming schemes

Just thought I'd pen a quick rant for anyone releasing beta levels - Please please please please pweeeeeeze take the time to name the non-final versions of your work with a DIFFERENT filename than the finished version.

I'm currently working on a version of files.quake4world.com that transcends this issue, but with the autodownload systems implemented in many new games (I.E. Not getting an addon directly from the server in all cases) you can't be sure that 2 files with the same name are going to be the same file.

We've seen a whole ton of file submissions to files.quake4world.com over the past week or two which were all different beta versions of the same levels, and all with the same filename. This isn't just a rant because files.quake4world.com can't cope, though. It's necessary to name non-final files uniquely to save confusion for everybody, and to enhance the uptake of your maps when they're released.

Noone likes having to trawl for the right version of a file just to play a game.

/rant

Author:  AEon [ 05-07-2006 12:18 PM ]
Post subject: 

I just downloaded some of the more common custom DM files for Q4, and the overall naming:

map_<mapname>.pk4

seems to work. So basically you would be suggesting to add a version tag like:

map_<mapname>_<version>.pk4

e.g. map_aeglow_b2.pk4 (beta 2).

Hope that indeed catches on.

Author:  Foo [ 05-07-2006 12:51 PM ]
Post subject: 

In all honestly I don't care if it's called map_aeglow_£OITRJHWNWEGWNBGNWEG.pk3

as long as it's not the same name as the final. Or any other different file.

It's as soon as you get 2 files with different contents and exactly the same filename that everything gets really dumb.

Author:  Hex [ 05-07-2006 03:15 PM ]
Post subject: 

Totally agree with this idea of naming betas as such. When you go beta1 or beta2, or final - the pk4 filename needs to be different for each release.

Guess what else. Don't use uppercase letters.

The q4 autodl passes everything to the ftp/http handler in lower case. SO if your pk4 has capital letters in its filename, and your autodl location is case sensitive (apache, vsftpd) then the autodl fails.

sigh.


further explanation by example: new pk4 release is filename 453_Final.pk4.

The q4 audodl will tell the client to go get 453_final.pk4 (no capital F) even though the q4server cfg file has the proper entry:

set net_serverDlTable "q4base/453_Final.pk4"

So if the http or ftp site is case sensitive (as the very common apache and vsftpd for linux are) the autodl fails because the filename with the small f does not exist.

All that being said, I changed an example filename from F to f and the checksum (the 0xb132cb233 number that tells the engine the pk4s match) is the same. So it looks like q4server admins can just rename the file to all lowercase at their autodl location and all will be ok.

Author:  Foo [ 05-07-2006 03:18 PM ]
Post subject: 

That's actually quite good. You just solved a problem with files.quake4world.com which I was in 2 minds about how to fix.

I can just set all file names lowercase.

Author:  AEon [ 05-07-2006 10:03 PM ]
Post subject: 

Hope to remember this thread, and then add a map naming Q&A in the Q4 FAQ... possibly someone will read it :)

Author:  MegaMan44 [ 05-09-2006 03:27 PM ]
Post subject: 

asdf

Author:  Foo [ 05-09-2006 04:01 PM ]
Post subject: 

MegaMan44 wrote:
I totally disagree.

naming all versions of the maps saves users from having to remember mapfuckedupname + fuckedupversionnumber.


Explain to me why a 'user' would have to remember this information?

Quote:
Also, it saves a LOT of headaches with different versions of shader files etc. because each new version just overwrites the old one.


This is a benefit. Of course, it creates more mismatching problems than it solves becuase multiple users wanting to play together have to make sure they have the same version, and there's no obvious way of checking that.

Quote:
and i dont see where the problem with different files with the same name is - md5.


Right, yeah. So your solution to make it easy for regular users to differentiate between the files is to use a technology they mostly haven't come across and find a tool that enables it.

Quote:
edit: also, i dont care for games that cant even get things like this right.


Not sure what you mean by this.

Author:  AEon [ 05-10-2006 02:35 AM ]
Post subject: 

Foo,
don't understand what MegaMan44 is actually driving at either.


For a long time I had thought that Q3A does not give a hoot about the names of pk4's and that the map's name *in* the pk3 was what counts.

But it seem the auto download feature of Q4 actually checks for pk4 file names (and probably their checksum)?


What I wonder is this: What happens if you actually do have differently names pk4 versions of the same map.

E.g. map_blah_v1.pk4 vs. map_blah_v2.pk4, containing a map called blah.map.

Naming-wise map_blah_v2.pk4 should supersede anything in map_blah_v1.pk4. That would usually be the "good thing" (tm) to do. But what happens if you actually join a server that is still running v1? The engine would want to access blah.map, and would AFAICT pick it from map_blah_v2.pk4?

Should I be right, that would still make multiple versions of a map in baseq4\ evil.

A solution would be to also rename the map file *in* the pk4s:

E.g. blah_v1.map and blah_v2.map

But as we know, that means renaming the loadscreen image, the aas, and, proc etc. (ugly), and some script references as well. All the renaming IMO is very bug prone, thus I never did that. I stuck with the "proper" "final" map name.

Author:  Foo [ 05-10-2006 05:15 AM ]
Post subject: 

Running multiple versions of the same map/assets will be problematic no matter which of the 2 naming methods you use.

The benefit of naming each release seperately comes in identifying if the version of an addon you have is the version you need.

The idea that if all versions of a map are called the same thing, then you'll only ever have one copy installed and thus no conflicts makes some sense, but at the expense of never knowing which version you're running without either using an unneccesary extra tool (MD5 checker... and quite how you would know the MD5 of the version you *want* wasn't explained), and in fact it does cause conflicts with multiplayer, which can't so easily be identified without each version being distinctly named.

Author:  obsidian [ 05-10-2006 06:27 AM ]
Post subject: 

AEon wrote:
For a long time I had thought that Q3A does not give a hoot about the names of pk4's


It doesn't, Q3 doesn't read pk4's. Sorry, felt like being an ass today. :dork:

AFAIK, pk3/pk4's get read in alphabetical order. Later ones overwrite previous ones.

Generally, I do something like this:
map_blah_a1.pk4
map_blah_b1.pk4
map_blah_b2.pk4
map_blah.pk4

The last one being the final release. Though if read alphabetically, perhaps, the _v# suffix would make better sense?

Author:  MegaMan44 [ 05-10-2006 06:31 AM ]
Post subject: 

asdf

Author:  Foo [ 05-10-2006 06:44 AM ]
Post subject: 

MegaMan44 wrote:
All i want to emphasize is: Don't make it harder for players to handle their game because your mapping self is lazy!


I absolutely agree with this, why is why it's good for mappers to take the time to distinguish non-final versions from the finished product. Laziness is releasing 2-20 different items under the exact same filename, and requiring people to go to elaborate lengths to find the version they need.

MegaMan44 wrote:
Foo wrote:
Explain to me why a 'user' would have to remember this information?

because everyone just uses cv map <mapname>. Now if we concat that with [_/-]<version-inwhatever-form-author-decides>, that's a shitload of unnecessary information to remember. Also, nobody (ie. a minority) plays non-final maps.


Okay, so lets stop right there.

You release 3 versions of a map before going final, lets say you name them:
megadm1-beta1
megadm1-beta2
megadm1-beta3
megadm1

The last one is, obviously, your final version.

So by what you yourself have said, only the minority will have to deal with the 'extra hassle' of the longer names, and the majority of players will still just be using the 'megadm1' file, and nothing more.

You've fallen on your own sword here, and your argument backs up my point.

Author:  MegaMan44 [ 05-10-2006 09:05 AM ]
Post subject: 

asdf

Author:  MegaMan44 [ 05-10-2006 09:26 AM ]
Post subject: 

asdf

Author:  Hex [ 05-10-2006 10:46 AM ]
Post subject: 

MegaMan44 wrote:

do I win?


What are you winning here? The stoopid award?

If you release multiple versions of your map with the same pk4 filename then somebody somewhere is going to see that and say "Oh, OK I already have that I don't need to download it again. When what they have is an OLD version of your pk4 and not the current one.

Author:  Foo [ 05-10-2006 12:30 PM ]
Post subject: 

Foo wrote:
You've fallen on your own sword here, and your argument backs up my point.


MegaMan44 wrote:
No, i am not.


Even your opening sentence doesn't make sense following my post. I'm not sure how you expect us to follow the rest of it.

Regarding what of it I could make sense: Now you've skipped back to talking instead about how the game treats the files rather than about how it inconveniences mappers or gamers.

I think you're not digesting my posts. Either way I can't make head nor tails of your arguments and it would seem that so far I'm not alone.

Author:  MegaMan44 [ 05-10-2006 05:11 PM ]
Post subject: 

I 'deleted' all my posts in this thread (to the extend the software allows me to) and won't post any info on this board again.

Author:  Scourge [ 05-10-2006 05:22 PM ]
Post subject: 

Well, that was immature.

Author:  wattro [ 05-10-2006 05:32 PM ]
Post subject: 

scourge34 wrote:
Well, that was immature.


Seems he was not so Mega, after all... maybe hardly even a real Man! :)

on a serious note...

I thought MegaMan44 might even have a point in that most people don't really cruise for maps and try out pre-final versions.

I'm not an avid quake'r/fps'r anymore, but if I was just a player and not a mapper (by hobby), I might only cruise LVL for maps. That being said, isn't it likely that I'll only ever grab final maps or autodownloads from servers that I do play on?

/just want to make sure that the objective is to help the gamers
//coming up with a convention here is only going to reach a small portion of the maps

Author:  pjw [ 05-10-2006 05:51 PM ]
Post subject: 

...what the hell? :confused:

MegaMan44, I always thought you made some cool maps; seems kind of a shame to quit the board over a disagreement about filenames, of all things.

To contribute, I've personally always gone with the mapname_version method (with just mapname for the final) just because it seems like the sensible way to do things, but it's not like I'm going to lose sleep if someone doesn't agree and does something different.

Hell, you can name the different versions after different types of cheese if you want, it's your map. I'd play something called "Gorgonzola" if it was good.

Author:  wviperw [ 05-10-2006 09:58 PM ]
Post subject: 

I'm naming my next map @_gamma_2_a_ii-MAPNAME.pk4.pk4 just to piss you people off.

:D

Author:  pjw [ 05-10-2006 11:46 PM ]
Post subject: 

wviperw wrote:
I'm naming my next map @_gamma_2_a_ii-MAPNAME.pk4.pk4 just to piss you people off.

:D


Image

Author:  corsair [ 05-17-2006 05:31 PM ]
Post subject: 

everyone should rename their pk4's into; "Name_Your_Penis_by_badasstronaut_version1_alphaIII_thirdbeta_andalsothe_secondlastdelta.pk4"

Author:  corsair [ 05-17-2006 05:31 PM ]
Post subject: 

else?! DEATH AWAITS YOU!

Page 1 of 1 All times are UTC - 8 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/