AN EXPERIMENT: File Size Estimates for this Library
If you weren’t aware, one of the development goals for CIU is to avoid bloating out the file size for a future mobile port, which throws suggestions such as this into question. Yet lately we’ve been seeing paint options for spaceships get added left, right, and center because they are smaller files (they average roughly 1MB each in CI5).
So I wanted to crunch some numbers and work out how demanding it would be for this library to be implemented. And using CI5 files for reference (which, if anything, might be less optimized than the CIU files) I’ve arrived at some statistics. I have been somewhat conservative with this estimate, and if you have the time to read through the figures you’ll find that there’s probably about a solid 3-9 extra megabytes that you could shave off, depending on how sophisticated the engine’s recolouring abilities are.

If you would like to understand or double-check exactly how I’ve reached these figures (and how generous I’ve been), I’ve included the math below - feel free to take a look:
The Math
-
3 Ion Blaster Skins x 129KB each = 387KB. Two of these could also likely be done in-software, but I’ll be generous and make them all new sprites to be safe.
-
3 Neutron Gun Skins x 129KB each = 387KB (Classic Neutron can fit within this file size).
-
Both Ion Blaster and Neutron gun seem to create their collision effects programatically, so I can’t really increase the size anymore here.
-
2 Laser Cannon Skins x 1000KB each = 2000KB
-
The “Light Cannon” skin is just a super whitened laser cannon - I would be a bit worried if the software couldn’t achieve at least that.
-
3 Lightning Fryer Skins x 513KB each = 1539KB. Again, two of these are basic recolours, but we’re being really conservative.
-
Laser Cannon and Lightning Fryer use the same file for collision effects. They only take up half that file, but to be safe lets add another three x 257KB each = 771KB
-
2 Vulcan Chaingun Skins. I don’t know the file size for the rework, so I took the classic vulcan size and quadrupled it to be safe = 2x4x129 = 1032KB.
-
Comet Chaingun just uses a small, whitened comet sprite and a recoloured trail - I don’t think it would need a new sprite.
-
3 Plasma Rifle Skins x 2 sprites per skin (hitting/not hitting) x 513 each = 3078KB.
-
Plasma handles collisions effects programatically, I believe, so no extra file size there - I’m also assuming that recolouring the AoE effect can be done in-software, too.
-
2 Boron Railgun Skins. “False Moron” can just use the Boron sprites, and because both Boron and Moron are in the same file, we can actually just shove the two new skins into a single file of identical size. So that’s 513KB.
-
3 Photon Swarm Skins x 513KB each = 1539KB. All three of these are very basic hue shifts and could easily be done by the software, I suspect, but we’re being cautious.
-
Photon’s weird “glow” effects take up half of a 1MB file. I imagine “photon stingers” as not actually having one of these effects, and you could hypothetically squeeze the other two into the same file, but that’s a super efficient estimate and we’re being conservative. So I’ll add 2000KB (2MB) for these, assuming two files.
-
3 Positron Stream Skins x 513KB each = 1539KB. You could easily achieve the Magma Stream with basic colour editing, though, and the other two might also be possible with clever layering.
-
Each Positron skin requires another 513KB file for the “glow” effect, but they only take up half that file, and we don’t need to recolour the second sprite in that file, - so we can cram the effects for “Corrupted Negatrons” and “Magma Stream” into just one of these files. “Doom Ray” uses the default purple, so it doesn’t require a second file.
-
3 Hypergun Skins x 257KB each = 771KB, even though the first two could probably be done by the software.
-
Hypergun currently is efficient and uses photon’s collision effects, but let’s be super wasteful here and give each new skin a unique impact effect instead (which tbh they don’t really need, especially “Intense Focus”). That means three new effects - the original file contains four effects for various weapons, so let’s just round up and add another one of those files - that’s 1000KB.
-
2 Riddler Skins x 257KB each = 514KB
-
I’m going to assume that the “glow” effect on supercharged bullets can be done by the software using the “additive magic” - so no extra files there
-
Mad Painter needs to be handled programatically because of the way it works - there’s no alternative. Finnaly all three riddler skins use the plain white effect for collision. So there’s no extra stuff needed there.
-
3 Corn Shotgun (yes, corn shotgun skins. Just because I haven’t posted them doesn’t mean I don’t have sprites) skins at 65KB each = 195KB
-
Let’s add another 195KB under the assumption that each will need a second skin for the WBP popcorn effect, and yet another because I have no idea how the cloud at the nose of the spaceship works and we’re being safe.
-
I have no idea how big the Absolver files are - I have reason to suspect they’re actually pretty small, because the beam is practically created by the software, but just to be super duper safe I’ll slap on an extra megabyte for each skin - that’s 3000KB
-
3 Utensil Poker skins x 257KB each = 771KB. Superstar Hero really shouldn’t need a new sprite or recolour at all, but just in case.
-
No extra points for collision effects, Utensil skins should all use the default white ones. Likewise I’m pretty sure the software can manage the soft glow on “Superstar Hero” and “Dark Chrome”.
Which leaves the final, conservative, worst-case file size estimate at 21,939KB, or about 22 megabytes.
For reference:
- The main data file in CIU as of version 46.0 is 335MB large.
- Each new paintjob is approximately (very approximately, they vary a bit) 1MB large, putting this estimate at roughly 22 paintjobs worth of content.
This means that if this particular library of weapon skins were added in it’s entirety, the main .dat file of Chicken Invaders Universe would increase by no more than 7%.
Whether or not you would consider that a fair trade-off is up to you, and I suppose ultimately up to iA.
Do keep in mind that potentially, depending on the engine’s ability to recolour things, much smaller file sizes could be accomplished, perhaps as small as 15MB, give or take. And these calculations all assume that this specific library of skins were to be added - other, different designs could easily cost even less file size. Another alternative would be to add only one or two skins per weapon, which would allow some of the more difficult to recolour sprites to be cut.
The three questions for thought that come out of this experiment, I believe, are:
-
Is this a reasonable amount of extra file size, or rather, what file size would be acceptable in exchange for preset weapon customizations such as these?
-
How much more could this estimate be reduced by, given the engines capabilities and limitations?
-
Is, ultimately, some selection of weapon skins a viable future concept for Chicken Invaders Universe?
Feel free to use this topic to share thoughts on the matter. 