Filesize vs Optimization


(Diego) #1

Got a question for you guys as both players and mappers.

If you have played Praetoria One, you know that pk3 file is about 35 mb in size. The BSP is probably about 10 mb, but a lot of that is taken up by custom textures and sounds. Since Praetoria is going to be a series of maps that form parts of one big campaign, I have been sharing resources between the maps. They share the same shaders, custom models, textures, and sounds.

During my testing, I have just one pk3 file that contains all 3 maps. Right now, that pk3 file is about 75 mb in size. That may go up or down depending on the optimizations I am working on. This is obviously the easiest way to work on parts 2 and 3 as well as the compatability update to map 1. In fact, map 1 will get even bigger because I plan on including a nighttime version of that map with a thicker fog for servers that want to run a more fps friendly version for players with older computers.

So my question to you guys, would you guys prefer to have the maps completely independent of each other? or download them as 1 big map pack?

1 big map pack will, in the long run, be a smaller file size than the 3 (or 4 if I do the last one) individual maps since you will not be including duplicate textures with each map release. However, split apart, it is easier for the client download. Also, if I make shader files that are exclusive to each map, then I run the risk of updating a shader in one map, but forgetting to update it in another resulting in a conflict. Believe me, I’m using a LOT of custom shaders.

I guess, in my mind, I am thinking about re-releasing Praetoria 1 as a daytime and nighttime BETA2. Then when they are ready, I’ll release Missions 2 and 3 in BETA also as separate maps. If additional beta versions are required, they can be released separately. But I think what I’d like to do after testing is complete, is release a final Praetoria Trilogy (Quadrilogy) .pk3 file containing all of the maps. That will probably end up being a 100 mb download to get all 4 maps + the night version of mission 1.

On the upside, a server has less pk3 files to affect the gamestate. On the dowside, clients have to download a really big file if the server only runs 1 of the maps.

Thoughts?


(Berzerkr) #2

Release them part for part.
When all is finished, release as extra one pk3 containing all maps.


(Sternschubser) #3

my 50 cent

in beta make single maps…
no one cares about 20mb maps
20 mb is 3 min to download with my poor line.

and if all maps run smootly, then make one big for server who want play all maps of pretoria in row.

btw i love the praetoriamap :slight_smile:


(S14Y3R) #4

Yea I agree with these two for the most part. Except you could make you’re Diego texture/sound/shader pack a seperate.pk3 to go along with your final maps. So if people download one map, they already have the tex/sound/shade’s.pk3 for any other map of your’s. Because pk3’s of the same_name won’t overwrite/redownload, correct?

I guess doing it that way you’ll unfortunately have to finalize your texture selections, but new .shaders take up no space in a pk3; and there’s tens-of-thousands of options already :o And again, you could add any model’s that get re-used to your base pack too. If other mappers could use that pack alot of peeps could utilize what alot of people will already have on their hard drives

I’ve been fighting with filesize too. Halving alot of custom textures down, just because most people detune anyway(I know I do, being on an older machine[still :(]).


(Diego) #5

[QUOTE=S14Y3R;191876]Yea I agree with these two for the most part. Except you could make you’re Diego texture/sound/shader pack a seperate.pk3 to go along with your final maps. So if people download one map, they already have the tex/sound/shade’s.pk3 for any other map of your’s. Because pk3’s of the same_name won’t overwrite/redownload, correct?
[still :(]).[/QUOTE]

This crossed my mind as well. But if I add just the textures to a separate pk3 file, would a client download that file if they don’t already have it when they download the map?


(shagileo) #6

Yea, I agree with all the comments by now.
One big pack will “scare” most of the players out there, but on the other hand, Preatoria has got a good amount of reputation, so maybe players know their waiting will be worth it ( ? )


(S14Y3R) #7

Yes, they should download it automatically(?)[file needed to play] just like a server specific sound/skin packs. I’m pretty sure it works that way, but wait for some server mods to come through before deciding, :stuck_out_tongue:

If they already have any version of your map(with the pack) they’ll have the pack and they won’t have to re-download the seperate.pk3 again because they’ll have it already from the previous map they dl’d. So any new map in the series re-uses the same tex pack. That’s what I think happens. :stroggbanana:


(Berzerkr) #8

The “Base-Pack” should be downloaded if you add the files of the stock-campaings to it. I’m not to 100% sure, this has to be tested (or confirmed).
Otherwise the serveradmin has to put the pack into the mod-folder.
But I think the last option will fail for a lot of serveradmins, because they don’t RTFM and then complain that a lot of stuff is missing in the maps and delete them from the server.


(dwe_flame) #9

if the pk3 has the same name, but different content.
the client will download it again, getting the error message “file already exists with wrong checksum”

i believe a new file gets created called some like “thepk3name.z7m20z.pk3”


(Diego) #10

Well, the idea being thrown around is not to have different content in the pk3 files. Basically, I would have 3 map pk3 files that contain the BSP, script, and other map specific items. Then there would be a separate common.pk3 file that would contain all of the shaders, textures, and models.

The thing I worry most about with that method, is that if I update one of the maps, I will probably have to update the common pk3 file as well. If server admins forget to download that update, the maps could get out of sync very easily.

Probably the best solution is to just release each map separately even though it duplicates the textures between maps. Then I can just release an alternate pk3 file that contains all of the maps in one map pak and let server admins decide which one they want to use.


(Berzerkr) #11

Sounds like the best solution to me.


(eiM) #12

just release the seperate files one by one until they are in a final version. You can still create a big package also including a campaignfile e.g. for serveradmins or objective cycle so that there could exist some Praetoria Campaign servers ;=) With the right advertisements on releases this could be a big success.
If I were you I’d do everything to see my maps being played if you put so much work in it.


(huPoo) #13

No way around 75mb pk3 would be good. No one would download it, and for sure no server admin would put it in their servers. If you really want to release it as a one package, I suggest you try to sell your maps to some newcoming mod if there’s any.


(Avoc) #14

Your best bet is to release the 3 maps in one package as a campaign. Lots of people use to disconnect when they have to download a map bigger than 15mb on our server, even when they have speeds of 800kb/s.
I’m afraid that a 75mb file might be seen by server admins as a “death blow” to their player population.

Currently, I could imagine that if our server were to put the 3 praetoria maps in our rotation, forcing the players to download a 75mb file, only the server regulars would stay. As with most other servers, the regulars only make up around 25% of the server population, and we are pretty much dependant on luring ‘new’ players to the server. Even if the praetoria maps will be work of art, with amazing gameplay features and consistent balance, we would probably kill our server by uploading it.

Not to mention, some servers might only like 1 on the 3 maps.

I would suggest that you release each map individually, and later bundle them together in one .pk3.

I know for certain that our clan would host some special “praetoria” events where we would upload the praetoria campaign and play it.


(kamikazee) #15

I would agree with the above: make seperate pk3’s for each map, eg naming them praetoria-epxvx. The map packs can then become praetoria-duo/tril-vx.

One thing to be wary for though: if you make .campaign files for your maps, don’t include it in the large pk3 file but split it off. Otherwise clients will always have to download your large pk3’s, even when the map(s) in question aren’t being played.


(ailmanki) #16

The campaign file trick would works.

But how big would then the common.pk3 be?

Also, you could place in your map pk3 a shader file, which gets overwritte by the common. and this shader file could point to a texture - you have to put in the common pk3 - written on it. So instead of missing … you get an advice texture. :slight_smile:
Same for the command map, and levelshot and mapscript… all those could be having information that you have to put in additonal pk3 - and maybe also where it can be downloaded.

The only downside is, that the common pk3 is donwloaded to the client in any case.
It might be different, when there are files from the map, which has to be loaded are replaced in a pk3.

Like the mapscript or the sps files. Might be, that they would also force the client to download the map. In which case you could drop the campaign file. That would be a perfect solution…

Then once the map loads, you have to download some ? 15mb + 30mb pack?


(kamikazee) #17

[QUOTE=ailmanki;191991]The campaign file trick would works.[/QUOTE]Sure, but do you want to let admins mess things up or force users to download map content for a map they might not even get to play?


(Diego) #18

So we have this scenario,

If I used a campaign file in each individual map that points to the common pk3 file, that would force clients to download it if they don’t have it. The common.pk3 file would actually be a big part of that filesize. Probably around 40-45 mb. And hopefully, it would not be changing that much, just updates to the bsp and script. All files that are map specific, like levelshots, commandmaps, etc, would stay with the BSP files.

But the biggest problem I see with this – what if the server admin forgets to upload the update to the common file, and only updates the map .pk3 files? Then we run the risk of getting the shaders screwed up.

I think Kamikazee is right. I’ll just have to totally isolate each map from each other with it’s own unique shaders and textures. Then the big map pak will basically just be a large .zip file with all the map variations included in it. At least with this technique, I do have the freedom to modify the textures from map to map if I need too. For instance, Since Praetoria One is so large, I could adjust the image size or quality a little to reduce the pk3 file size for that one, but leave the quality intact on other maps. Blah, this is going to be a lot of extra work. :frowning:

I guess I’m spoiled because I almost exclusively play on LAN servers these days.


(Pande) #19

“thicker fog for servers that want to run a more fps friendly version for players with older computers.”

if you planning on a foghull as I suspect, watch out because I actually find greater lag hits when the distancecull cut off is in range of player view. In a small building map with lots of structural brushes, fog is fine because you never really see that point of distancecull.

OH right why distancecull is bad… it actually lags my computer more to be calculating which triangles to render every frame and then rendering them.

So word of warning thats all. Test it ofc.


(Diego) #20

Bunker servers are already running a patch that I made for Praetoria one using the current lighting. I’ve been told that there have been no fps complaints since the update. I myself see about a 20-30 fps increase with the heavier fog setup.