How do I replicate an R.Types (Shoot 'Em Up) camera system?

0 favourites
  • 8 posts
From the Asset Store
10 Loopable Tracks, 4 Musical Stems, 5 Event Stingers, and 43 Sound Effects.
  • Hey everyone,

    I've been toying with the idea of creating an old-school shoot 'em up and have just been wondering a few things and wondered if anyone here might have some ideas.

    Looking at something like R.Types you notice that the player moves forward through an infested screen with both moving and static enemies, both of which seem to spawn at designated times, or, appear to be 'fixed' to the actual layout (such as turrets). What got me wondering was how that actually even works. I mean, does the player basically move through the level, and the enemies just spawn at certain 'trigger points'?

    If that's the case, does the player 'ship' have some sort of constant thrust, or, does the camera track along automatically, and the player is just kind of fixed to its bounds?

    My other thought was that, does the world just move around the player instead perhaps, and all enemy spawners are just fixed to the moving layout which trigger when just before on-stage perhaps? It seemed like this approach might be quite expensive, as you'd have to move everythings x and y position. Seemed more logical that the player and / or camera would be the only moving part instead.

    Anyway, cheers for reading and if you have any thoughts, would love to hear them.

    Thanks, take care.

  • Can you link a relevant Youtube video? I've never played this game.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • And there's a tutorial somewhere for shmups

    I think you can find it here:

  • What you are looking for is called "parallax," and it is a layer specific property.

  • I would suggest the player remains static on the screen, and the background scrolls around the player/screen... enemies would also be queued to appear at specific intervals based on position of the backgrounds, or maybe a timer.


  • I disappeared for a while and then came back (sorry about that). Thanks very much for the replies! Ended up sacking the project due to time constraints, but the points mentioned above do hold true. Before the thing was put to bed I believe they worked rather well.

  • drunkenoodle This is how I did it.

    Subscribe to Construct videos now

    Then I used an 8 Directional Behavior on the Player's Ship and turned Set Angle to No. Then while the player is touching screen the ship would shoot. As well, if the screen touch was more than say 50 pixels away from the ships current location, the ship would move to the fingers current touch x/y.

  • That's a nice result, thanks Tekniko! Still got the assets knocking around so it might be worth opening them up again and ironing out whatever point I left it at. Think I got as far as the BG scrolling and some patterned movement from the enemy ships, but nothing too substantial sadly...

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)