Tasks:Mapengine: Difference between revisions
Jump to navigation
Jump to search
→References: links/categories added |
m →Dependencies: Added links to more detailed "sub"-tasks |
||
Line 11: | Line 11: | ||
* [[Tasks:Graphics|Graphics]] implementation | * [[Tasks:Graphics|Graphics]] implementation | ||
* [[Tasks:Object Models|Object Model]] implementation | |||
* [[Tasks:Collision Detection|Collision Detection]] implementation | |||
== Requirements == | == Requirements == |
Revision as of 20:34, 1 September 2007
Back to Task List
Overview
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.
Dependencies
- Graphics implementation
- Object Model implementation
- Collision Detection implementation
Requirements
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 whole map need to be kept in memory. Loading of map areas happens in the background.
- The map model is 3-Dimensional, allowing different height levels. The camera is fixed to provide a top-down view.
- Objects displayed are 2-Dimensional, drawn according to the underlying 3D model of the world.
- Movement of characters through the world is pixel-based. Moving is at least possible in 8 directions.
- Speed of movement can vary between characters or the same character (running, walking, sneaking)
- Characters can walk, climb, jump and fall.
- Pathfinding for computer controlled characters.
- 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.
References
- Initial version of map engine in CVS
- Map Object Format specification (preliminary)
- Seamless map (see the whole thread)
- Some discussion about that code: [1] [2] [3]
- Idea for weather effects