Your opinion about maps with map-wide assets
-
@furyritchie said in Your opinion about maps with map-wide assets:
Can the maps themselves be compressed and then expanded on the client end?
They already are compressed as zip files
-
If those decals don't matter for gameplay, is it possible for one player to play without the decals while the other does?
In that case, make a normal and high res version of each map where the latter has no or small size decals.
Automatcher only ever downloads normal versions. With a button you can download all high res maps at once.
-
@valki said in Your opinion about maps with map-wide assets:
If those decals don't matter for gameplay, is it possible for one player to play without the decals while the other does?
In that case, make a normal and high res version of each map where the latter has no or small size decals.
Automatcher only ever downloads normal versions. With a button you can download all high res maps at once.
This was a potential solution I was thinking of too. I provide the maps in the vault with low-quality assets and you can manually replace them with high-quality assets. You could even go up to 16K per texture (that is 300mb / texture) and Supreme Commander would bite, looks brilliant.
-
@sheikah Are they compressed, or stored as a zip folder? I recall windows having an 'add to zip' which is essentially just the map in a file, with no compression.
When I use 7zip on Kaali I get these results:
- unzipped: 258 mb
- zipped: 158 mb
- 7z: 130 mb
Regardless, it remains quite big . I would not know how to optimize the DDS for enflation / deflation. The format itself is quite compressed already. Storing them in another format (say .png) and turning them into a DDS file on the client isn't viable either - that requires memory and may just take longer than the download.
-
I've updated the original post to contain imagery of some of the maps as requested. I hope to hear more opinions to determine an approach to take
-
@jip factor 2 of comressions doesn't seem too bad. I was hoping that the compression in used for .dds files was variable. But it seems to use only fixed settings.
https://en.wikipedia.org/wiki/S3_Texture_Compression
I don't really know a lot about the subject. The DXT1 version is the most efficient if you don't need an alpha channel. The DXT2-5 reserve a lot of room for the alpha channel. Have you tried this compression? I wasn't able to check if the .dds was already compressed.
Your full map decals use the alpha channel. So DXT3 would need to be used, but still a significant compression. If you were able to not need the alpha channel on your main decal you could even get down to rhoughly 1/3rd.
Haven't tested it yet but I assume FA should be able to handle those files.Back on topic: Most people don't download the maps before queuing. This results in subjectively half of the tmm games not launching at the start of the pool rotation. Later on in the month it gets better. I would put that auto downloader at a higher priority.
-
@harzer99
I cannot produce the same results. Using dxt1 turns one of the decals from ~22mb to ~11mb, and DXT3 appears to have no impact on the file size. What tool did you use to generate those files? I used Photoshop with the Nvidia DDS plugin and ImageMagick - both have similar results.
(note: these assets are 4k as they are used during production. Final would be 8k and ~4x the file size)
edit: the game does appear to support the format - so please do inform how you made them
-
@jip I used gimp with the DDS plugin. https://code.google.com/archive/p/gimp-dds/downloads
-
@Sheikah I am not sure if I agree with your reasoning, for me it seems that most issues come from the fact that people don't have a map downloaded and then they take too long to download it when a match is found. Forcing a player to download all of the maps would solve this issue and you can treat the map downloads as something like a monthly update that you need to get in order to play. Considering that 1/4 of the maps stay the same in between rotations and the map pools for lower rated people are small it would be <400 MB which I don't think is unreasonable these days. Another problem it would fix would be the possibility to dodge certain maps on 1vs1 and TMM because you can just cancel the download of the map you don't want to play and re queue.
-
@Tagada The issue is that for some subset of players the download takes so long and also consistently fails. So forcing them to have to download the map beforehand would effectively lock them out of the matchmaker.
-
Also there is no way to cancel the download of the map outside of just closing your client.
-
Well, if it takes long then it doesn't matter if they will need to download the map before queuing or after they've found a match. With the first option at least it doesn't give the impression that the matching doesn't work for players and it also doesn't harm other players. As for not being able to download the maps at all then I suppose you could add a note that if the map download fails then you can go into map list and download the map manually? If a player isn't able to download the maps in any way then they can't play the queue anyways right? If you would allow the players to play only on the maps they can download you will harm the accuracy of the ladder rating as well.
I fail to see how forcing an upfront download will harm any user experience, it makes sure everything should work before letting you play and it also allows you to download the maps when you are away from a PC if you have slow internet connection so that you no longer need to worry that the other person will cancel a match because you are taking so long to download the maps. -
In the cases I am talking about even the manual download fails. And it is not the issue that they can't download any map it is that they specifically cannot download these large file size maps only. Which would lock them out of the queue just because of one map that they may not even play on.
-
Well, you shouldn't be allowed to play ladder if you are just gonna skip some maps, it also harms other user experience since if they match on the map that user A can't download then user B will be just stuck on Automatch. If the download fails consistently then either the server you are downloading from has some issues or it stops downloading when you loose connection or something else but even with really slow internet connection if you give it some time the download will finish, after all they've downloaded the game which is a couple GB right?
-
They are not actively skipping the maps because they want to. And I am not sure why it freezes for some users on downloading these maps specifically when other things are fine but it does occur and I cannot really fault the user for that and then prevent them from playing.
Note that in the future when a match cancelled message is received because of a timeout by one of the players the client will automatically close the game for you.
-
Well, perhaps the solution is to have a window pop up that says : You don't have all the maps downloaded. Have a button to download all maps but also a button saying Queue anyways or something like that. But in the end this complicates the system and even if it sucks for a very few players the best solution imo for all the players is to force the download of all maps before allowing someone to queue. That's how other games operate as well. It's kind of like if you can't download an update for the game you can't play the game. Ofc it's worth investigating why the map download fails in the first place.
I don't think that we should exclude the maps that undoubtedly look better and are an awesome break through in the mapping scene because few people can't seem to be able to download them. 300-400 MB monthly is not that much after all. -
@jip said in Your opinion about maps with map-wide assets:
@sheikah Are they compressed, or stored as a zip folder? I recall windows having an 'add to zip' which is essentially just the map in a file, with no compression.
When I use 7zip on Kaali I get these results:
- unzipped: 258 mb
- zipped: 158 mb
- 7z: 130 mb
They are compressed for example the Kaali currently on the server is 137 MB to download and 200MB once unzipped.
-
@jip said in Your opinion about maps with map-wide assets:
@valki said in Your opinion about maps with map-wide assets:
If those decals don't matter for gameplay, is it possible for one player to play without the decals while the other does?
In that case, make a normal and high res version of each map where the latter has no or small size decals.
Automatcher only ever downloads normal versions. With a button you can download all high res maps at once.This was a potential solution I was thinking of too. I provide the maps in the vault with low-quality assets and you can manually replace them with high-quality assets. You could even go up to 16K per texture (that is 300mb / texture) and Supreme Commander would bite, looks brilliant.
I was wondering about this sort of thing as well. If this is viable, perhaps there might be a good way to automate this process either based on connection speed (which could be gauged by the download times for regular maps) or by an in-client option to download low or high data map versions for maps that have both available (low could be the default). Any thoughts on the viability of coding this approach? @Sheikah @Askaholic
-
@emperor_penguin said in Your opinion about maps with map-wide assets:
@jip said in Your opinion about maps with map-wide assets:
@valki said in Your opinion about maps with map-wide assets:
If those decals don't matter for gameplay, is it possible for one player to play without the decals while the other does?
In that case, make a normal and high res version of each map where the latter has no or small size decals.
Automatcher only ever downloads normal versions. With a button you can download all high res maps at once.This was a potential solution I was thinking of too. I provide the maps in the vault with low-quality assets and you can manually replace them with high-quality assets. You could even go up to 16K per texture (that is 300mb / texture) and Supreme Commander would bite, looks brilliant.
I was wondering about this sort of thing as well. If this is viable, perhaps there might be a good way to automate this process either based on connection speed (which could be gauged by the download times for regular maps) or by an in-client option to download low or high data map versions for maps that have both available (low could be the default). Any thoughts on the viability of coding this approach?
I think automating it is too much effort for the niche case that we're talking about. Svenni and me are essentially the only two people that actively use custom assets in maps and then you can take Svenni off the list because he sticks to 4k instead of 8k.
To me this would be as simple as having a check in the map to see if a certain file in the map folder exists, if it doesn't then I can assume that they're using the default (low-res) textures. I could make a decal or a message somewhere that says you can download the high-res textures somewhere else.
That location in turn would be something similar to Google Drive that supports large files. I can automate the entire process so that both 4k, 8k and 16k files are available for you to choose from. Including instructions on how to replace them.
@Tagada I think it is important not to exclude people from the matchmaker in any form. If people have issues downloading assets then that is on us to fix. Or to leave the assets out. That is also why one of the questions is whether these maps are fit for ladder / tmm - as there you don't get to decide what to play.
@harzer99 I'm going to look into using Gimp for the task.
I'd like to note that this has been quite a productive discussion thus far, keep it coming.
-
@sheikah said in Your opinion about maps with map-wide assets:
The issue is that for some subset of players the download takes so long and also consistently fails
The solution is probably to download the files in chunks. I have no idea how difficult that would be to implement in java, e.g. if free pre-written code already exists for it. This is something that I like about Steam. The download can stop at any time and start up later, no problems.