mbrlabs / Mundus

A 3D world/level editor built with Java, Kotlin & libGDX.
Apache License 2.0
214 stars 36 forks source link

New feature: Minimap with navigation means. #35

Open krukhlis opened 8 years ago

krukhlis commented 8 years ago

Hi All, just bringing new idea. :) I think, we need Minimap functionality with support for navigation by click. Minimap should show heights of terrain( probably by using some pallette to distinguish different heights). Also, it should show all the gameobjects as dots\circles\etc. By clicking on some region of minimap, camera will be immediately relocated to the corresponding position on the corresponding terrain.

codenigma commented 8 years ago

Hi :) Thats a good Idea for realy large maps. But I think this should not go directly into the editor. We will need some kind of plugin system, because some features are special and will not fit into every project. So it would be good to remove/deactivate some plugins for the sake of clarity in the UI.

So this Issue contains the tasks:

We should collect these for now. When we got plenty of features we should prioritze them in a roadmap.

mbrlabs commented 8 years ago

This would be relatively easy to implement. The terrains are already backed by a pixmap containing the heights. But i'm not convinced that this should go into the editor..that's more like a feature for an actual game.

I already thought about a plugin system. We would have to define a stable api that plugins can use. We would also have to think about what plugins should be capable of. That's a big feature and should be the subject of a whole release iteration (more like 0.2.0 when we have more editor features and a stable api).

krukhlis commented 8 years ago

Yep. But i think plugins are separate task, really complicated in order to provide the balanced, easy and secure API.

Regarding minimap shouldn't be the part of editor -- sorry, but i disagree. It's really inconvenient to fly with camera around the map manually if you need to place gameobjects in distant areas. Sometimes such flights take more time 'n actual gameobjects placement. Also, it's really hard to understand on large maps which part of the terrain is currently visible in the frustum. And actual lack of functionality to see the overall picture with location of the gameobjects makes understanding of what is done/what should be done in terms of world/playfield configuration really complicated. I do agree there should be means to turn minimap on and off. Also, I do agree the minimap component should be shared between runtime and editor -- so "design once and use everywhere" strategy will work.

P.S. I'm sharing my experience after design of the game similar to Jagged Alliance 2. :) So yes, this is position for strategical/tactical games. :)

mbrlabs commented 8 years ago

Hmm, well after all Mundus is a world editor, so this might be useful for real projects.

I could imagine implementing this in a native window using the lwjgl3/glfw features. You could drag the minimap window around + have the main editor window open. But this should be a editor only feature. I want to keep the runtime ui free.

codenigma commented 8 years ago

If this feature should only help on navigation. So the user don't have to zoom in and out like crazy if the map is that large I would suggest another, more universal solution which is used in many 3d tools:

Edit: And/Or we need a feature where we can zoom to a selected game object (maybe a shortcut and menu entry in the outline)