The Ultimate Site of Worms Armageddon

Worms: Armageddon => General discussion => Topic started by: hedgehog90 on July 28, 2022, 09:00 PM

Title: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: hedgehog90 on July 28, 2022, 09:00 PM
I'd like to hear my friend's soundbanks & fanfares (and vice versa) without having to upload / download them manually each time they're updated. I figured this would be possible with a wormkit module.
It would require both players having the module installed, a bit like wkTerrainSync.
I've tried looking for a pre-existing module to no avail, but I did come across a discussion which suggests it is possible:

http://tim32.org/~muzer/t17-archive/forum.team17.com/archive/index.php/t-61661.html

I can probably code this myself but I have no experience developing wormkit modules.
I just want to check that this doesn't already exist before attempting.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: Lupastic on July 28, 2022, 09:08 PM
this would be nice to have indeed.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: MarCello on July 28, 2022, 09:56 PM
I need too such a mod. That would be cool.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: h3oCharles on July 29, 2022, 01:45 AM
Project X and wkTerrainSync have already done a similar thing of downloading data from the host, but not sure how downloading data from a non-host will go
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: MonkeyIsland on July 29, 2022, 04:36 AM
Well the option to ignore it should also be there. It can get very annoying being forced to listen to low quality ones.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: nizikawa on July 29, 2022, 05:18 AM
.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: MonkeyIsland on July 29, 2022, 05:47 AM
Here is a more feasible approach: use a third party web service to store soundbank files. A wormkit module could checksum all your soundbank directories and upload new ones to a dedicated service. Whenever you send your team data to host, the module would also send the checksum of the soundbank the team uses. The other players could check if they already have such soundbank, and if not, request and download it from web service. The only problem is, that someone needs to pay for and maintain such service.

You mean a service like TUS which has over a thousand (https://www.tus-wa.com/files/soundbanks/) soundbanks and I'm already paying and maintaining it?
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: hedgehog90 on July 29, 2022, 10:28 AM
I forgot about wormNAT... I assumed it was all direct peer-to-peer communication with the other players.

How does terrainsync work then? Is the size of the payload small enough that it can go through wormNAT without any issue? Or as nizikawa suggested, is all the terrain data hosted third-party?

Earlier I considered employing the use of TUS (with MonkeyIsland's permission) for this objective.
It should be fairly easy to download and extract each soundbank / fanfare, but it would require each player to include the TUS file ID as a metadata file among their soundbanks / fanfares, or a strict naming convention of their soundbank directories / fanfare files, including the TUS file ID, in order to correspond with the appropriate file on the TUS server.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: King-Gizzard on July 29, 2022, 10:46 AM
Cool idea! Sorry, this is just me randomly brain storming ideas for a potential implementation...

Maybe the module could load config files for soundbank and fanfare, in the format:  "Team name","TUS URL to file download", EG:

Team One,https://www.tus-wa.com/files/file-2594/
Team Two,https://www.tus-wa.com/files/file-2592/

Considerations:

- Only support TUS URLs - for security and reliability
- Only extract/load game WAV files from the archive, to ensure no other rogue files or file types can make it onto someone's machine.
- For TUS, it looks like .7z, .zip and .rar archive formats would need to be supported
- If a wav file is missing, replace that file with default sound wav
- Maybe cache files locally based on the identifiers in the URL rather than hashing, I guess it depends if people update the same sound banks often.
- File size  limits? 
- Dynamic download and loading.  Rather than wait for all players to download the files, the game can proceed and WAV's are re-pointed in memory as downloaded WAV's become available. Until then, the team's chosen game sound bank is used
- Replay support?  Record the ID's for each team's soundbank and fanfare (perhaps in an accompanying config file rather than modding the replay format).  A config option to disable using/downloading soundbanks for replays.



Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: iidoyila on July 29, 2022, 02:44 PM
You mean a service like TUS which has over a thousand (https://www.tus-wa.com/files/soundbanks/) soundbanks and I'm already paying and maintaining it?

is there an easy enough way to download all files from TUS ?
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: MonkeyIsland on July 29, 2022, 08:16 PM
The files section database on TUS is about 11GB and it is too large to offer such option.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: FoxHound on July 29, 2022, 10:20 PM
I don't understand about technical stuff, but I dream about playing this game listening to other soundbanks people made and use automatically since I started to use Blame The Pixel. So, a module like this would be f@#!ing amazing, but I agree that some soundbanks could polute gameplay experience or be annoying, so an option to mute or block a team soundbanks is necessary.

I still have "Fat Pikachus" soundbank from DumbBongChow, which is his voice imitating a Pikachu, but distorced as a bass sound. It really seems it is a fat Pikachu. His whole team was centered on the idea of the fat Pikachu.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: Danger135 on July 30, 2022, 11:26 AM
It could be made by smart way. Game could check name of soundbank and its checksum, and if not exist, it can write something like: Player xxx using soundbank yyy, which is not installed. Click here to download and install, it will be used in next game.
When click, it could download soundbank files to some temporary folder on background, and when finished and checksum match, install it to soundbank folder, ready for next round. If same soundank name with different checksum exist, it can make it with prefix v2, v3 or so.

In PX it could check lib files CRC32 and if is different, download the correct lib. No more same file with different version made "Player xxx has different compilation result" and player cant play.
Title: Re: A wormkit module for downloading other teams' soundbanks & fanfare?
Post by: TheRandomSurfboard on September 01, 2022, 01:41 PM
There could be a command like /mute which would make it sound like normal. This way we could listen to anyone's soundbank, even ones not registered on TUS.