Frederikhome's minimap - Rotating map, bordersnapping blips and more!

Hello!
I’ve been working on this minimap which i’ve chosen to opensource for you to play around with. I’ve tried my best to make it non-coder friendly.

Rojo users can find the files in this github repository.

You can grab the free model here.

You can try out a showcase game here. All the settings in this game are completely default, and is what you will get, when you download the free model. Game is uncopylocked

What can the minimap do?
The minimap can do a lot of things.
It has a easy to add blip system, where you just add a tag to a part, and it’s ready to go. You can change just about anything in the ui. Want a pink minimap? Then you can get a pink minimap.

You can choose to have to blips snap to the borders of the minimap. This can make the experience for the player much better, because the important things are easy to find.

The map rotates with the camera, so what is up on the minimap is what you’re looking at.

It does what you would expect from a minimap. Move with the character, display the map and all that good stuff.

4NSzcNkA4H

yQjueKZ5Ii

It supports round maps too!
6KSP0aFjwu

Tutorial below here!
Insert the model and put it into Starterplayer scripts.

You’ll first of all need a tag editor plugin, so you can add tags to the part, which will tell the minimap to make a blip at that location. The minimap will error, if you add a tag, which you’ve added to the bliplist, to anything that is not a part. ONLY ADD THE TAGS TO PARTS.

You’ll also need a picture of your map. This can be made with this tool by @Widgeon & @reteach.
Keep in mind, that Roblox doesn’t support images larger than 1024x1024 pixels!

Click the “Auto configure” button before rending the map.
image

When the map is finished rendering, then set the settings. You’ll just have to write four values down:
(Note your values will not be the same values as shown below. Only the names will be the same)
image Pixel Size X, and Pixel Size Z/Y can be different from eachother. Write both of them down!
and
image
and
image

So in this case the mapsize is would be: 100/0.5 = 200 This is because the pixel per stud is 0.5 and the pixel size is 100
I got this by using the equation: image

The map is in this case 200x200 studs.
The mapcenter is in this case Vector3.new(0, 2, 0)

Set the Settings[“Map”] → [“size”] to the size of your map. In this case i would set the map to Vector2.new(200,200)
Set the Settings[“Map”] → [“mapCenter”] to the center of your map. In this case i would set the map center to Vector3.new(0, 2, 0)

This minimap has a lot of setting which you can tweak.
You access the settings by going Minimap → Settings.

API

Minimap:Toggle()
 --This toggles the minimap on and off. If you've set the setting "Visible" to false under "Technical", then you will have to call this function to make it visible.
 
Minimap:Resize(Vector2 - Size)
 --Resize the minimap while the game is running. This is useful if you want to have the map in different places during your game.
 
Minimap:Reposition(UDim2 - Position, Vector2 - Anchorpoint)
 --Reposition the minimap. You have the option to change the anchorpoint of the minimap too. Leave the anchorpoint variable blank if you want the same anchorpoint.

Minimap:AddBlip(Basepart - Object, String - TagName)
 --Add a new blip to the map. This uses collectionservice, so you don't need this function to add the tag, but will give you some safety, so that you don't give the basepart a unexistent tag.
 
Minimap:RemoveBlip(Basepart - Object)
 --Remove a blip from the map. This removes all tags, which is integrated into the minimap. Uses collectionservice, so you will be able to remove the tag with that too.

Minimap:ChangeMap(Number - MapId)
 --Change the mapid of the map.
 
Minimap:ChangeMapCenter(Vector3 - MapCenter)
 --Change the center of the map. Use this, if you change the mapid to a map with a different center.
172 Likes

Looks cool! Can we see a video of it in action?

6 Likes

Sure! You can check out the showcase game of it too.

1 Like

Very nice bro I can now render my terrain map you helped me Thx

3 Likes

UPDATE
Updated the post to have some things i missed.

  • Added a gif of the minimap in action
  • Added the settings, so you can have a look at them in the post
  • Added the API to the post, so you can have a look at it
  • Added a line in the tutorial telling you where to put the modulescript

This is a very minor update. Nothing has been changed in the scripts. There has only been changes to the post.

1 Like

This is cool! How does it work?

I’m in the car rn so I can’t look at the scripts

1 Like

It uses the ui framework Roact, and utilises the viewportframe. It’s really quite simple when you think about it, but i’ve played so many games in my time, where a minimap really has been needed. I know there’s other minimap modules, but i’ve not seen any module with the rotation functionality like my module.

3 Likes

Could you uncopylock the showcase place so we can check it out, how it is set up in there before we install it, also helps with bugs

2 Likes

I’ve made the game uncopylocked now. I hope it will help you!

thank you, this is going to really helpful for my game

After checking this out, this is really cool, good source

Just noticed this, but when i die, the minimap breaks for me
one of the errors im getting

 Workspace.Wertyhappy27.Minimap.Minimap.Roact.createReconciler:369: Unknown ElementKind "nil"

It doesn’t look like i’m able to recreate your bug.
Have you editted the scripts? Other than the settings of course.

If you could send a place file of the game, then it would be awesome.

It breaks after i use a load character

It seems that you’ve placed the scripts in the StarterCharacterScripts. You have to place the scripts inimage
StarterPlayer -> StarterPlayerScripts.

2 Likes

UPDATE 1.1.0

This update adds some new things to the API, and some safety fixes.

SECURITY CHANGES
Added errors for when you’re doing something wrong. This could for example be, if you’ve placed the minimapscripts in the wrong place.

SETTINGS CHANGES
It’s not important that your settings are up to date. If you’ve gotten a setting that has been added as an update, then it will forward to the default value if it’s not in your settings module.

--ADDED
["Map"] = {
    ["mapCenter"] = Vector3.new(0,0,0); --The center of the map picture.
}

API changes

--ADDED
Minimap:ChangeMap(Number - MapId)
 --Change the mapid of the map.
 
--ADDED
Minimap:ChangeMapCenter(Vector3 - MapCenter)
 --Change the center of the map. Use this, if you change the mapid to a map with a different center.

The free model has been updated with these changes.

Converting to the newest version

Updating to the newest version of the minimap is quite easy.

  1. Insert the new version of the free model.

  2. Move the new version of the model into StarterPlayer -> StarterPlayerScripts

  3. Delete the new version’s settings, and move the settings from the old version of your model into the new version.

  4. Now you’ve updated your minimap to the newest version.

Hey,nice mini map,I just notice map doesn’t scale and also I can’t make it my mini map fit with my current player position.

How did you take your picture for your minimap?

I used RoRender plugin that you gave.

You have to set the [“Map”] → [“mapCenter”] to the center of the picture you took the with RoRender plugin.

image (Set the y value of the vector to 0.)