Posted: 7th Jun 2007 17:06
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

Posted: 7th Jun 2007 18:43
spell "YOUR AN IDIOT" properly!


Ha, "YOUR" lol. Maybe... You're?

Anyway, can we see a video of your progress? How do you plan on manipulating the geometry in real time? That is a difficult thing you are trying to do...
using some way to 'mine' space rocks

It sounds as though you have bitten off more than you can chew. Your dedline is very short, I know I certainly could not do this project in a few months, and considering your joining date, it seems that you have taken on a lot!

All I can say is good luck. I do mean good luck, and you have my full respect for trying.
Posted: 14th Jun 2007 8:19
RC- Thanks. I needed that info. I did take a look at the 'radar' and I think this may work for me.

Julius- I believe I may have extended myself more than I can handle, given my exceptionally short deadline. I have altered the deadline-- Q4 2008.

Once I get more of the stuff working and compile a short video, maybe I can get more done.

I have just gotten back into school. My time is limited for development, but I'm checking back weekly for feedback. Thanks again.

The "mine space rocks" was something that the arcade game "SINISTAR" allowed you to do to collect SINI-BOMBS to help destroy SINISTAR. The minerals are to boost your Shield Energy, allowing longer shield use. Integral to later levels of the game...
Posted: 14th Jun 2007 8:37
RC- Radar is awesome. Bumped the resolution up to 1400x1050x32 and it runs faster and a bit more smoothly. I scaled the Radar out by ONCE and it reveals tiny diamonds (I know they're circles...). Now I'll try to move it to another location and get it to still work...

Thanks again. My minerals are only revealed from rocks, when they're blown up and about 10% of the time. Multiple mineral chunks can appear, but this happens: 5+ = 5%, 3-4 = 10%, 2 = 20%, 1 = 65% of the time.

Using this demo of the Radar, I'm going to try to tweak this into a little more. Hopefully, I can and it'll look good.
Posted: 14th Jun 2007 16:19
Thanks Antiquious. what do you mean by
Now I'll try to move it to another location and get it to still work

Have you found a bug? Or do you mean just moving the code to your project. I've once again modified the code, so now it has a "Radarseed" variable. that is just the number of the first object that should be checked for by the radar, instead of starting at object 1. Something you probably could have done, but i know it's sometimes frustrating to modify someone else's code, as everybody has their own style.

+ Code Snippet
`\\\\\\\
`Simple Radar by Revenant_chaos
`>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
`Email-Revenant_chaos@yahoo.com//
`///////////////////////////////

set display mode 1280,960,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

radarseed=rnd(500)
numofradaritems=30 `number of objects to be checked for
set ambient light 10
dim boxcolor(numofradaritems,3)
randomobj(radarseed,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,radarseed,numofradaritems)
sync ; loop


Function radar(radardist as float,radarscale as float,radarseed,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=radarseed to numofradaritems+radarseed
      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-radarseed,1),boxcolor(tmp-radarseed,2),boxcolor(tmp-radarseed,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(radarseed,numofradaritems)
   for tmp=radarseed to numofradaritems+radarseed `generate some random objects to detect
      make object cube tmp,10
      boxcolor(tmp-radarseed,1)=rnd(255)
      boxcolor(tmp-radarseed,2)=rnd(255)
      boxcolor(tmp-radarseed,3)=rnd(255)
      color object tmp,rgb(boxcolor(tmp-radarseed,1),boxcolor(tmp-radarseed,2),boxcolor(tmp-radarseed,3))
      position object tmp,rnd(1000)-500,0,rnd(1000)-500
      ghost object on tmp,3
   next tmp
endfunction


Woah, 1400x1050! I wish my monitor could handle that. But anyway, the game sounds cool. Am I on the list for the "the Free "Rocks & Stuff" Registered Game Giveaway"?
Posted: 15th Jun 2007 20:41
RC- No bugs. Runs great. Just want to relocate the radar on the player hud. And, YOU are in the LIST!

Thanks.
NOTE: That's my laptop's LCD resolution!
Posted: 16th Jun 2007 18:09
The list keeps growing...
I know this project is going to be daunting!

I altered the code, RC, to display SPHEREs instead of BOXs. It works, but I now have bubbles all over the place. I even altered the number of items that it displays-- 1000! It's still DAMN fast, with the Mouse Look you implemented!

One question though, can you texture half of the items, and give the others one of six (6) colors: Red, Green, Blue, Cyan, Magenta, and Yellow?

I'm planning on trying to implement this change, myself, and drop this into the code. Also, I'd like to be able to alter the sizes of the SPHEREs, for the random test.

I'm also planning to move the radar to the bottom-center of the screen, and display these there. The lower third will be the HUD, with a border around it. I have two bars, ShieldEnergy and HullIntegrity on the right side. I have SCORE, SmBombs, XSMissiles, and Lives on the left side. In the center, the Radar, the RocksRemaining, Containers...

I've enclosed a smallish picture that illustrates what I'm doing. Also, the background must be black (or a cylindrical backdrop used fo the levels). Black for this demo.
Posted: 16th Jun 2007 23:02
One question though, can you texture half of the items, and give the others one of six (6) colors: Red, Green, Blue, Cyan, Magenta, and Yellow?


If I were you, (and I'm sure theres probably a better way of doing this), I would set up an array (#ofColors,3) containing the RGB data for each of the colors, then rnd() to pick from the array randomly.
+ Code Snippet
`use this for the random colors because It will return a zero sometimes other wise.
color=rnd(numofcolors-1)+1


If the object is texured, I would set up a couple of FOR loops, to read the pixel data for every tenth pixel or so, then average the numbers and use that for my radar blip color. to randomize the spheres, use the color picker code above, but write it like:
+ Code Snippet
make object sphere obj#,rnd(MaximumSize-1)+1

I didn't want to just post the code because you want to give it a crack, let me know how it goes.
Posted: 17th Jun 2007 9:35
RC- That's what I was thinking with the 6 RND colors.

The textured blips would be an off color or ORANGE, PURPLE, TAN or something that would make them stand out as being OTHER THAN anything else.

This way, I wouldn't have to average the pixels and try to shade that in... (I was thinking about the pixel color average, too.)

I still think I can color the BLIPS for the Alien Ships in certain colors, the Rocks in TAN, the Scrap in ORANGE, and the Minerals in GRAY or WHITE. (Or maybe some other light color?)

What color would you suggest about the Minerals. NOTE: Minerals are actually multiples of ONE (1) Mineral, but floating around the screen.
Posted: 17th Jun 2007 23:43
yeah, averaging the pixel colors would slow loading time quite a bit, unless you averaged them once, and saved it into a level-specific array.

well, in command and conquer the tiberium was a fluorescent green. that made it stick out pretty well because not too many natural things worthy of a blip were green, but really any bright colors that signify that it's something that the player wants.

mabey light all most pastel colors for things that are good (minerals, health etc..), and slightly darker but just as eye catching (red/yellow are great) for enemies. what ever color scheme you choose, make sure that the colors are different enough that they are immediately recognized, and that they are colors that dont often appear in the background in that particular shade, the transparent background is kind of a double edged sword.

you could use different shades (of what ever colors) to signify how much of a threat/how beneficial the object is to the player.
Posted: 18th Jun 2007 17:02
... Working on a few things. Trying out a couple of options and seeing if I can get some stuff to work.

Hopefully it'll all come together.

Thanks, RC. Yeah, C&C-TW was a great game. Their radar was cool, too. It did have that going for it! And I will use pastel colors for various things. I'll just have to implelment them.
Posted: 18th Jun 2007 17:03
... implement them. (Sorry, early morning with fat fingers.)
Posted: 29th Jun 2007 9:21
I've implemented the radar, R.C. It works, but I'm finding it difficult to reposition it to the bottom-center of the screen.

The other item on my agenda is a WorldBox. What are the necessities of placing one around my little 'world'? The 'world' is the 'radar area'. The problem is that I want approximately 1000 pixel radius, and to be able to 'warp' to the other side as an indefinite feature. (Like in "Asteroids".)

Any suggestions...
Posted: 29th Jun 2007 11:09
to reposition the radar, just define 2 global variables (howfarright, and howfardown or something), so they can be passed to the function.
Then in any radar drawing line of code, add the +howfarright at the end of every x coordinate, and add the +howfardown at the end of every y coordinate. then once it is properly positioned, write down the coords and replace the global variables with them. I have a working demo if you want to see it.

I'm not sure what you mean by "WorldBox". Do you mean skybox? i've made a few asteroids like games, but I'm unfamiliar with the term. mabey I've been calling something else by the wrong name... try to describe what you mean and I'll see if I can help.
Posted: 30th Jun 2007 18:14
R.C.
Thanks! Okay, here's the gist: According to the TGC website, I've found some downloadable WorldBox packs. (They're $9.99 each and something like $40 for the whole set of 10 Packs.) That's what TGC calls them.

Let's call it something else then. The BackCyl, like in the old arcade game 'BattleZone', with the animated volcano in the background that you can never get to. This wrapped wallpaper was just for show and enhanced the game ever so much. This is the kind of thing I wanted to do, but not so much having it animated, but just a stock outerspace image of a planet some rocks and a space station.

This BackCyl is the thing I want to use to help depict the different levels. Can anyone point me in the direction of implementing this?
Posted: 1st Jul 2007 10:55
I think you might be talking about the skyMATTER packs. if you are, go here http://skymatter.thegamecreators.com/?f=sample and download this sample. then use the code:
+ Code Snippet
load object "nameofskybox",number
set object light number,0
set object texture number, 3, 1

scale the object to whatever size your game calls for, and position it at your players position every cycle.

If you aren't talking about the skymatter packs, can you post a link to the packs you are talking about.
Posted: 2nd Jul 2007 17:15
Can't get it to work. I placed the code into my project and tried it.
It loads, but doesn't seems to load a 3D object. "Runtime Error 7018 - Could not load 3D object at line 138"

What am I doing wrong? What number do I use for the object? Any ideas?
Posted: 3rd Jul 2007 3:06
here is a small demo I put together for you. The object number doesn't matter.
Posted: 3rd Jul 2007 3:14
May I ask... what's with the odd (I say odd as I've never heard of them) screen resolutions? 1400x1050 is one I've never heard of.. but 640x480, 800x600, 1024x768, 1088x612, 1152x864, and 1600x1200 sound a lot more common. By the way, I have a nVidia GeForce 6800 and a 19" monitor..

-Jim
Posted: 3rd Jul 2007 9:07
Thanks RC. I'll take a look...

For ShinyEdge:
I have a Compal CY25 laptop with a Pentium M4 running about 2Ghz. The chipset is based on the SIS 650.

Since the computer is manufactured overseas, it might reflect what their userbase would request. Although this 15" LCD monitor is part of my laptop, I'ts got better resolution than the Sceptre X7 17" I have for my XBOX 360!

The screen runs in all of the other resolutions, but nothing above 1400x1050. It seems to be a native resolution.