Post news RSS The minimap

Well, we all need some kind of direction or minimap.... And any minimap must have some kind of background, or be completely transparent. As some systems do not really enjoy transparencies in their shaders, we kept to a solid one. This the path we ended up to get one as we liked.

Posted by on

Being Kon-TiKi a shooter, third person (third vessel more correctly), we needed or wanted some kind of minimap. The ocean is a vast place and without directions you loose your goal.

We already have made some frames for the minimap.

From pre-rendered high poly made in blender, with several thousands of triangles, to our current one which is simply a low poly torus with some displacement added.

Well, we started modeling it in blender and ended up with this, below. With a triangle count of 4758, we decided it was too much, so we rendered it and imported as a texture.

frame high 4758

As a texture, we started with a different model, without the knot. You can see below the result. It was too plastic. Rejected.


We cannot forget the overall look of Kon-TiKi. LOW poly. SO we returned quickly to blender to make a quick torus with some decimations and displacements. And we got something more like what we wanted.


That is ok. We used it several days but something was not quite right. The shading was static (it was pre-rendered), so we could not have any kind of smart 3d minimap... It was just a picture placed on a 3d space. But...

We already were working with a low poly version, so why not using it as a mesh? Done that. The result for the minimap frame is below. There is a specific light attached to it, so that when the player moves and rotates, and lights on the frame do change the coloring. That was what we really wanted. Job done! Note, the thick part of the frame is where "north" is. Didn't like the way the knot was going.

frame final

So, just put some background and all the items and done. And that was what we did. But a flat background would look... boring. So, as we are really in 3d space for the minimap, just put some background circle and that is that. The only thing we did not want was a plain and plane circle.

The background was already a procedural generated circle so the first though was: add some noise to the vertex and that is that. The result, as expected, is below.... boring!

boring circle

So, the solution we went for was to create the circle boundary, then generate some random points inside the circle and voilá. But before that, we needed some details. First, we needed some uniformly distribution of random points, instead of just choosing a random angle and random distance (our first try). And secondly, we choose to do a Delaunay triangulation of all those points to minimize extreme triangles (triangles with one side very long compared to the other ones). Below is the result, in mesh. A great improvement from the above one.

minimap paper ish mesh

With this, we just needed to add some random noise to each vertex (in depth axis) so the lighting was visible. Note that in a static image, the difference in light is a bit indistinguishable.

minimap paper ish 3d

minimap paper ish

Well, as most of the time, the minimap will face the camera, we do not really need to have it as a mesh, so we will get the generated data, and create a texture with the normal calculated from the above method. And we will end up with a good "3d" texture :)

p.s. the green triangle is your vessel. The red circle is the goal (a buoy) and the pink-ish circles are enemies.

drjd24 - - 299 comments

Holy crap. All that work just for the minimap :) (First time seeing this game too and you managed to impress me, good job >.<)

Reply Good karma Bad karma+2 votes
n1k0p0l Author
n1k0p0l - - 4 comments

thanks drjd24. now imagine the work for a big map :D

I'm posting from time to time some news on the development and visuals of KTK... This is the first

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.