Alright, lemme start off that I’ve done my fair share of searching. I’ve seen many techniques and the one that really appeals to me is viewports, as it seems that has the least amount of framerate drop. I want to ask how I would go about that? I know it involves Python but I have not found a script and I am not too good with Python yet.
add properties to each item you wish to track.
Always (120) true-------------python1
import bge cont=bge.logic.getCurrentcontroller() own=cont.owner always=cont.sensors['Always'] always2=cont.sensors['Always2'] if always.Positive or 'init' not in own: D=30 if 'init' not in own: own['Init']=True own['ItemList']= scene=bge.logic.getCurrentScene() for items in scene.objects: if player.getDistanceTo(items)<D and 'Property' in items: own['ItemList']+=[Items] if always2.positve: for items in own['ItemList']: addObject=scene.addObject("blip",own,5) addObject.setParent(own,0,1) addObject.worldPosition=own.worldPosition+((items.worldPosition*own.worldOrientation)*Scale)
it may need work and it’s untested
Steaming hot blend
Still needs work
Edit :Added version 2 (looks right to me, but I have not tested extensively)
Edit3- added ui
MinMapDemo3.blend (497 KB)