Zorba the Hutt (zorbathut) wrote,
Zorba the Hutt

Our automap code in our game used to have a gigantic bitmap of the level, and just display it. Nice, simple, inefficient. Completely broke with the random maps - the bitmap ended up being far larger than the hardware could handle, and while we could have broken it up into pieces, we'd be looking at 4mb RAM usage on a platform where we've only got 32mb to begin with.

Our new automap code divides the map into blocks, then assembles those in realtime on the screen. That's what the image above is - the blocks it's divided the level into. In theory, we can represent any of our maps by slapping enough of those pieces together. Unfortunately the image you see above doesn't actually work - due to memory bandwidth constraints and how the microcode in the hardware processing works, we're limited to one byte per coordinate. 256x256 maps at most, and the above map is larger. Luckily, we can do flipping and rotating in hardware (which we're not taking advantage of) and we can merge very similar blocks (which, obviously, we're also not yet taking advantage of.)

On the other hand, it looks kinda neat this way. Reminds me of tilesets for ancient games.

Yes, this level has a pipe network.
  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.