Turrican wrote:
...Of course Rob is right when he says there's not a strict rule, and in this case I guess Zaxxon is considered the exception.
...
Zaxxon isn't really an exception, nor other isometric shmups like Viewpoint, IMO.
Apologies if the following isn't on-topic. It's a mind dump!
I have a general theory that covers isometric, horizontal, vertical, tube and arena shmups. It would cover autoscrlolling, pushscrolling and fixed screen. You need to decouple 3 co-ordinate systems;
- The camera (your view): 2D, 2.5D, 3D
- The gameworld/ gameplay: 2D
- The 'character' movement: 1D, 2D, or 'point'
A typical shmup like Batsugun, the "camera" is directly over the "gameworld" and autoscrolls. Because all 3 'co-ordinate' systems ''overlap', it's seen as 'one' and 'everything' looks 2D.
For Zaxxon, the "camera" is 'decoupled' from the "gameworld" and rotated to give a sense of perspective and 3D, yet the gameworld and "character movement" still remain in 2D (but still overlap)...
I.e.
-
Batsugun: camera = 2D, gameworld = 2D, character = 2D
-
Zaxxon: camera = 3D, gameworld = 2D, character = 2D
Other E.g.;
For fixed screen shmups;
-
Galaga: camera = 2D, gameworld = 2D, character = 1D
-
Centipede: camera = 2D, gameworld = 2D, character = 2D
-
Robotron 2084: camera = 2D, gameworld = 2D, character = 2D
-
Tempest 2000: camera = 3D, gameworld = 2D, character = 1D
For scrolling shmups (autoscroll or pushscroll);
-
Viewpoint: camera = 3D, gameworld = 2D, character = 2D
-
R-Type Delta: camera = 2.5D, gameworld = 2D, character = 2D
-
Stargate: camera = 2D, gameworld = 2D, character = 2D
-
Choplifter: camera = 2D, gameworld = 2D*, character = 2D
*As you've noted, projectiles can be in a pseudo 3D world, like dropping bombs in Xevious, Twinbee (away from the camera)... Firing towards the camera, like Choplifter, the gameworld is 2D, though it's not as subtle because your character rotates to do this...
Also I was trying to think of a "character = point", i.e. rotating about a centre-point, but I'm struggling to think of one. Though I'm sure I've seen one...
...Of course;
-
Quake: camera = 3D,
gameworld = 3D, character = 3D
-
Space Harrier: camera = 3D,
gameworld = 3D, character= 2D
-
Panzer Dragoon: camera = 3D,
gameworld = 3D, character = 2D
Gameworld = 3D = NO!
Together with my 2 criteria posted earlier in the thread (slightly modified);
- If the "gameworld" space is an XY plane, at any given point in time, your character should be able to reach *any* point on that plane (excluding obstacles of course). This maybe with auto-scroll or push-scroll. This isn't applicable for fixed screen shmups, with "character movement = 1D or point".
- Your 'character' has *direct* control of a projectile. Your characters primary objective is to blow-up-shit.
It's not perfect, and this was just a mind dump, but these heuristics get the job done... I think for most in a "strict" manner...