Space combat, should I make boundaries?
Hi, I'm making a program where basically a bunch of spaceships in 3d space fight each other with projectile weapons. So the combat is pretty close. Anyway I was thinking, should I bother implementing boundaries in space, eg a point where the ships can't go past, maybe bounces off or something, or should I just let them go on forever and either set the sky box and view projection maxDistance to an outragous size, or increase/decrease with the ship's distance from orgin. what do you think? Thanks btw: I am using proper physics, so a ship can just keep thrusting to go extremely fast.
I would make it endless, it wouldn't be too difficult. Just a few points:
-A skybox doesn't have to be very big, it can be a simple 1x1 unit cube. The trick is to make sure it's the very first thing you draw, center it on the camera, disable the z (depth) buffer, render it, re-enable the z-buffer, and draw everything else. That way, the player never actually gets close to it, giving it a feeling of being infinitely far away. (When sizing the skybox, just make sure that the sides of the box are such that they still fall between the near and far clipping planes.
-You shouldn't have to change anything withthe view projection: spaceships should just disappear when they get too far away.
-As there is nothing to actually stop the player from going too far away from the action, add some kind of alert in the HUD to remind the player which way to get back to the fight.
Also, you might want to consider adding a maximum limit to the ship's velicity.
Good luck!
-A skybox doesn't have to be very big, it can be a simple 1x1 unit cube. The trick is to make sure it's the very first thing you draw, center it on the camera, disable the z (depth) buffer, render it, re-enable the z-buffer, and draw everything else. That way, the player never actually gets close to it, giving it a feeling of being infinitely far away. (When sizing the skybox, just make sure that the sides of the box are such that they still fall between the near and far clipping planes.
-You shouldn't have to change anything withthe view projection: spaceships should just disappear when they get too far away.
-As there is nothing to actually stop the player from going too far away from the action, add some kind of alert in the HUD to remind the player which way to get back to the fight.
Also, you might want to consider adding a maximum limit to the ship's velicity.
Good luck!
You can covertly move the very far ships closer to the player when he isn't looking. Like.. if he gets 600 units away, make sure the other ships aren't more than that far away. The ones that can't be seen anyways.
This problem seems to have been somved.
Unrelated advice:
Pop-up is annoying, and is especially detectable in a relatively empty arena like outer space. When ships are too far away to make drawing them worthwhile, I recommend a tiny sprite "token", like a glint of starlight off of their hull or something, so that you can have a visual cue as to the location of another ship. Just flying around until it blips into existence is annoying, even with some kind of sensor screen.
And out of curiosity:
Will you have a "decelerate" button in your game? The physics-based thrusting is cool, but it's tough to stop. Escape Velocity offered a button that would calculate your vector and orient your ship to face straight backward. That was handy, but a little bit silly. Huge capital ships would do all kinds of skew-flips in combat or when landing. Maybe just some retro-rockets would be enough, but make sure the player doesn't totally lose control at high speeds.
Unrelated advice:
Pop-up is annoying, and is especially detectable in a relatively empty arena like outer space. When ships are too far away to make drawing them worthwhile, I recommend a tiny sprite "token", like a glint of starlight off of their hull or something, so that you can have a visual cue as to the location of another ship. Just flying around until it blips into existence is annoying, even with some kind of sensor screen.
And out of curiosity:
Will you have a "decelerate" button in your game? The physics-based thrusting is cool, but it's tough to stop. Escape Velocity offered a button that would calculate your vector and orient your ship to face straight backward. That was handy, but a little bit silly. Huge capital ships would do all kinds of skew-flips in combat or when landing. Maybe just some retro-rockets would be enough, but make sure the player doesn't totally lose control at high speeds.
Im might implement that spaceship glint idea actually.
There isn't really a decelerate button, but i might add extra thrusters to the front of the ship, as a sort of break, so you would approach stuff with your nose pointed towards them and then you can sorta hit the front thrusters.
Because the game is more ai orientated battles, of which will be able to manuever better than a person as they can calculate the math quickly to tell how they should move to stop moving etc.
There isn't really a decelerate button, but i might add extra thrusters to the front of the ship, as a sort of break, so you would approach stuff with your nose pointed towards them and then you can sorta hit the front thrusters.
Because the game is more ai orientated battles, of which will be able to manuever better than a person as they can calculate the math quickly to tell how they should move to stop moving etc.
Quote:
Original post by Iron Chef Carnage
Pop-up is annoying, and is especially detectable in a relatively empty arena like outer space.
What about having a "Compass" around the edge of your screen, which an arrow to point to where the action is? When you get too far away, just make it flash red once or twice to get the player's attention.
You could also incorporate this into the main design, by using the compass with arrows to track where other ships are. Maybe not original, but definately usable, and non-intrusive.
That's a good idea, methinks. (Haw!)
If you're feeling bold, you could have a really sophisticated (but not too intruxive) HUD in the cockpit. It could highlight and identify targets, distances, navigational waypoints or ambient matter. Sensor scans could differentiate between mines and asteroids, and alert messages could direct your attention to weapons fire or combat-related debris.
I think a little "blip" on the HUD would serve very well to mask the draw-in of a ship. Of course, for outside views, the glint would be more appropriate.
This advice is based on my notion of what this game will be like. I imagine it being mostly cockpit-view, with outside views used for getting your bearings, looking at your own ship, or just sight-seeing in the arena (Ooh, nice nebula!).
If you've played Exobattle, you know what I mean. It had an "enemy view", where you got an outside view of your own ship that made sure the targetted adversary was always visible. Mostly, though, you stayed in cockpit view and hustled around asteroids or dodged missiles or carefully skirted the gravitic field of a planetoid.
If you're feeling bold, you could have a really sophisticated (but not too intruxive) HUD in the cockpit. It could highlight and identify targets, distances, navigational waypoints or ambient matter. Sensor scans could differentiate between mines and asteroids, and alert messages could direct your attention to weapons fire or combat-related debris.
I think a little "blip" on the HUD would serve very well to mask the draw-in of a ship. Of course, for outside views, the glint would be more appropriate.
This advice is based on my notion of what this game will be like. I imagine it being mostly cockpit-view, with outside views used for getting your bearings, looking at your own ship, or just sight-seeing in the arena (Ooh, nice nebula!).
If you've played Exobattle, you know what I mean. It had an "enemy view", where you got an outside view of your own ship that made sure the targetted adversary was always visible. Mostly, though, you stayed in cockpit view and hustled around asteroids or dodged missiles or carefully skirted the gravitic field of a planetoid.
Quote:
Original post by johnnyBravo
Im might implement that spaceship glint idea actually.
There isn't really a decelerate button, but i might add extra thrusters to the front of the ship, as a sort of break, so you would approach stuff with your nose pointed towards them and then you can sorta hit the front thrusters.
Because the game is more ai orientated battles, of which will be able to manuever better than a person as they can calculate the math quickly to tell how they should move to stop moving etc.
I have considered something similar, so here's an idea I had along the same lines: offer the player the use of some of the AI routines related to movement. If you want to give him manual control most of the time, do so, but also consider offering him the option to activate autopilot features like maintaining a certain distance from a ship, docking, pointing the ship at a certain object, and matching velocity to a certain object (AKA, comming to a dead stop relative to that object.) That way, real physics still control everything (don't even think about putting in any of the "max speed" crap if you are using real physics), but you don't force the player to constantly tap the controls in order to say, keep his ship oriented in a specific direction. Yes, ships should have real rotational momentum, but that doesn't mean that there shouldn't be some autopilot feature designed to keep the pilot from wasting tremendous amounts of fuel trying to stay pointed towards his target. This system of manual controls with an AI assist should help reduce the learning curve for your game and the problem of ships going out of control if they accelerate to much in one way, without compromising realism.
EDIT: Oh yeah -- no boundaries unless they have some obvious and necessary physical explanation in the game. Some sort of HUD indicator pointing you back toward the battle if you get too far is a good idea though.
Thanks for all the ideas, I've been trying to come up with interface ideas.
Right now tho I'm having trouble keeping all my ship data organised, so its going to be all bare bones for now.
I like the idea of working with the ai style controls, I'm probably going to implement stuff like that much later on when all the basics have been completed. But I'm getting closer, I'm not looking forward to multiple collision detection!
Hey whats the exobattle game? Do you know where I can get some screenshots? I've checked on google, but all the links are dead.
Thanks all.
Right now tho I'm having trouble keeping all my ship data organised, so its going to be all bare bones for now.
I like the idea of working with the ai style controls, I'm probably going to implement stuff like that much later on when all the basics have been completed. But I'm getting closer, I'm not looking forward to multiple collision detection!
Hey whats the exobattle game? Do you know where I can get some screenshots? I've checked on google, but all the links are dead.
Thanks all.
hehe. autopilot is cool. then make it possible to damage/disable the autopilot using special weapons or a certain amount of damage.
That would give added challenge between human players, I think. I'm not sure how to implement damaged autopilot for the AI opponents though.
That would give added challenge between human players, I think. I'm not sure how to implement damaged autopilot for the AI opponents though.
---------------Magic is real, unless declared integer.- the collected sayings of Wiz Zumwalt
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement