🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Best controls for top-down shooter?

Started by
12 comments, last by Hans 23 years, 7 months ago
I have listed some typical top-down shooter controls here: 1. Traditional. You press forward: your guy starts moving forward. You stop pressing forward: your guy stops. Press left/right: your guys turns (slowly) in corresponding direction. Pros: easy to learn, suitable for many games Cons: strafing is hard and turning is slow. Hard to improve your attacking skills. 2. Abuse-style. This time it is just top-down and not sideview like in Abuse. If you don''t know Abuse, this means that you aim with your mouse cursor and move your guy separately on keyboard (when you press "up arrow", your guy moves upwards). Pros: very free and fast moving, easy to aim Cons: you can only move in 8 directions (up,down,left,right,up-left,...) 3. Subspace-style. This is as if you were in space. When you press forward, your ship starts accelerating forward. When you stop pressing forward or turn your ship, the ship still moves in the same direction. Pros: offers many new ways to attacking when you can move in one direction and shoot in the other. Doesn''t need mouse like abuse-style does. Cons: harder to learn and only suitable for space-shooters You could also have Abuse-style controls where you move your guy like in traditional style (pressing "up arrow" would move you forwards) and shoot with mouse, but I''m not sure if that could work. What controls do you prefer? Do you have any more contol suggestions? I need controls that offer wide variety of attacking styles so at least the "traditional style" doesn''t fit for that. -Hans [home page] [e-mail]
Advertisement
From personal experience in half-life (an FPS), may I suggest you use the Abuse-style controls. It''s easy to turn around with the mouse, and strafing makes it easy to aim at your target and move around freely.

Hope this helps!

-------------------------------
"Mind your own damn business!!!" - Gladiator

..-=gLaDiAtOr=-..
I prefer Abuse-style, 8-directions is generally enough for most games, unless your levels are designed at weird angles. The combination might work as well, with forward/backward/turn left/turn right with directional keys, and the mouse controls where the head and upper body are facing. It really depends on what your levels will be like.
abuse style or the combo. Subspace is totally unsuitable, and traditional is too slow...

You could always make it so that you''ve got two keys to rotate your aim... dunno if that would work tho...

Personally I think combo is by far the best.

J2xC (J. Connolly)

"w0ot" - Firahs
1 4|\/| 7#3 |_||71|\/|473 1337 #4><02! 533 45 1 |)0|\|''7 |\|33|) 70 |_|53 4|\|J 574|\||)42|) |377325! \/\/007!

J2xC (J. Connolly) Ah! By popular demand, I shall no longer resist...
Since your game is top-down, you can do the Abuse-style controls without being limited to 8 directions. Here''s what you do:

1. Rotate the sprite(s) to an angle equal to -Arctan(mouse_x, mouse_y). This rotates the sprite to the direction of the mouse coordinates. The negative is to rotate it clockwise. BTW, coordinates must be in cartesian coordinates where 0,0 would be the center of the screen.

2. When moving the sprite(s)...
x += cos(angle)
y -= sin(angle)


However, rotation in 2D (with Direct Draw) is not easy. You can use Direct 3D, but then you''ll have to require hardware acceleration. My advice is to do the eight directions unless you really want full rotation.

Whatever you do don''t do the tradition-style thing it slow + it gets confusing to control the character when it turns around (ex. GTA, GTA2).


Digital Radiation
Ok, I''ll probably make it abuse-style with 8 moving directions (because then you can turn fast and aim and move intuitively).

+AA_970+, thanks but I never had any problems impementing those. I was just wondering what system is the best.


One more control system though:

4. FPS-style in 2d. If you press "up arrow" your guy oves towards the mouse cursor. If you press "fire button" your guy will shoot towards the mouse cursor. Then "left" and "right arrow" would be used for strafing. This is like a mixture of abuse-style and FPS (in 2d).
Pros: Fast turning, easy aiming, moving in every direction (not only 8 directions)
Cons: Maybe not very intuitive at first. Lots of mouse dragging.

-Hans [home page] [e-mail]
#4 Fps in 2D would be an interesting way of doing it. You could also use the right mouse button to move toward the cursor and the left to fire at it. Then you can use the arrow keys to strafe left,right (left, right arrow keys)- like hans said and use the up and down arrow keys for jumping and ducking.

One more time for the dumbies
ar+gu+ment n. A discussion in which reasons are put forward in support of and against a proposition, proposal, or case; debate.
I would go with the Abuse style myself. 8^)

There is another method which I''ve only seen once before.

#5: Mouse controls character, push mouse forward makes player moves foward. Left/right on mouse makes the player turn in that direction. Fire is only in the direction of the players facing. Push mouse backwards makes player goes backwards (facing remains the same). The speed of the player is controlled by the extent of the forward or backward push. So the user can stop the player by recentering the forward/backward forces.

Here is an idea add another control button to the Abuse model, similar to the FPS catch-all action key. So the player can quick activate/deactivate things, when facing them.

This is the method I''m currently using:

#6: Mouse controls both movement/firing, but indirectly. Right click makes player turn to that direction, left click makes the player fire in that spot. Speed is control by the keyboard. (stop, 1/4, 1/2, 3/4, full speed, no reverse though it can be added too). Turning is not instantanous so the player can make large or small arcs depending upon their speed (keybaord controlled).

Good Luck

-ddn

all in all, how difficult do you think it would be to implement both and let the user choose? i prefer the abuse style, but some other guy might like the traditional way.
i don''t know, it might not be feasible, but i tend to give the user more flexibility when it comes to input than anything else.

have fun!

crazy166
some people think i''m crazy, some people know i am
My philosophy is that the user interface should be transparent and flexbile as possible and complement the gameplay, not supplant it. That being said, tailor the UI to your game, not the other way around 8^). Choose a style which best fits your gameplay, and allow the users within that the ability to configure the keys however which way they want. Multiple UI will eventually boil down to the best UI, thus wasting your efforts on supporting the others.

Good Luck

-ddn

This topic is closed to new replies.

Advertisement