i think that 1024*768(*32 not *24) is plenty. but honestly, i'd worry about that once you have a working demo, the higher resolution, the higher the cpu cost. As right now, the average person doesn't even have a graphics card that can handle shaders (let alone high-def monitors), but as you said, if that were to be an option on a menu, the gpu dilemma would be solely in the hands of the consumer. I have no clue how dbpro would perform in high-definition, but i guess it's worth a shot. remember what you said:
Or maybe the resolution doesn't matter, as long as it plays well and is FUN.
and that is a timeless truth. what it looks like is more of a afterthought, after you are sure that the game runs smoothly, efficiently, and is bug-free.
I suppose the radar could be drawn to a bitmap, then printed as a sprite, but that would slow the whole thing down a bit. I'm not quite sure of what you mean by "the actual screen size", but I've modified the code so it automatically scales the radar to about 1/10 if the screen width (in pixels). if you want it to be 1/10 of your monitor screen size, let me know and ill see what i can do. I've also converted the thing into functions.
+ Code Snippet`\\\
`Simple Radar by Revenant_chaos
`>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
`Email-Revenant_chaos@yahoo.com//
`///////////////////////////////
set display mode 1152,864,32
sync on ; `hide mouse
distX as float ; distY as float
posx as float ; posz as float
objdist as float
radardist=1000 `range that radar will cover
`CHANGED CODE:
`Now calculates the radarscale automatically according to the screenwidth
`to end up with about 10% of the screenwidth (in pixels)
radarscale as float
radarscale=(screen width()/10)*0.562/radardist
numofradaritems=30 `number of objects to be checked for
set ambient light 10
dim boxcolor(numofradaritems,3)
randomobj(numofradaritems)
do
control camera using arrowkeys 0,.5,.33 `keyboard walking
rotate camera 0,wrapvalue(camera angle Y()+mousemoveX()),0 `mouselook
if held=0
if scancode()=78 then radarscale=radarscale+.01 `scale radar
if scancode()=74 then radarscale=radarscale-.01 `scale radar
endif ; held=scancode()
if inkey$()="h" and showhud=0 then showhud=1 `toggle HUD
HUD(showhud,radarscale) ; radar(radardist,radarscale,numofradaritems)
sync ; loop
Function radar(radardist as float,radarscale as float,numofradaritems)
ink rgb(255,0,0),1 `RED
radarscreenposX=radardist*radarscale`Auto position the radar X
radarscreenposY=radardist*radarscale`Auto position the radar Y
circle radarscreenposX,radarscreenposY,radardist*radarscale `Draw the radar outline circle
dot radarscreenposX,radarscreenposY `draw the player's blip in the center
`Draw cross in center of radar
line radarscreenposX,radarscreenposY-(radardist*radarscale),radarscreenposX,radarscreenposY+(radardist*radarscale)
line radarscreenposX-(radardist*radarscale),radarscreenposY,radarscreenposX+(radardist*radarscale),radarscreenposY
ink rgb(255,255,255),1 `WHITE
for tmp=1 to numofradaritems
distX=camera position X()-object position X(tmp)`get our X distance from the target
distZ=camera position Z()-object position Z(tmp)`get our Z distance from the target
objdist=abs(distX)+abs(distZ) `convert to positive values, then add them
if abs(objdist)<radardist `if positive distance is within range
tmpang=wrapvalue(atanfull(distX,distZ)-camera angle Y()) `get its angle compared to the player's direction
ink rgb(boxcolor(tmp,1),boxcolor(tmp,2),boxcolor(tmp,3)),1
circle (radarscreenposX+(0-sin(tmpang)*objdist*radarscale)),(radarscreenposY+cos(tmpang)*objdist*radarscale),(12*radarscale)*(13*radarscale)
endif
next tmp
endfunction
function HUD(showhud,radarscale as float)
if showhud=0 `Display Text
set cursor 1,1
print "fps=",screen fps() `show Frames per second
print "radarscale=",radarscale
print "use arrowkeys to move, and mouse to look"
Print "use the keypad's + and - to scale the radar"
print "press H to toggle this text"
print "mouseX=",mousex()
print "mouseY=",mousey()
endif
endfunction
function randomobj(numofradaritems)
for tmp=1 to numofradaritems `generate some random objects to detect
make object cube tmp,10
boxcolor(tmp,1)=rnd(255)
boxcolor(tmp,2)=rnd(255)
boxcolor(tmp,3)=rnd(255)
color object tmp,rgb(boxcolor(tmp,1),boxcolor(tmp,2),boxcolor(tmp,3))
position object tmp,rnd(1000)-500,0,rnd(1000)-500
ghost object on tmp,3
next tmp
endfunction