Ship Type Organization
-
- Elite
- Posts: 1363
- Joined: Sat Aug 04, 2007 3:42 pm
Re: Ship Type Organization
What is the maximum size Debian will allow?
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
Re: Ship Type Organization
Well, a reduced content set could be put together.
Music too... either a bare minimum or split into an optional package. In fact, we can upload a tar of music files to sourceforge, and the debian package could be a virtual package that downloads the tar from sourceforge.
Animations is a bit tricker, most of the animations are used ingame, but we could probably work something out to reduce its size. Decreasing FPS on some animations, for instance.
Sprites... I don't see how to reduce it. We'll have to get creative.
Textures, lets have a look inside:
Same thing with the units folder, the bulk of it are textures (which can be gzipped). The units folder, though, has stuff that can be simply deleted: faction-customized textures:
I'd hate to butcher the game like that, but if debian won't allow for big packages, it's an option.
So... the key elements:$ du --max-depth=1 --exclude=.svn -h
377M ./textures
8.9M ./sounds
93M ./sprites
43M ./animations
4.2M ./documentation
480K ./.vegastrike
640K ./sectors
4.6M ./modules
1.3M ./mission
31M ./communications
25M ./movies
9.4M ./cockpits
158M ./music
468K ./programs
545M ./units
3.3M ./universe
112K ./history
48K ./cgi-accountserver
272K ./ai
780K ./techniques
5.0M ./meshes
740K ./bases
1.3G .
Now... communications can be made into either an optional package, or it can be butchered to the bare minimum.377M ./textures
8.9M ./sounds
93M ./sprites
43M ./animations
31M ./communications
158M ./music
545M ./units
1.3G .
Music too... either a bare minimum or split into an optional package. In fact, we can upload a tar of music files to sourceforge, and the debian package could be a virtual package that downloads the tar from sourceforge.
Animations is a bit tricker, most of the animations are used ingame, but we could probably work something out to reduce its size. Decreasing FPS on some animations, for instance.
Sprites... I don't see how to reduce it. We'll have to get creative.
Textures, lets have a look inside:
Key stuff:33M ./sol
976K ./stars
1.3M ./weapons
200K ./mounts
199M ./planets
512K ./cockpits
125M ./backgrounds
2.2M ./upgrades
1.6M ./rings
1.1M ./logos
4.2M ./cargo
2.2M ./nav
377M .
Now... lets zip those folders...33M ./sol
199M ./planets
125M ./backgrounds
377M .
So... a neat trick: gzip textures. It really helps.20M ./sol
102M ./planets
52M ./backgrounds
Same thing with the units folder, the bulk of it are textures (which can be gzipped). The units folder, though, has stuff that can be simply deleted: faction-customized textures:
So, get rid of shmrn_relay, highborn_relay, andolian_relay, and LIHW_relay, and you got rid of A LOT of bytes. Rinse and repeat everywhere.claudiofreire@klauss:~/src/vegastrike/trunk/data/units/installations/Relay$ ls -l
total 18816
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 andolian_relay.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 highborn_relay.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 high_relayGLOW.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 high_relay.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 LIHW_relay.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 763384 Aug 3 18:18 relay.bfxm
-rw-r--r-- 1 claudiofreire claudiofreire 699192 Aug 3 18:18 relayGLOW.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 87536 Aug 3 18:18 relay-hud.png
-rw-r--r-- 1 claudiofreire claudiofreire 40 Aug 3 18:18 relay-hud.spr
-rw-r--r-- 1 claudiofreire claudiofreire 699192 Aug 3 18:18 relay.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 174904 Aug 3 18:18 relayPPL.jpg
-rw-r--r-- 1 claudiofreire claudiofreire 2796344 Aug 3 18:18 shmrn_relay.jpg
I'd hate to butcher the game like that, but if debian won't allow for big packages, it's an option.
-
- Elite Mercenary
- Posts: 1329
- Joined: Thu Mar 27, 2003 11:51 pm
- Location: Manchester, UK
- Contact:
Re: Ship Type Organization
That seems like using an axe when a scalpel is required.
Sadly when developer power is at a premium, swinging the proverbial axe on occasion is inevitable.
Sadly when developer power is at a premium, swinging the proverbial axe on occasion is inevitable.
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
FreeGameDev forum - open source game development community
-
- Hunter
- Posts: 67
- Joined: Wed Sep 29, 2010 3:06 am
- Location: Lost in an adventure
Re: Ship Type Organization
I don't think Debian has a set maximum size policy. Probably 700MB is a hard limit because of Debian including CDs in releases.Deus Siddis wrote:What is the maximum size Debian will allow?
The Nexuiz packages might represent a logical upper limit. There are 3 data files (this is Squeeze/Sid sizes):
- nexuiz-data (273MB)
- nexuiz-textures (521MB)
- nexuiz-music (87.4MB) - optional package
The -textures package was split out of the -data package because of oversize according to
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557218
What would the dataset be at now if it was packaged?
$ du -sh --exclude .svn data
1.3G data
1.3G? Or does that not all go into a release?
I suggest an attempt to slim down the dataset size by removing or separating extra unnecessary files and compressing where possible. Then after releasing we can try getting the package back in Debian again, hopefully without making Debian-specific dataset changes.
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
Re: Ship Type Organization
I believe there is a way to split vegastrike packages (debian or any other kind of package) that makes a lot of sense to users, while also helping keeping package size within reasonable limits:
Same with extra textures. If my GPU/CPU can't handle faction-customized textures, why bother installing them?
Would that put per-package size back into debian-accepted limits?
- vegastrike-engine: binaries - you know, mods use the same engine with different data
- vegastrike-utcs-data-core: core game data for UTCS. Data that can't be missing, including basic textures.
- vegastrike-utcs-data-extratextures: extra texture files, like faction-customized textures.
- vegastrike-utcs-data-speech: speech soundfiles, they can be missing and it would be ok (no speech).
- vegastrike-utcs-data-music: music files, they can be missing and it would be ok (no music).
Same with extra textures. If my GPU/CPU can't handle faction-customized textures, why bother installing them?
Would that put per-package size back into debian-accepted limits?
-
- Bounty Hunter
- Posts: 152
- Joined: Thu Sep 02, 2010 8:00 pm
Re: Ship Type Organization
Would it make sense to have vssetup download the data packages from sourceforge (if requested)?klauss wrote:It would make sense to users because not all users would install everything. Say I play without sound (I do, most of the time, I don't have speakers attached and sometimes I'm too lazy to plug the headphones). So why would I download music & speech, when it means hundreds of MB?
-
- Elite Mercenary
- Posts: 1329
- Joined: Thu Mar 27, 2003 11:51 pm
- Location: Manchester, UK
- Contact:
Re: Ship Type Organization
Yes it would, but here a level of indirection is required as the sf.net mirrors are subject to change.breese wrote:Would it make sense to have vssetup download the data packages from sourceforge (if requested)?
You would need a file on the website that vssetup could check e.g.:
vegastrike.sourceforge.net/mirrors.txt
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
FreeGameDev forum - open source game development community
-
- Elite
- Posts: 7243
- Joined: Mon Apr 18, 2005 2:40 pm
- Location: LS87, Buenos Aires, República Argentina
Re: Ship Type Organization
In linux it could be problematic, because regular users can't write to shared folders, so if vegastrike was installed as a package (in system-controlled paths), vssetup would have to request root priviledges to be able to download the music/sound/texture packs and... well... all that complication.
I believe it's best left as a packaging thing.
I believe it's best left as a packaging thing.
-
- Hunter
- Posts: 67
- Joined: Wed Sep 29, 2010 3:06 am
- Location: Lost in an adventure
Re: Ship Type Organization
I agree, especially for anything Linux.klauss wrote:I believe it's best left as a packaging thing.
-
- Hunter
- Posts: 67
- Joined: Wed Sep 29, 2010 3:06 am
- Location: Lost in an adventure
Re: Ship Type Organization
Plus basic sounds?klauss wrote:
- vegastrike-utcs-data-core: core game data for UTCS. Data that can't be missing, including basic textures.
Sorry, but I don't know the dataset nor Debian policy well enough to answer that question. However, if the packages were reasonably sized I suppose that an interested maintainer could get it back in.klauss wrote:Would that put per-package size back into debian-accepted limits?
It would be great to see the dataset move toward the 4-data-package arrangement that you suggested, not only for Debian but packaging in general.
-
- Hunter
- Posts: 93
- Joined: Sun May 06, 2007 6:43 pm
Re: Ship Type Organization
Just a note for this idea - I really like it, think it makes things potentially incredibly interesting. Buut:
How would you go about categorising ship construction?
For instance - you have an Aera fighter body, will you be sticking Confed engines on it? I would assume that you wouldn't - doubtful the technologies are at all similar. But would you then be able to put Aera small cargo tug engine on it?
Are you assigning parts based on, for example, race/faction and size? Or just size? Or some other way?
Also, how will the AI handle this? Randomly generated ships? Stock ships?
How would you go about categorising ship construction?
For instance - you have an Aera fighter body, will you be sticking Confed engines on it? I would assume that you wouldn't - doubtful the technologies are at all similar. But would you then be able to put Aera small cargo tug engine on it?
Are you assigning parts based on, for example, race/faction and size? Or just size? Or some other way?
Also, how will the AI handle this? Randomly generated ships? Stock ships?
The Twitching Pattern - http://www.last.fm/music/The+Twitching+Pattern
Have a listen.
Have a listen.
-
- Elite
- Posts: 1363
- Joined: Sat Aug 04, 2007 3:42 pm
Re: Ship Type Organization
All of those questions are answered by the existing game.
None of those issues would be new and a modular 3D model system wouldn't really affect them. The only differences are that you could see what parts you had installed visually and they could receive damage based on direct collisions, instead of a roll of the dice. So see for yourself how the game handles it-- buy an Ariston and try installing Rlaan equipment on it (I don't know myself, never tried it, but my guess is you can).
Making thrusters a purchasable upgrade separate from ship hulls would be a separate change. Though I do think it makes a lot of sense in it's own right and shouldn't upset anything.
And yes the current AI probably uses stock ships; to the best of my knowledge it isn't yet able to customize any ships that it uses with different sub system upgrades.
None of those issues would be new and a modular 3D model system wouldn't really affect them. The only differences are that you could see what parts you had installed visually and they could receive damage based on direct collisions, instead of a roll of the dice. So see for yourself how the game handles it-- buy an Ariston and try installing Rlaan equipment on it (I don't know myself, never tried it, but my guess is you can).
Making thrusters a purchasable upgrade separate from ship hulls would be a separate change. Though I do think it makes a lot of sense in it's own right and shouldn't upset anything.
And yes the current AI probably uses stock ships; to the best of my knowledge it isn't yet able to customize any ships that it uses with different sub system upgrades.