Back to Task List
The mapengine is responsible for providing a model of the game world, including the environment, locations of characters and items. This data is kept in files and must be loaded and saved at need.
The map engine data is visualized by the Map View.
The mapengine needs the following features:
- The map is seamless, i.e. there are no transitions between different 'areas'. Transitions may occur when entering buildings or caverns.
- Only parts of the graphical map representation need to be kept in memory. Loading of map areas happens in the background.
- The complete physical map is kept in memory, to allow NPCs wandering over long distances. (done)
- Map can be loaded and saved with possibly different files for static and dynamic content. (done)
- The map model is 3-Dimensional, allowing different height levels. The camera is fixed to provide a top-down view. (done)
- Objects displayed are 2-Dimensional, drawn according to the underlying 3D model of the world. (done)
- Movement of characters through the world is pixel-based. Moving is at least possible in 8 directions. (done)
- Speed of movement can vary between characters or the same character (running, walking, sneaking) (done)
- Characters can walk, climb, jump and fall. (done)
- Pathfinding for computer controlled characters. (being done)
- Items can be placed on the 'ground' or other objects (table, shelf).
- Multiple items can share the same location
- Map events are triggered when characters enter or leave certain locations.