3D Asteroids Forum - Suggestions?


by Kai     [ 31 October 2005 - 11:03 pm ]
The game control methods are pretty unique, and take quite some time getting used to.
For something that I feel would be more closer to the original theme, adding in a way to rotate the ship around various axis would be good - rather than just always facing the same direction and moving in linear directions along each of the X,Y and Z axis.
If you could rotate the ship, so you could point yourself in the direction you wanted to go and then use the forward thruster to move, that would possibly be closer to the feel of the original
by Aidan    [ 31 October 2005 - 11:51 pm ]
You can rotate the ship about its axes - hold down the left shift button while applying the movment keys.

More details in the Tutorials section of the game.

If you are using a game pad, you can also setup buttons or analog axis controls to do this - go to the Options - Controls section in the game for this.
by Dave    [ 04 November 2005 - 11:32 am ]
One idea might be to make the forward-looking screen see farther than the other screens. This would help when pursuing something, which happens a lot. Of course, seeing farther forward would mean that the same object would appear multiple times -- in the rear or side screens in addition to the forward screen. Is the -universe- a wrap-around 3D cube, or is it the surface of a 4D sphere?
by Aidan    [ 04 November 2005 - 4:06 pm ]
Its a wrap-around 3d cube. Its an interesting idea, and I-ll look into it when ever I get around to doing a new version. None planned though at the moment.
What-s a "surface of a 4D sphere" ? I can-t quite get my head around that one.
by Dave    [ 04 November 2005 - 7:34 pm ]
A wrap-around 3D cube is the simplest to visualize and code, but it means that not all directions are equivalent. Imagine traveling diagonally from one corner of the cube to the opposite corner. That-s a longer distance to reach your starting spot than traveling orthogonally through one of the cube-s faces. It-s a big difference too: 1.732 to 1. For the surface of a 4D sphere, everything (rocks, ship, aliens, shots) would have 4 coordinates (x,y,z,w) specifying their locations, but they would be constrained to a sphere (e.g. sqrt(x^2+y^2+z^2+w^2) = 1). All velocity and acceleration vectors would be constrained to be tangent to the sphere. Then, to view things in 3D, everything would be mapped using a polar projection with your ship at the pole. It-s a lot more math, but it should make all directions equivalent. (Just a cool idea. I-m not expecting you to implement it. The game is excellent.)
by Tim    [ 29 November 2005 - 10:44 am ]
-Personally, I think the game would do much better with ballistic bullet weapons, like in the original game, (they had a much longer range, too).
-And some people don-t like taking tutorials, they like to just jump right in.
-And it is a little annoying that asteroids dissapear when they get too far away.
-And maybe the default controls ought to be arranged according to the original game-s philosophy of rotation coupled with forward motion (or not, its just hard to only use shift to rotate, but that-s my problem).
-And maybe a 3d velocitimeter.
-And, and... um... end world hunger.
by Aidan    [ 30 November 2005 - 9:33 pm ]
hmmm ... maybe I need to employ somebody ...
by Zloopy    [ 02 December 2005 - 5:36 pm ]
New to it. Best game in the world, and free!
For me a small animated external view of the ship itsself that shows rotation relative to direction. so if I'm pointing one direction whilst traveling another I can right myself quicker. An internal warning light and an alien tracking system would be good... I like that world peace Idea too...
Oh, and a pony,
Thanks Santa!

by Don    [ 01 January 2006 - 3:30 pm ]
Hi, this is a great translation to 3D. I really like the 6 different windows - very clever approach. But I have a few suggestions:

1.) I find it hard to tell what size the asteroids are. I think each size should have its own color, so it is immediately obvious which
ones are big, medium, and small. For example, big = purple, medium = green, and small = grey. A purple breaks into two greens, and a green breaks into two greys. Note that this would make it more analogous to the 2D version, where the size of each asteroid is obvious.

2.) I find it hard to tell how far away the asteroids are. It's frustrating when an asteroid is in my sights, but my lasers can't reach it. The color coding I suggested in #1 would help, because it wouldn't take too long to learn how big each type of asteroid appears to be when it's in range. But maybe it would also help to put a red dot or a red outline or something on every asteroid that's within range of the lasers. Or maybe make them dimmer when they're farther away and brighter when they're closer. Again, the point is to make it more analogous to the 2D version, where the distance of each asteroid is immediately obvious.

3.) I miss the "pea shooter" and the sound effects from the original. I would prefer a single projectile cannon that can shoot several times in a row, instead of the 4 lasers that can shoot only once at a time, but this is a minor issue.

Overall, I think you did a great job, and it's a lot of fun. Thanks!
by Don    [ 01 January 2006 - 3:51 pm ]
Tim suggested that using the SHIFT key to rotate is difficult, and not analogous to the original 2D version. I agree - in the 2D version you could thrust and rotate at the same time, and the SHIFT combination doesn't allow you to do this.

But a suggestion for Tim: you can assign different keys for rotation and thrust, so you don't have to use the SHIFT key. That's how I do it. Also, rotation about the forward/backward axis is not really necessary, so I don't assign it to anything. I use the 4 arrow keys for rotation up, down, left, and right. Then I assign keys for my left hand for thrust: W/S = forward/backward, A/D = left/right, R/F = up/down. I actually mostly just use the forward thrust and rotation, because that's all you have in the original 2D version.

And a suggestion for the author - it would be nice to have the option to reverse the function of the SHIFT key, so holding it allows you to thrust, and releasing it allows you to rotate. Because, for me anyway, I use rotation much more often than thrusting, so if I had to use the SHIFT key, I would want it to be used for thrusting, not rotating. But the ideal, as I mentioned, is to have separate keys altogether for rotating and thrusting, so you can do both at the same time.
by vijil    [ 24 January 2006 - 6:56 pm ]
great game.

One suggestion would be a way to invert axis on my joystick, at the moment I'm stuck with left X = roll right, which is mighty confusing. Y and Z work fine though, I just can't find how to change them.

Also, the rotation axis need to be available for the mouse, that way it can be used to aim much like an FPS also. This could make things much more intuitive. Roll could be handled, perhaps, by q and e (see how it would fit with the below)

At the moment I use a setup mostly analogous to an FPS: w a s d for forward left back right respectively, space for up (like the jump key) and shift for crouch... I mean down. It's very intuitive and fits the left hand nicely.

Get that mouse working, add some multiplayer combat, and you're getting started on a really good game. It's funny I ran into this because I've been playing with the idea of a decent newtonian space sim myself for a while: http://photobucket.com/albums/v226/vijil/BISL/?sc=3

you've made a great game here though. Thoroughly enjoying it.

by Aidan    [ 25 January 2006 - 8:23 pm ]
Some really great suggestions there everybody - thanks. Really no time to look into them yet though. Hopefully some time in the future.
by jaime gonzalez    [ 29 August 2007 - 6:55 am ]
la verdas es mucho perder el tiempo en ajustar los controles seria mejor que fuera directo de otra manera estoy seguro de que a la gran mayoria no le interesa
by Neat Game    [ 22 January 2008 - 2:59 pm ]
a auto-decelerate would be cool too.
by Yog-Sothoth    [ 15 May 2009 - 4:41 am ]
Hi Aidan,

your last response here was about 3 years ago, but in case you're still interested in improving this (btw great and innovative!) game:

About the ship controls:
- "rotate right" makes the ship rotate ccw (counterclockwise), though it should be cw, IMHO, and "rotate right" should be ccw.
- The action "break" does the same as the action "brake".
- Pressing the "pause" button should also resume the game, if it was paused.
- The F1 to F12 keys (cam. 1 to cam. 12) don't do anything, and these keys/actions cannot be modified.
- For keyboard, there should be some default settings to select from (like a setting based on WASD = move).
- I find the controls menu a little counterintuitive; usually, you first select the action, and then press the appropiate key, but here it's vice versa.

Implementing a wrap-around 3d sphere:
- It suffices to use usual 3d coordinates, though I don't know if 4d coordinates are more efficient to calculate.
- First, you need to check if an object is within a certain radius r of the ship. If the vector from the ship to the object is v = (x,y,z), the object is too far away if r ( sqrt(x^2 y^2 z^2), which is the same as if you check wether r^2 ( x^2 y^2 z^2, so you don't have to compute square roots all the time.
- If an object is too far away from the ship, it has to reappear at the other side of the ship. If I don't err, the new vector is: v - 2rv/sqrt(x^2 y^2 z^2), or expressed as an algorithm:
foo:= 1-2r/sqrt(x^2 y^2 z^2);
x:= x-foo; y:= y-foo; z:= z-foo;

Multiplayer modes:
- General: I'd add a value for the "health" of the ship ("shield", "hull integrity" etc.) which is at 100% in the beginning, or after respawning. Colliding with an asteroid still destroys the ship, but lasers inflict - say - 5% damage, and ramming (or being rammed) an amount of damage depending on the relative speed of both ships. In addition, mines would be cool :). All ships should have different colors, and the same color as their lasers. For the first realization, I'd use a simple wrap-around 3d cube, in which each object has a certain position, but they're shown at different positions depending on where a player's ship is. E.g. if the cube is from (-9,-9,-9) to (10,10,10), if the player's ship is at (6,-4,8), and if an object is at (3,9,-3), then the player sees it at (3,-11,17), because that's closest to him. A sphere would be possible too, but this could be realized later.
- Last man standing 1: Similar to the single player mode, except that you win if all other players lost all of their lifes. If a level is cleared, the next one starts, as usual.
- LMS 2: The same as above, but there is only one level, and if a certain amount of asteroids is destroyed, new ones reappear (they're not physical for the first few seconds, so you can pass through them then). In addition, there could be a new asteroid each x minutes. ;)
- Death Match: The player with the most frags after a set time limit is reached wins. If a player splits an asteroid into parts (laser shot, suicide maneuver), the resulting parts are marked with his/her color. If a marked asteroid hits another asteroid, it is marked too. A player gains a frag if he/she reduces an enemy player's shield to 0% by firing lasers or ramming, or if he/she was the last one who rammed that ship within the last few (4?) seconds. If none of these apply, and the ship was destroyed by colliding with a marked asteroid (or a mine ^^), the player with the appropriate color gets the frag (unless it's the player who was destroyed). Otherwise, the destroyed player loses a frag. In addition, sometimes new asteroids appear (see LMS 2).

Miscellaneous (only minor issues)
- I hate it when an alien ships spawns immediately before me, and I run into it. It would be cool if it's immaterial for the first few (2?) seconds.
- I'd love to have a mode where you start in level 15, or something like that. It could be unlocked once you reach that level for the first time, and receive an own highscore list. Otherwise, playing takes a lot of time once you become a little better. ;)
- There is a problem with certain ASCII characters (my first pilot name was 'HllRZR', but it was converted into 'H̵llR and #353;Z and #710;R').
by Aidan    [ 15 May 2009 - 5:59 am ]
Great points. I wish I had the time to put into it, but stomped with other stuff unfortunately.
by Vijil    [ 16 May 2009 - 5:25 am ]
Wow it's really been a long time and I'm still getting email notifications about this thread! Aidan, if you need concept art and/or 3D models for a new or updated version sometime, let me know. I know you're busy and all but figured I'd put it out there.
by Aidan    [ 16 May 2009 - 5:38 am ]
Will do Vijil, thanks.
by Symul    [ 03 February 2011 - 9:13 am ]
It might be a tall order, but if you could -- I would -i-love-/i- it if you could make it so we can play Spacewar! with someone else. I don't think it would be to hard... The bullets might be the only tricky part.

But in regards to the above discussion about making it "On the surface of a 4-sphere" -- I don't think it would be that hard to program. If you just centered everything about the ship, and change the velocity of the asteroids and the background when the thrusters are fired, and just make the asteroids go to (-x, -y, -z) when sqrt(x^2 y^2 z^2) ) some amount, that'd probably work.

And, if you could, it would be awesome if instead of just teleporting to the other side, the asteroids faded instead. But I'm not sure how easy that would be. I'm not really a programmer...

But yes, thing I most want is some way to play a 3D Spacewar!. (http://www.spacewar.oversigma.com has a flash version, if you haven't played it.) I mean, its asteroids' ancestor, after all...

-- Symul

Add a reply to 'Suggestions?'

back to "3D Asteroids Forum"