2D Shooter - top down or side on?

Hi all,

I’m considering having a bash at a 2D shooter that will contain RPG elements (inventory management, etc) but can’t decide whether to have it top down or side on. On the one hand, side on allows the game to be more of a shooter - ie, you can aim for specific enemy body parts and more easily see who’s behind cover. On the other hand, a top down game allows (in my opinion) much more exploration and ‘hidden’ bits of map that are tucked away in corners for example.

Any thoughts or suggestions on the matter? Which would you prefer? Is there a way to have the best of both worlds?

cough 3D cough

If I was thinking about 3D, I would have said, wouldn’t I?

:slight_smile:
What about isometric design? Would kinda be 3D but not require a lot more than 2D.

Sorry, it’s been a long day. Hmm, isometric never ocured to me. That could work quite nicely… Although aiming at certain body parts might still be tricky, especially if the enemy was ‘above’ you - you know, North.

If you do top down, you could essentially have 3 different areas the player could aim for: Arms, Body, Head.

Aiming different body parts in isometric world :point:

How would you differentiate between head and body?

@JVallius, it’s going to be in real time :stuck_out_tongue:

The complete list of 2D options I know of would be:

  • Complete Top Down
  • Birds View
  • Side scroller with and without depth
  • Isometric

In top down you see everything exactly from the top. Then you only need one graphic for your mobs and you can rotate it. You can also have 360° degrees of freedom in aiming and or movement. Unfortunately usually does not look very nice.

Birds view is kind of like top down but you also see one side of all objects. Like the first Command & Conquer. Looks better, but you need images for all mobs in 8 direction. Its also harder to have more than 8 directions, except when you use true 3D, because you just do not want to make so many different views of your mobs.

Side scroller without depth is your usual classic jump and run. Depending on your gameplay your movement is pretty limited, usually sideways with some vertical in between like ladders, jumping and stuff. In the easy case you only need 2 views for each mob, to the left and to the right. If you want free aiming and the character to reflect that like aiming the weapon in that direction, you need more views for the aiming directions.

Side scroller with depth, like Golden Axe, adds some depth into the side scrolling where you can move more towards foreground and background. Still you usually only have a left and right view of each mob. Free aiming gets kind of complicated, because your crosshair does not reflect the depth of the scene and you cannot easily determine if the player aims high in the foreground or low in the background.

Isometric is sometimes called 2.5d I think and its the most 3D like optics you get, but also the most complex to do. You need at least 8 directions for each mob graphic and you may have multiple layers in the level, need to determine when you want to show the roof of a house and when to show the inside and lots of stuff.

As for aiming for certain parts, with perspective it gets complex because whenever you have theoretical 3D with a fixed cam and your crosshair only is a 2D coordinate on screen, you do not have a unique 3D coordinate where the crosshair points at, rather its a line through the scene. You can do things like lock the height of the aim, lock on the nearest enemy or do some kind of best guess.

On top down, you can either have a dedicated head target zone within the body target zone. That would also apply to all kinds of monsters and creatures where you maybe want different vulnerable areas. You could also make it just random luck by making 10% of body hits a critical, but well thats random.

It depends on the prespective on what you can aim at. There will always be some kind of overlapping. Top view will overlap head with body and body with legs. Side view overlaps arms with body. Isometric Is complicated.

If the aiming on zones is important for your gameplay, I would go with a clean view either side or top view. Side view gives the best exposure for head zones. Top view allows to define all sorts of critical zones on the borders of the mob target zones. Just overlap critical hit zone circles with a bigger body circle and check for a hit against the body and against critical zones, the critical zone wins. The optics may be less pleasing, but there are at least very beatiful side scrollers out there, I am not sure about top downs. This also limits your graphical work as you do not need too many perspectives of each mob.

Thanks for the input! Because the shooter gameplay is paramount to the game, I think side on will be my best bet. Layering the world is a genius idea, shouldn’t be too hard to implement either, although the map editor is going to need some tweaking. Feel better now I’ve made a decision :slight_smile:

I realise you’ve decided… but my favourite

That does look really good, and I could model + render the scenery, but I think some of the finer shooting mechanics would be lost :frowning:

On that screenshot and the shooter mechanics: I think it depends on the look of your enemies. In the screenshot the monsters have pretty exposed heads and limbs, you can make seperate target zones for this. If you have mostly humans, the head is less exposed though.

One thing you maybe can work with is a varying cone of fire. You know like modern games have bigger crosshairs when you move as when you dont move and the spray is greater. I have one vague game design idea in my collection of ideas what would include a dynamic crosshair or maybe a visual cone of fire, and when you would stand steady and aim the cone would shrink over time until you more or less have a line and you would make an precise shot at the aimed target, but if you move, turn, shot several bullets, everything would increase spread. One could also include ADS (aiming down sights) which usually makes aim better but movement slower. Then part of the shooting mechanics is balancing timing and evasion. Standing still and aiming to hit critical spots against running around spraying from the hip. When going with this sort of birds view, I would resolve my collisions rougly on head height level and see, if the bullet is in the head zone within the body zone for enemies where the head is on the body or inside the body collision zone. Then you need to keep the bullet flying, even if it already hit body zone, because it may hit the head or whatever else critical zone you still have, and I would keep the bullet flying until it passed some point like the middle or center of the enemy. If the critical zone is in the center, the bullet wont hit it when it did not at the nearest point to the center. If the critical zone is wherever on the outer boundaries of the enemy, I do not want one zone to be hit from the other side of the enemy, so the middle of the body is where the bullet hits when it does not hit a critical zone on the way to there. If you do not to want bullets to visually travel into the enemy before they impact the body zone, you can scan ahead in the bullets direction if it will hit a critical zone and only have it traveling on, if it will, and otherwise have it impacting on the body border. Something like that.

Good luck.

If your bullet is a rectangle, then you could do rectangle-circle collision to detect the head. Then, do rectangle-rectangle for the body (which is just a little bit bigger than the head). Arms you could also do rectangle-rectangle, they would just be on the edges of the body.