Asset-based PK3 management
Posted: Mon Jan 08, 2018 2:50 pm
Today, and for some time, players wanting a custom avatar are required to upload their own fully functioning PK3. I’d like to take that responsibility down a notch, to make the archaic architecture and necessities of an aging game more accessible into the next generation of players, while optimizing how our customized game assets are brought into the client.
Currently, the back-end FTP server runs a process that collects all of the pk3’s into a zipped archive for a nightly build. This outputs a ~400 MB download currently.I’ve discussed this with a few of the asset maintainers, and I’d like to propose the following solution.
Instead of uploading PK3’s, what if skin owners had the option to just maintain textures? Particularly for owners of skins based on common model types (Hapslash, Gweth, Spanki, etc.). The end result would be a ‘core’ package of assets (models/textures/sounds) that combines a lot of the identical assets used (we don’t need 30x copies of hs_anakin’s tan tunic or boots). Individuals with avatars using these assets would have standardized, pre-configured .skin and .surf files pointing at directories laid out in the file management system, and customization would be as simple as uploading your modified assets (torso1a.jpg, face1a.jpg, etc.) to the ‘1a’ folder in your directory. This all then gets bundled and PK3’d in the nightly builds.
The end goal is: reduced storage/bandwidth footprint of updates, as well as a simplified framework for players to manage their skins. I am *not* suggesting this as a replacement to the current system, rather as an add-on. I feel a few prime examples where I think this would be useful would be the Youngling skins and the vehicle pack.
Both the Youngling and Vehicle packs have a lot of shared assets (different colorations of the same few models. As an example, these would have their own core downloads (vehicles_core.pk3) that has all the standard models and assets. Then when someone wants to make a shiny new Jedi Starfighter or TIE skin, they can upload the textures, shaders, .skin/.surf into the file management back-end to be added into the vehicles_assets.pk3, and much smaller and efficient download.
Am I suggesting github for pk3’s? Possibly! Am I a hardware engineer trying to make software jokes? You better believe it!
Thanks for reading! Let me know what you think, or if there are specifics I can clarify.
Currently, the back-end FTP server runs a process that collects all of the pk3’s into a zipped archive for a nightly build. This outputs a ~400 MB download currently.I’ve discussed this with a few of the asset maintainers, and I’d like to propose the following solution.
Instead of uploading PK3’s, what if skin owners had the option to just maintain textures? Particularly for owners of skins based on common model types (Hapslash, Gweth, Spanki, etc.). The end result would be a ‘core’ package of assets (models/textures/sounds) that combines a lot of the identical assets used (we don’t need 30x copies of hs_anakin’s tan tunic or boots). Individuals with avatars using these assets would have standardized, pre-configured .skin and .surf files pointing at directories laid out in the file management system, and customization would be as simple as uploading your modified assets (torso1a.jpg, face1a.jpg, etc.) to the ‘1a’ folder in your directory. This all then gets bundled and PK3’d in the nightly builds.
The end goal is: reduced storage/bandwidth footprint of updates, as well as a simplified framework for players to manage their skins. I am *not* suggesting this as a replacement to the current system, rather as an add-on. I feel a few prime examples where I think this would be useful would be the Youngling skins and the vehicle pack.
Both the Youngling and Vehicle packs have a lot of shared assets (different colorations of the same few models. As an example, these would have their own core downloads (vehicles_core.pk3) that has all the standard models and assets. Then when someone wants to make a shiny new Jedi Starfighter or TIE skin, they can upload the textures, shaders, .skin/.surf into the file management back-end to be added into the vehicles_assets.pk3, and much smaller and efficient download.
Am I suggesting github for pk3’s? Possibly! Am I a hardware engineer trying to make software jokes? You better believe it!
Thanks for reading! Let me know what you think, or if there are specifics I can clarify.