MEMORY MANAGEMENT

As we have previously stated we will be creating this game for the Amiga 500 with 1mb RAM. In my opinion this is the classic Amiga setup and see no point in creating AGA versions for A600/A1200 as no one I knew had one back in the day, but everyone had an Amiga 500 and indeed most had the 1mb upgrade. So the challenge is to create within the limitations.

The internal 512Kb RAM will have to contain everything we need at runtime to make the game happen, that is the display, audio and code. This is because the Amiga Blitter, Copper and Paula chips interact directly with this RAM chip (is the way I understand it anyway).

So we will use the additional 512Kb for stuff we want to swap in, this can be things like additional spritesheets and audio we don’t need all the time etc. an example would be Willy’s gun sound, we don’t need this until the end of Level 5 so we will make it available just before we need it.

This approach frees up the internal RAM somewhat in the hope we can have all the music and graphics from the arcade game without having to sacrifice anything due to RAM limitations.

With that said and the work done so far, we can start to do some super rough calculations:

  • Internal 512Kb RAM

    • Music 70Kb (will contain the level, boss and cutscene music in the same file)

    • SFX 70Kb (these will be the core most used sounds)

    • Display 40Kb (the screen is 256 x 240 x 5bitplanes)

    • Code 30Kb

    • This leaves 300Kb currently

  • Expansion 512Kb RAM

    • Background Tileset 50Kb

    • Player Sprite 70Kb

    • Enemy Sprites 200Kb (ish..)

    • Additional GFX such as weapons, fonts 70Kb

    • Additional Audio 50Kb

    • Cutscene GFX 20Kb

This will all be loaded per level, so when you complete we will cut to the preloaded cutscene GFX and music and then start dumping the old stuff out and loading the next level’s assets in.

Having the game on 2 disks is expected but may not be necessary, we will see on that one :) If it is, then disk swapping will happen during the cutscene so will not interrupt gameplay.

This is all of course based on what we know so far, I expect all of that free memory to be used by one thing or another at some point but it’s all very encouraging.