9
\$\begingroup\$

A very common approach in development of old games is to put the tile set on the corner of a level, to use it as a reference. For example:

example level

On this level, the developers put a set of tiles in the upper left corner.

But is there a name for this technique? I'm writing a manual about that and I would like to name it.

\$\endgroup\$
8
\$\begingroup\$

I don't know if there is a name, but this seems to be something you'd do to conserve memory.

First, a basic tile is very low resolution - just a few pixels across. But when rendered, they are magnified 2x, 3x, 4x, etc. and are much more "blocky" on the screen.

Next, older games will have a block of memory dedicated to screen display - what is in that memory is what's shown on screen. Keep in mind that memory is VERY tight in older platforms, so as a developer you want to save every little bit you can.

So rather than put your tiles into a separate memory space, you just make them part of your screen memory, thus saving a bit. And the artifact of this of course is that they show up on the screen.

From the perspective of memory access, the code doesn't care if the memory being accessed is being used for screen memory or variable storage. Basically, memory management in older games was very simple and there was just one block of memory available. There was no GPU, so no idea of separate processors and memory for programming versus screen display.

To give a sense of how tight memory could be programming earlier games, here is a quote from a 1983 article about programming the Atari and VIC computers, "Atari's super hi-resolution screen (and the 16-color GTIA modes) uses almost 8K of RAM." That seems like very little, but keep in mind the computer perhaps only had 48K of memory, a lot of which was taken up by other things besides the game.

\$\endgroup\$
  • \$\begingroup\$ Thank you for the answer! I know that this technique was common for development on old consoles. Do you know if it is currently used on game development, since we have many memory now? \$\endgroup\$ – Macabeus Jun 3 at 5:35
  • 3
    \$\begingroup\$ @Macabeus modern games do similar things with video memory. Yes, there is much more memory, and games are bigger too... on PC. There are modern games for mobile/handheld platforms. Also allocating all the memory you will need ensure they will not cause a degradation of performance midplay. Texture atlas are still a good idea, as switching textures has a cost. Many games store models out of view and move them when they are needed. In fact, some particle systems work that way. \$\endgroup\$ – Theraot Jun 3 at 7:34
  • \$\begingroup\$ it doesn't make sense. If tile data was stored before/alongside map data, it wouldn't show up as the literal tileset. It would look like a bunch of seemingly random tiles according to the colors of the pixels inside those tiles. E.g. you can see the VRAM data while doing memory exploration in some mario games (super mario land 2 and super mario bros 3), and it looks like a bunch of random tiles. Also, any sane programmer back in those days would optimize the maps better, there wouldn't be huge empty areas. \$\endgroup\$ – Bálint Jun 4 at 2:06
  • \$\begingroup\$ Both computers you mentioned and most consoles did care about where you defined the graphics, since they didn't have programmable graphics pipelines. The computers didn't even have a proper graphics system, those had to be defined as characters (in rare cases, setting pixels was possible but really slow) \$\endgroup\$ – Bálint Jun 4 at 2:19
  • \$\begingroup\$ I had an Atari 800 in 1984, but it's been a while since I programmed one... \$\endgroup\$ – Tim Holt Jun 4 at 5:17
8
\$\begingroup\$

It's a palette. Same thing you see some artists doing with colors. They draw a group of a couple of the main colors or even a gradient going between them for easy access. It's much easier to use a picker tool to select the next color than to go into the color picker wheel, fiddle around with it for a couple of minutes and pray it matches the rest of the picture.

Same thing with tiles, since most tile editors are just very advanced pixelart programs, but with tiles instead of colors.

\$\endgroup\$
  • \$\begingroup\$ I could say that both answers, your and Tim Holt's answer, are correct, right? It is useful as a palette and conserve memory, since the palette is stored at the tilemap. \$\endgroup\$ – Macabeus Jun 4 at 17:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.