Tasks:Mapengine: Difference between revisions
Jump to navigation
Jump to search
m →References: updated references |
|||
(7 intermediate revisions by 2 users not shown) | |||
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 == | ||
Line 17: | Line 19: | ||
* The map is seamless, i.e. there are no transitions between different 'areas'. Transitions may occur when entering buildings or caverns. | * 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 | * Only parts of the graphical map representation 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. | * <span style="text-decoration:line-through">The complete physical map is kept in memory, to allow NPCs wandering over long distances.</span> (done) | ||
* Objects displayed are 2-Dimensional, drawn according to the underlying 3D model of the world. | * <span style="text-decoration:line-through">Map can be loaded and saved with possibly different files for static and dynamic content.</span> (done) | ||
* Movement of characters through the world is pixel-based. Moving is at least possible in 8 directions. | * <span style="text-decoration:line-through">The map model is 3-Dimensional, allowing different height levels. The camera is fixed to provide a top-down view.</span> (done) | ||
* Speed of movement can vary between characters or the same character (running, walking, sneaking) | * <span style="text-decoration:line-through">Objects displayed are 2-Dimensional, drawn according to the underlying 3D model of the world.</span> (done) | ||
* Characters can walk, climb, jump and fall. | * <span style="text-decoration:line-through">Movement of characters through the world is pixel-based. Moving is at least possible in 8 directions.</span> (done) | ||
* Pathfinding for computer controlled characters. | * <span style="text-decoration:line-through">Speed of movement can vary between characters or the same character (running, walking, sneaking)</span> (done) | ||
* <span style="text-decoration:line-through">Characters can walk, climb, jump and fall.</span> (done) | |||
* <span style="text-decoration:line-through">[[Tasks:Path_Finding|Pathfinding]] for computer controlled characters.</span> (being done) | |||
* [[Architecture:Rpg Module#Items and Inventories|Items]] can be placed on the 'ground' or other objects (table, shelf). | * [[Architecture:Rpg Module#Items and Inventories|Items]] can be placed on the 'ground' or other objects (table, shelf). | ||
* Multiple items can share the same location | * Multiple items can share the same location | ||
Line 30: | Line 34: | ||
== References == | == References == | ||
* [https://github.com/ksterker/adonthell/blob/master/src/world/area.h Current version] of map engine in GIT | |||
* [[Architecture:Map Object Format|Map Object Format]] specification | |||
* [http://lists.nongnu.org/archive/html/adonthell-devel/2002-07/msg00010.html Seamless map] (see the whole thread) | * [http://lists.nongnu.org/archive/html/adonthell-devel/2002-07/msg00010.html Seamless map] (see the whole thread) | ||
* [http://lists.nongnu.org/archive/html/adonthell-devel/2004-09/msg00002.html Idea] for weather effects | * [http://lists.nongnu.org/archive/html/adonthell-devel/2004-09/msg00002.html Idea] for weather effects | ||
[[Category:Tasks]] | |||
[[Category:Development]] |
Latest revision as of 10:41, 28 January 2012
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 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.
References
- Current version of map engine in GIT
- Map Object Format specification
- Seamless map (see the whole thread)
- Idea for weather effects