araagon: The radar is quite easy to do, its a bit of a kludge but it works well! Its an overlay system with the following script:
def Map(cont):
ow = cont.owner
sce = bge.logic.getCurrentScene()
obList = sce.objects
realScene = bge.logic.getSceneList()[0]
for ob in realScene.objects:
if 'enemy' in ob:
ow.scene.addObject('point',ob,1)
renderedContacts = [i for i in sce.objects if "blip" in i]
for blips in renderedContacts:
distance = ow.getDistanceTo(blips)
if distance > 11:
blips.endObject()
def Position(cont):
ow = cont.owner
bge.logic.globalDict["playerPosition"] = ow.worldPosition
bge.logic.globalDict["playerOrientation"] = ow.worldOrientation
def Position2(cont):
ow = cont.owner
ow.worldPosition = bge.logic.globalDict["playerPosition"]
ow.worldOrientation= bge.logic.globalDict["playerOrientation"]
def PositionWorld(cont):
ow = cont.owner
bge.logic.globalDict["worldOrientation"] = ow.worldOrientation
def PositionWorld2(cont):
ow = cont.owner
ow.worldOrientation = bge.logic.globalDict["worldOrientation"]
Its hard to explain how it works but here goes:
You have an overlay that essentially generates a marker for any object in the main scene. The overlay camera is parented to the player icon in the radar so as the player moves in the main scene, the players position and orientation are copied. In reality the overlay is spatially the same as the main scene (just the camera is further away).
In the overlay I do a simple distance check from the radar player icon to the enemy markers, and cull them a set distance (in my case, as the markers go over the edge of the radar ‘disc’.
The other orientations are for other radar ‘furniture’ like the background ‘hoops’ which use vertex parenting. They themselves have their nromals flipped (so they vanish when needed!)
The radar is fully 3D so in the overlay you could have logic to have the radar look down, 3D view (as is here) or behind. You could do it all at once (although there is a slight CPU cost).
If you are confused by that (and I would not blame you ) here is a blend. Its scrappy (I havent cleaned anything) but it works:
If you use this snippet to replace the same sections in the script posted it adds the following:
Radar ‘blips’ have the same orientation as their ‘real’ counterparts in the main scene
The closer a ‘blip’ is to the center of the radar (i.e. you!) the bigger it will get (and scale to nothing the further away it is)
Objects behind you are coloured blue on the radar
import bge
def Map(cont):
ow = cont.owner
sce = bge.logic.getCurrentScene()
obList = sce.objects
realScene = bge.logic.getSceneList()[0]
for ob in realScene.objects:
if 'enemy' in ob:
marker = ow.scene.addObject('point',ob,1)
marker.worldOrientation = ob.worldOrientation
renderedContacts = [i for i in sce.objects if "blip" in i]
for blips in renderedContacts:
distance = ow.getDistanceTo(blips)
distance2 = 1 / (distance / 2)
if distance2 < 1.5:
distance2 = distance2
else:
distance2 = 1.5
blips.localScale = [ distance2, distance2 ,distance2 ]
if distance > 11:
blips.endObject()
(dist, glob, loc) = ow.getVectTo(blips)
if loc.x > 0:
blips.color = [ 1.0, 0.0, 0.0, 1.0]
if loc.x < 0:
blips.color = [ 0.0, 1.0, 0.0, 1.0]
if loc.z > 0 and loc.z < 0.1:
blips.color = [ 1.0, 1.0, 1.0, 1.0]
EDIT:
This adds WHITE blips if the enemy contacts are level with you, and changes the colours a tad (red behind, green in front
In a similar vein to my favorite Miyazaki anime, Castle In the Sky, the player will be up against six giant flying islands (one per level). Each island is held aloft by magical gemstones- the player’s compass points to these hidden within the islands walls / structures, and when destroyed the corresponding section of island will fall away until the large core gem is found. When this is destroyed the island will fall to earth. Just like finding the weak spots in Shadow of the Colossus it adds an action puzzle element to the game.
Did you have seen the Anime “LAST EXILE”? cause some of those screenshots have an familiar (do you write it like that? xD) style… if not you should do that cause thats maybe a good inspiration for you (its also steampunk). Anyways your game looks interesting till now. Good luck with the project!
LioKon > I have indeed seen Last Exile (and highly entertaining it is too!), and it provides inspiration along with ProGear (an arcade game), Castle In the Sky, Starfox/ Starwing, and PropCycle (another arcade game).
my all time favorite is still princess mononoke (i know its not steampunk but i dont care xD)! but i have a nother question will it be possible to visit one of those citys? So when you fly near to the city you can press a key and the you will get a short loading screen and then you are in a small area with about 5 houses. i think that would be cool for some of those citys because it would mix up the gameplay a bit and you could show what kind of city it is (for example more industrial)… but maybe thats to much work How ever i still like the design of your assets! and again good luck with the project
sorry what i said was crap i forgot that this game is about dogfighting so visiting citys doesnt fit into this game maybe i saw to much star citizen videos… so ignore my comment
Nice idea though! A bit like Panzer Dragoon Saga. But for this game, the player must destroy each city. They do so by using the compass in the top centre of the screen that points to gems that levitate part of the city. As each gem is found and destroyed, the city slowly falls apart until the main gem is found. When that is destroyed, the whole city goes.
Imagine the Big Core bosses from Nemesis/Gradius where you destroy the little blocks that hide the core, but in 3D.