Automap (indoor & dungeon) implementation
Posted: Wed Nov 11, 2015 8:57 pm
Hi folks!
I create a seperate thread for this feature since discussion in thread viewtopic.php?f=18&t=150&start=50 is in danger to be too much spammed with automap implementation related questions
I want to give a short overview of what I have been able to achieve and what is still ahead of the road...
First see the screenshot below:
things accomplished:
I create a seperate thread for this feature since discussion in thread viewtopic.php?f=18&t=150&start=50 is in danger to be too much spammed with automap implementation related questions
I want to give a short overview of what I have been able to achieve and what is still ahead of the road...
First see the screenshot below:
things accomplished:
- automap background screen and geometry rendering above it (just the default scene geometry for the moment)
- control/navigation buttons implemented (tried to match behavior of vanilla daggerfall)
- 2D/3D view implemented
- integrated compass hud
- mouse wheel zooming
- dragging around geometry by drag and drop with left mouse button
- change camera tilt by mouse wheel up/down above grid button (didn't find a better control for it)
- set rotation pivot point to player position by right-clicking the grid button (this is useful since navigation buttons shift this pivot point like it is implemented in vanilla daggerfall)
- rotation by drag and drop with right mouse button
- the mini-overview of the rdb-blocks of the current dungeon with the player and start marker
- discovering of an initial unknown dungeon
- render a new instance of the geometry without npc and monster sprites, markers, etc., change material of meshes to custom material with custom shader to support stuff like:
- level slicing/hiding geometry (hiding geometry levels about current player's level - vanilla daggerfall did this)
- corridor hiding (vanilla daggerfall had this with left and right click on geometry - not sure if I will implement this in a similar way - I think transparency as mentioned below will do the trick as well)
- transparency used for geometry in front of the player occluding the player position/corridor
- alpha-blending used for geometry behind the "plane" in the distance of the player to the camera to make it easier to differ between near geometry and geometry further away
- color vs. grayscale rendering of geometry (I plan to render geometry in grayscale that has been discovered in a previous dungeon run and color the geometry revisited (or newly discovered) in the current dungeon run - of course it would be nice to further save this data about what has been discovered in which dungeon to savegames as well)
- optional custom art-like shading (to make the map look more like it had been drawn by hand) in the future