Glossary#

Camera#

This is a vector used to translate between screen-space and world-space coordinates.

The camera is positioned in world-space. Screen position (0, 0) is projected onto the world position at where the camera is placed. This is the upper-left corner of the screen in libtcod or SDL.

Once you get the camera position via get_camera or by manually placing it you can convert between screen coordinates and world coordinates by applying vector math. This position is also used by get_slices, get_views, or get_chunked_slices.

Add the camera position to a screen position (such as a mouse tile position) to get the world position (such as where in the world itself the mouse is hovering over.) Subtract the camera position from a world position (such as a player object position) to get the screen position (such as where to draw the player on the screen.)

See the RogueBasin article on Scrolling maps for more details and a visual example.

Screen#

Screen-space is the array which is projected into the world using a camera.

Normally this array is something like a tcod console, such as tcod.console.Console.rgb. However, this can be any temporary array projected into the world.

World#

This is the map data which is stored normally as one or more arrays.