What happened to the game's size?

(previously 'DEVELOPER') Private forum for registered community members. To register, please visit www.prison-architect.com/register.

Moderator: NBJeff

thekillergreece
level4
level4
Posts: 876
Joined: Wed Jun 12, 2013 1:31 pm
Location: Ammm...Greece maybe?

What happened to the game's size?

Postby thekillergreece » Sat Nov 30, 2013 6:20 am

Comparing with Alpha 14, it was 138MB and now it is 85MB which is critical low, giving wonderings to most players(Who had not bought the game yet) thinking its a small game and avoid purchasing it. A demo would fix it anyways.


Why its size has been reduced? Most deleted files are from Sounds and some from Main.dat.
RGeezy911
level5
level5
Posts: 1098
Joined: Fri Aug 09, 2013 7:21 pm

Re: What happened to the game's size?

Postby RGeezy911 » Sat Nov 30, 2013 6:27 am

Potential customers who are thinking about Prison Architect will not be lost because of the file size. Mostly because they can't even see the file size on both the Steam store or the Introversion Store.

To answer your question, it's most likely because of the heavy optimizations that were done to the game.
yos233
level1
level1
Posts: 62
Joined: Thu Sep 05, 2013 8:27 pm

Re: What happened to the game's size?

Postby yos233 » Sat Nov 30, 2013 8:40 am

Keep in mind that 85 megabytes is 85 million bytes. That is a huge number just by itself. Actual code takes up a minority of that size, I would estimate the code is no more than 10MB. For (primarily) one programmer, without a lot of procedural code generation, even that much code would be hard to write. The rest would be resources, like sound and the sprite sheet.

Graphics would also take up a minority of the size. The whole of the game is pretty much contained in one image file, the sprite sheet. There would be few others, for the menus. In total, I would give graphics 20MB as well.

Sound is a huge space hog. Even compressed, sound files quickly reach megabyte sizes. I'd give the other 40MB to sound. I imagine IV removed some extra sound clips in this build, that would be the easiest way to cut the size in half.

*Note, I wrote this before I looked in the PA folder. My PA (Steam-edition) is 100MB. The executable, where all the code is, is 5MB. The main.dat, which I imagine is where the graphics are is 19 MB. The other 78MB is the sound.dat.
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Re: What happened to the game's size?

Postby xander » Sat Nov 30, 2013 10:33 pm

To add to previous comments, the Mac non-Steam versions look like this:

Alpha 14:

Code: Select all

tisiphone: xander$ ls -Rlh
total 0
drwxr-xr-x@ 7 xander  staff   238B 27 Aug 14:21 Contents

./Contents:
total 16
drwxr-xr-x@ 4 xander  staff   136B  1 Oct 09:25 Frameworks
-rw-r--r--@ 1 xander  staff   1.2K  3 Sep 05:54 Info.plist
drwxr-xr-x@ 4 xander  staff   136B  1 Oct 09:25 MacOS
-rw-r--r--@ 1 xander  staff     8B  3 Sep 05:54 PkgInfo
drwxr-xr-x@ 7 xander  staff   238B  1 Oct 09:24 Resources

./Contents/Frameworks:
total 0
drwxr-xr-x@ 6 xander  staff   204B 30 Nov 13:18 SDL.framework
drwxr-xr-x@ 6 xander  staff   204B 30 Nov 13:18 libpng.framework

./Contents/Frameworks/SDL.framework:
total 24
lrwxr-xr-x@ 1 xander  staff    24B 30 Nov 13:18 Headers -> Versions/Current/Headers
lrwxr-xr-x@ 1 xander  staff    26B 30 Nov 13:18 Resources -> Versions/Current/Resources
lrwxr-xr-x@ 1 xander  staff    20B 30 Nov 13:18 SDL -> Versions/Current/SDL
drwxr-xr-x@ 4 xander  staff   136B 30 Nov 13:18 Versions

./Contents/Frameworks/SDL.framework/Versions:
total 8
drwxr-xr-x@ 5 xander  staff   170B  1 Oct 09:25 A
lrwxr-xr-x@ 1 xander  staff     1B 30 Nov 13:18 Current -> A

./Contents/Frameworks/SDL.framework/Versions/A:
total 1816
drwxr-xr-x@ 40 xander  staff   1.3K  1 Oct 09:25 Headers
drwxr-xr-x@  4 xander  staff   136B  1 Oct 09:25 Resources
-rwxr-xr-x@  1 xander  staff   905K  1 Oct 09:25 SDL

./Contents/Frameworks/SDL.framework/Versions/A/Headers:
total 1192
-rw-r--r--@ 1 xander  staff   3.1K  1 Oct 09:25 SDL.h
-rw-r--r--@ 1 xander  staff   1.8K  1 Oct 09:25 SDL_active.h
-rw-r--r--@ 1 xander  staff    11K  1 Oct 09:25 SDL_audio.h
-rw-r--r--@ 1 xander  staff   910B  1 Oct 09:25 SDL_byteorder.h
-rw-r--r--@ 1 xander  staff   5.5K  1 Oct 09:25 SDL_cdrom.h
-rw-r--r--@ 1 xander  staff   1.4K  1 Oct 09:25 SDL_config.h
-rw-r--r--@ 1 xander  staff   2.7K  1 Oct 09:25 SDL_config_dreamcast.h
-rw-r--r--@ 1 xander  staff   2.7K  1 Oct 09:25 SDL_config_macos.h
-rw-r--r--@ 1 xander  staff   3.5K  1 Oct 09:25 SDL_config_macosx.h
-rw-r--r--@ 1 xander  staff   3.5K  1 Oct 09:25 SDL_config_os2.h
-rw-r--r--@ 1 xander  staff   4.4K  1 Oct 09:25 SDL_config_win32.h
-rw-r--r--@ 1 xander  staff   869B  1 Oct 09:25 SDL_copying.h
-rw-r--r--@ 1 xander  staff   2.2K  1 Oct 09:25 SDL_cpuinfo.h
-rw-r--r--@ 1 xander  staff   5.5K  1 Oct 09:25 SDL_endian.h
-rw-r--r--@ 1 xander  staff   1.7K  1 Oct 09:25 SDL_error.h
-rw-r--r--@ 1 xander  staff    12K  1 Oct 09:25 SDL_events.h
-rw-r--r--@ 1 xander  staff   910B  1 Oct 09:25 SDL_getenv.h
-rw-r--r--@ 1 xander  staff   5.1K  1 Oct 09:25 SDL_joystick.h
-rw-r--r--@ 1 xander  staff   3.8K  1 Oct 09:25 SDL_keyboard.h
-rw-r--r--@ 1 xander  staff   7.0K  1 Oct 09:25 SDL_keysym.h
-rw-r--r--@ 1 xander  staff   2.7K  1 Oct 09:25 SDL_loadso.h
-rw-r--r--@ 1 xander  staff   2.7K  1 Oct 09:25 SDL_main.h
-rw-r--r--@ 1 xander  staff   4.6K  1 Oct 09:25 SDL_mouse.h
-rw-r--r--@ 1 xander  staff   5.6K  1 Oct 09:25 SDL_mutex.h
-rw-r--r--@ 1 xander  staff   183B  1 Oct 09:25 SDL_name.h
-rw-r--r--@ 1 xander  staff   328K  1 Oct 09:25 SDL_opengl.h
-rw-r--r--@ 1 xander  staff   2.5K  1 Oct 09:25 SDL_platform.h
-rw-r--r--@ 1 xander  staff   1.9K  1 Oct 09:25 SDL_quit.h
-rw-r--r--@ 1 xander  staff   4.7K  1 Oct 09:25 SDL_rwops.h
-rw-r--r--@ 1 xander  staff    15K  1 Oct 09:25 SDL_stdinc.h
-rw-r--r--@ 1 xander  staff   5.9K  1 Oct 09:25 SDL_syswm.h
-rw-r--r--@ 1 xander  staff   4.3K  1 Oct 09:25 SDL_thread.h
-rw-r--r--@ 1 xander  staff   4.3K  1 Oct 09:25 SDL_timer.h
-rw-r--r--@ 1 xander  staff   910B  1 Oct 09:25 SDL_types.h
-rw-r--r--@ 1 xander  staff   2.5K  1 Oct 09:25 SDL_version.h
-rw-r--r--@ 1 xander  staff    36K  1 Oct 09:25 SDL_video.h
-rw-r--r--@ 1 xander  staff   4.2K  1 Oct 09:25 begin_code.h
-rw-r--r--@ 1 xander  staff   1.4K  1 Oct 09:25 close_code.h

./Contents/Frameworks/SDL.framework/Versions/A/Resources:
total 8
-rw-r--r--@ 1 xander  staff   789B  1 Oct 09:25 Info.plist
drwxr-xr-x@ 5 xander  staff   170B  1 Oct 09:25 SDLMain.nib

./Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib:
total 24
-rw-r--r--@ 1 xander  staff   302B  1 Oct 09:25 classes.nib
-rw-r--r--@ 1 xander  staff   352B  1 Oct 09:25 info.nib
-rw-r--r--@ 1 xander  staff   1.7K  1 Oct 09:25 objects.nib

./Contents/Frameworks/libpng.framework:
total 24
lrwxr-xr-x@ 1 xander  staff    24B 30 Nov 13:18 Headers -> Versions/Current/Headers
lrwxr-xr-x@ 1 xander  staff    26B 30 Nov 13:18 Resources -> Versions/Current/Resources
drwxr-xr-x@ 4 xander  staff   136B 30 Nov 13:18 Versions
lrwxr-xr-x@ 1 xander  staff    23B 30 Nov 13:18 libpng -> Versions/Current/libpng

./Contents/Frameworks/libpng.framework/Versions:
total 8
drwxr-xr-x@ 5 xander  staff   170B  1 Oct 09:25 1.5.10
lrwxr-xr-x@ 1 xander  staff     6B 30 Nov 13:18 Current -> 1.5.10

./Contents/Frameworks/libpng.framework/Versions/1.5.10:
total 280
drwxr-xr-x@ 5 xander  staff   170B  1 Oct 09:25 Headers
drwxr-xr-x@ 4 xander  staff   136B  1 Oct 09:25 Resources
-rwxr-xr-x@ 1 xander  staff   139K  1 Oct 09:25 libpng

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Headers:
total 296
-rw-r--r--@ 1 xander  staff   115K  1 Oct 09:25 png.h
-rw-r--r--@ 1 xander  staff    21K  1 Oct 09:25 pngconf.h
-rw-r--r--@ 1 xander  staff   6.3K  1 Oct 09:25 pnglibconf.h

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Resources:
total 8
drwxr-xr-x@ 3 xander  staff   102B  1 Oct 09:25 English.lproj
-rw-r--r--@ 1 xander  staff   1.1K  1 Oct 09:25 Info.plist

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Resources/English.lproj:
total 8
-rw-r--r--@ 1 xander  staff   142B  1 Oct 09:25 InfoPlist.strings

./Contents/MacOS:
total 9568
-rwxr-xr-x@ 1 xander  staff   4.6M  1 Oct 09:25 Prison Architect
-rw-r--r--@ 1 xander  staff    84K 27 Aug 14:21 libsteam_api.dylib

./Contents/Resources:
total 235912
drwxr-xr-x@ 4 xander  staff   136B 27 Aug 14:21 English.lproj
drwxr-xr-x@ 3 xander  staff   102B  1 Oct 09:24 SDLMain.nib
-rw-r--r--@ 1 xander  staff    69K 27 Aug 14:21 icon-mac.icns
-rwxr-xr-x@ 1 xander  staff    19M  1 Oct 09:24 main.dat
-rwxr-xr-x@ 1 xander  staff    96M  1 Oct 09:24 sounds.dat

./Contents/Resources/English.lproj:
total 8
-rw-r--r--@ 1 xander  staff    92B 27 Aug 14:21 InfoPlist.strings
drwxr-xr-x@ 3 xander  staff   102B 27 Aug 14:21 main.nib

./Contents/Resources/English.lproj/main.nib:
total 24
-rw-r--r--@ 1 xander  staff    11K 27 Aug 14:21 objects.xib

./Contents/Resources/SDLMain.nib:
total 8
-rw-r--r--@ 1 xander  staff   1.7K  1 Oct 09:24 objects.nib


Alpha 15:

Code: Select all

tisiphone: xander$ ls -Rlh
total 0
-rw-r--r--  1 xander  staff     0B 30 Nov 13:25 1.5.10
-rw-r--r--  1 xander  staff     0B 30 Nov 13:25 A
drwxr-xr-x@ 7 xander  staff   238B 19 Nov 12:46 Contents

./Contents:
total 16
drwxr-xr-x@  4 xander  staff   136B 19 Nov 12:46 Frameworks
-rw-r--r--@  1 xander  staff   1.2K 19 Nov 12:45 Info.plist
drwxr-xr-x@  4 xander  staff   136B 29 Nov 08:43 MacOS
-rw-r--r--@  1 xander  staff     8B 19 Nov 12:45 PkgInfo
drwxr-xr-x@ 11 xander  staff   374B 28 Nov 10:48 Resources

./Contents/Frameworks:
total 0
drwxr-xr-x@ 6 xander  staff   204B 30 Nov 13:18 SDL.framework
drwxr-xr-x@ 6 xander  staff   204B 30 Nov 13:18 libpng.framework

./Contents/Frameworks/SDL.framework:
total 24
lrwxr-xr-x@ 1 xander  staff    24B 30 Nov 13:18 Headers -> Versions/Current/Headers
lrwxr-xr-x@ 1 xander  staff    26B 30 Nov 13:18 Resources -> Versions/Current/Resources
lrwxr-xr-x@ 1 xander  staff    20B 30 Nov 13:18 SDL -> Versions/Current/SDL
drwxr-xr-x@ 4 xander  staff   136B 30 Nov 13:18 Versions

./Contents/Frameworks/SDL.framework/Versions:
total 8
drwxr-xr-x@ 5 xander  staff   170B 19 Nov 12:46 A
lrwxr-xr-x@ 1 xander  staff     1B 30 Nov 13:18 Current -> A

./Contents/Frameworks/SDL.framework/Versions/A:
total 1816
drwxr-xr-x@ 40 xander  staff   1.3K 19 Nov 12:46 Headers
drwxr-xr-x@  4 xander  staff   136B 19 Nov 12:46 Resources
-rwxr-xr-x@  1 xander  staff   905K 19 Nov 12:46 SDL

./Contents/Frameworks/SDL.framework/Versions/A/Headers:
total 1192
-rw-r--r--@ 1 xander  staff   3.1K 19 Nov 12:46 SDL.h
-rw-r--r--@ 1 xander  staff   1.8K 19 Nov 12:46 SDL_active.h
-rw-r--r--@ 1 xander  staff    11K 19 Nov 12:46 SDL_audio.h
-rw-r--r--@ 1 xander  staff   910B 19 Nov 12:46 SDL_byteorder.h
-rw-r--r--@ 1 xander  staff   5.5K 19 Nov 12:46 SDL_cdrom.h
-rw-r--r--@ 1 xander  staff   1.4K 19 Nov 12:46 SDL_config.h
-rw-r--r--@ 1 xander  staff   2.7K 19 Nov 12:46 SDL_config_dreamcast.h
-rw-r--r--@ 1 xander  staff   2.7K 19 Nov 12:46 SDL_config_macos.h
-rw-r--r--@ 1 xander  staff   3.5K 19 Nov 12:46 SDL_config_macosx.h
-rw-r--r--@ 1 xander  staff   3.5K 19 Nov 12:46 SDL_config_os2.h
-rw-r--r--@ 1 xander  staff   4.4K 19 Nov 12:46 SDL_config_win32.h
-rw-r--r--@ 1 xander  staff   869B 19 Nov 12:46 SDL_copying.h
-rw-r--r--@ 1 xander  staff   2.2K 19 Nov 12:46 SDL_cpuinfo.h
-rw-r--r--@ 1 xander  staff   5.5K 19 Nov 12:46 SDL_endian.h
-rw-r--r--@ 1 xander  staff   1.7K 19 Nov 12:46 SDL_error.h
-rw-r--r--@ 1 xander  staff    12K 19 Nov 12:46 SDL_events.h
-rw-r--r--@ 1 xander  staff   910B 19 Nov 12:46 SDL_getenv.h
-rw-r--r--@ 1 xander  staff   5.1K 19 Nov 12:46 SDL_joystick.h
-rw-r--r--@ 1 xander  staff   3.8K 19 Nov 12:46 SDL_keyboard.h
-rw-r--r--@ 1 xander  staff   7.0K 19 Nov 12:46 SDL_keysym.h
-rw-r--r--@ 1 xander  staff   2.7K 19 Nov 12:46 SDL_loadso.h
-rw-r--r--@ 1 xander  staff   2.7K 19 Nov 12:46 SDL_main.h
-rw-r--r--@ 1 xander  staff   4.6K 19 Nov 12:46 SDL_mouse.h
-rw-r--r--@ 1 xander  staff   5.6K 19 Nov 12:46 SDL_mutex.h
-rw-r--r--@ 1 xander  staff   183B 19 Nov 12:46 SDL_name.h
-rw-r--r--@ 1 xander  staff   328K 19 Nov 12:46 SDL_opengl.h
-rw-r--r--@ 1 xander  staff   2.5K 19 Nov 12:46 SDL_platform.h
-rw-r--r--@ 1 xander  staff   1.9K 19 Nov 12:46 SDL_quit.h
-rw-r--r--@ 1 xander  staff   4.7K 19 Nov 12:46 SDL_rwops.h
-rw-r--r--@ 1 xander  staff    15K 19 Nov 12:46 SDL_stdinc.h
-rw-r--r--@ 1 xander  staff   5.9K 19 Nov 12:46 SDL_syswm.h
-rw-r--r--@ 1 xander  staff   4.3K 19 Nov 12:46 SDL_thread.h
-rw-r--r--@ 1 xander  staff   4.3K 19 Nov 12:46 SDL_timer.h
-rw-r--r--@ 1 xander  staff   910B 19 Nov 12:46 SDL_types.h
-rw-r--r--@ 1 xander  staff   2.5K 19 Nov 12:46 SDL_version.h
-rw-r--r--@ 1 xander  staff    36K 19 Nov 12:46 SDL_video.h
-rw-r--r--@ 1 xander  staff   4.2K 19 Nov 12:46 begin_code.h
-rw-r--r--@ 1 xander  staff   1.4K 19 Nov 12:46 close_code.h

./Contents/Frameworks/SDL.framework/Versions/A/Resources:
total 8
-rw-r--r--@ 1 xander  staff   789B 19 Nov 12:46 Info.plist
drwxr-xr-x@ 5 xander  staff   170B 19 Nov 12:46 SDLMain.nib

./Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib:
total 24
-rw-r--r--@ 1 xander  staff   302B 19 Nov 12:46 classes.nib
-rw-r--r--@ 1 xander  staff   352B 19 Nov 12:46 info.nib
-rw-r--r--@ 1 xander  staff   1.7K 19 Nov 12:46 objects.nib

./Contents/Frameworks/libpng.framework:
total 24
lrwxr-xr-x@ 1 xander  staff    24B 30 Nov 13:18 Headers -> Versions/Current/Headers
lrwxr-xr-x@ 1 xander  staff    26B 30 Nov 13:18 Resources -> Versions/Current/Resources
drwxr-xr-x@ 4 xander  staff   136B 30 Nov 13:18 Versions
lrwxr-xr-x@ 1 xander  staff    23B 30 Nov 13:18 libpng -> Versions/Current/libpng

./Contents/Frameworks/libpng.framework/Versions:
total 8
drwxr-xr-x@ 5 xander  staff   170B 19 Nov 12:46 1.5.10
lrwxr-xr-x@ 1 xander  staff     6B 30 Nov 13:18 Current -> 1.5.10

./Contents/Frameworks/libpng.framework/Versions/1.5.10:
total 280
drwxr-xr-x@ 5 xander  staff   170B 19 Nov 12:46 Headers
drwxr-xr-x@ 4 xander  staff   136B 19 Nov 12:46 Resources
-rwxr-xr-x@ 1 xander  staff   139K 19 Nov 12:46 libpng

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Headers:
total 296
-rw-r--r--@ 1 xander  staff   115K 19 Nov 12:46 png.h
-rw-r--r--@ 1 xander  staff    21K 19 Nov 12:46 pngconf.h
-rw-r--r--@ 1 xander  staff   6.3K 19 Nov 12:46 pnglibconf.h

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Resources:
total 8
drwxr-xr-x@ 3 xander  staff   102B 19 Nov 12:46 English.lproj
-rw-r--r--@ 1 xander  staff   1.1K 19 Nov 12:46 Info.plist

./Contents/Frameworks/libpng.framework/Versions/1.5.10/Resources/English.lproj:
total 8
-rw-r--r--@ 1 xander  staff   142B 19 Nov 12:46 InfoPlist.strings

./Contents/MacOS:
total 9896
-rwxr-xr-x@ 1 xander  staff   4.7M 29 Nov 08:43 Prison Architect
-rw-r--r--@ 1 xander  staff    84K 19 Nov 12:46 libsteam_api.dylib

./Contents/Resources:
total 195592
drwxr-xr-x@ 4 xander  staff   136B 19 Nov 12:45 English.lproj
drwxr-xr-x@ 3 xander  staff   102B 19 Nov 12:45 SDLMain.nib
-rw-r--r--@ 1 xander  staff    78K 28 Nov 03:05 base-language.txt
-rw-r--r--@ 1 xander  staff   1.4K 26 Nov 09:10 complaints.spritebank
-rw-r--r--@ 1 xander  staff    38K 21 Nov 03:37 fullgame.txt
-rw-r--r--@ 1 xander  staff    69K 19 Nov 12:45 icon-mac.icns
-rw-r--r--@ 1 xander  staff    84K 20 Nov 04:40 libsteam_api.dylib
-rw-r--r--@ 1 xander  staff    19M 28 Nov 10:48 main.dat
-rw-r--r--@ 1 xander  staff    76M 28 Nov 10:48 sounds.dat

./Contents/Resources/English.lproj:
total 8
-rw-r--r--@ 1 xander  staff    92B 19 Nov 12:45 InfoPlist.strings
drwxr-xr-x@ 3 xander  staff   102B 19 Nov 12:45 main.nib

./Contents/Resources/English.lproj/main.nib:
total 24
-rw-r--r--@ 1 xander  staff    10K 19 Nov 12:45 objects.xib

./Contents/Resources/SDLMain.nib:
total 8
-rw-r--r--@ 1 xander  staff   1.7K 19 Nov 12:45 objects.nib


If you scroll through that output, you will note that the biggest change is a 20 MB reduction in the size of sounds.dat, which makes up for most of the difference. One suspects that either unnecessary sounds were removed, or that the entire archive was compressed using a more efficient (or lossier) method.

xander
ascdren
level1
level1
Posts: 19
Joined: Sun Oct 21, 2012 6:11 pm

Re: What happened to the game's size?

Postby ascdren » Sat Nov 30, 2013 11:36 pm

yos233 wrote:Keep in mind that 85 megabytes is 85 million bytes.


actually 85MB is just over 89 million Bytes (89128960 to be exact) or 85*2^20


how data is calculated

1 bit (a 1 or a 0, thats it)

a nibble = 4 bit (yes this really exists)

1 byte = 8 bit OR 2 nibble

1 Kilobite KB = 1024 bytes

1 Megabite = 1,048,576 bytes OR 1024 Kilobytes

this is because data is stored in binary and 2^10 = 1024 so is a nice round number in binary
User avatar
Chris
Introversion Staff
Introversion Staff
Posts: 1172
Joined: Sat Nov 25, 2000 7:28 pm
Location: Cambridge, UK
Contact:

Re: What happened to the game's size?

Postby Chris » Sun Dec 01, 2013 12:20 am

Lots of unused sounds were stripped out, that is all.
User avatar
xander
level5
level5
Posts: 16869
Joined: Thu Oct 21, 2004 11:41 pm
Location: Highland, CA, USA
Contact:

Re: What happened to the game's size?

Postby xander » Sun Dec 01, 2013 1:31 am

ascdren wrote:--==<snip>==--

Pedantic post is pedantic. The orders of magnitude are correct, which was the point of yos233's post.

Chris: Thank you for the explanation.

xander

Return to “Community Members”

Who is online

Users browsing this forum: No registered users and 2 guests