UltraMap

UltraMap is a new mini map system inspired by most popular video games.
It offers point, area and path rendering with lots of customization settings most of which can be changed or animated at runtime.
Shape can be circular, rectangular…actually, any shape you define by vertices :wink:

[video]- YouTube
Point rendering uses “point classes”. They basically define how the point should be rendered.
One point class can be reused as much as you want even for different types of points (locals and globals)
**
POINT RENDERING:**

  • Simple / advanced
  • Opacity changes by vertical distance (lower point visibility of points above or underneath the player)
  • Point sweeping around player (when they are too close)
  • Hiding points close to player point
  • Docking points
  • Applying or not applying actor’s rotation to point’s rotation
  • Rotating docked points by the angle between them and the player
  • Affecting point size when they get closer to mini map’s boundaries
  • Size blending between the size of a docked point and a normal point
  • Deflating the size of points going out of range


Default point material:

**
PATH RENDERING:**

  • Automatic subdivison (path gets more subdivided where it needs to)
  • Rendering separate points OR connected lines
  • Width and color settings
  • Precision parameter (adjusts subdivision detail)
  • Path following surveillance (if player ignores the path, a message listener will be called by mini map) - thus, you can react and find a new path and send it to mini map
  • Removal of old path points and complete path removal once player reaches the end of path

An example of rendering path as a set of separate points

**
COMMUNICATION:**

  • Both areas and points can tell the mini map if they want to look differently
  • Recognition of local and global points can be defined at runtime (e.g. you can tell mini map to recognize banks, bars and other buildings once player approaches the city)
  • You can stop the recognition of certain actors (e.g. stop recognizing banks, bars etc. when player goes to countryside)
  • An actor (or pawn) can behave both as local or as global (can tell mini map what it wants to be and change it any time)
    So, if a player sets bank as its destination point, it can tell the mini map to stay docked
  • Path can be defined and redefined any time
  • Message listener receives warnings if player does not follow the path
  • Message listener also knows what point on the mini map was clicked, this however also knows the actor whose point received a click

POINT CLICKING
Mini map contains a few parameters to adjust if you have any issues with point clicking
Simple way - finds first closest point clicked
Dynamic point retrieval - takes point sizes into consideration
Find closest point - takes point sizes into consideration and chooses the closest among them (in case points are too close to each other)

Automatic mini map material

Result of one of many possible ways to customize the material
without using any texture at all