How to create a simple arcade space ship movement system?

I am trying to build a movement system on my own, but it does not work so far. Even just turn left or right seems to be beyond my understanding. The tutorials usually seem to either go the physics route, which I do not want to go, or refer to an old unreal engine version, that doesn’t use advanced input mapping contexts.
I have a simple space ship pawn, that uses a simple cone mesh and a camera and a floating movement component. But the implementation of the axis1D inputs and the implementation in the blueprint of the pawn fails me direly. I know it’s easy and just needs half a dozen of nodes. But I just don’t know how to do it. Does anyone have an idea?

Can you show a screenshot from the game view?

Cause it varies what kind of a movement you want to nail down.
Topdown
Isometric
Follow camera with 3D movement elements.

etc can effect it, so we can give a more decent answer to your question.

Cause I can think of a lot different arcade ship movement :slight_smile:

I am using the third person template. The game starts with the player as a person and it can use different vehicles. It’s just a learning project.
The view I get when I enter this cone, which is the space ship pawn, is basically the “cockpit” view, but it will be toggleable between third person camera hovering over and behind the space ship, flyby camera, cockpit camera and turret camera.

Basically, I am looking for roll, pitch, yaw, acellerate and decellerate functionality. It can already shoot.
I use different input mapping contexts for the player character and the space ship.

Allright, no worries.

It really depends on the game feel and it’s taste always comes from the cook, which is you. So you will find it gradually playing with it.

Couple of things.

  • Using physics simulation is not the best way already, since its harder to control.
  • When we do movement its generally kinematics simulation, meaning physics engine itself is a simulation of different physics variables, like gravity. In end its physics.
  • Using the current unreal’s movement component would solve a lot of problems, it can be extended always. Sometimes like in a spaceship movement can be super complex and have to adapt environments. When you are in deep space vs when you are close to rigid body, when you are close to a rigid body with atmosphere , what about aerodynamics :smiley: etc.

For learning, its a good start.
I will just put a demo controller modification below from blueprints and the rest is basically experimenting with it.

I just changed character movement component to flying that is already existing and modified this value

added couple of blueprint nodes to simulate a space environment.

No gravity, leans on strafe a bit, and on forward movement adds a bit impulse to accelerate , decelarate.

On up and down applies a little bit force of stafe.

Result is a linear arcade movement like below.

111

This is just to concept things out. There is many details to it and movement is a core aspect of a game, it is not easy as it sounds and it gets complicated in no time. However there is a very extensive codebase already created with it for you to use. Rest is expanding it.

If you need something really custom like a space ship, moving close to ground and you want to do tricks with the controls, react to terrain etc. you need to code since blueprints will be very painfull after a certain stage.

EDIT :

I input mouse look to pawns rotation and input move X vectors to pitch to give my pawn additional roll ability as seen below. So right now as a simple move, can pitch, yaw, accalerate forward, backward, strafe up and down.

Result
222

Roll can be on mouse, of shift A-D to roll depends on how you feel about them and overall experience.

Please do not hesitate to ask. Hope it helps you to keep going.

Wow. I didn’t expect you to code a very example. Thank you so much for your effort. This definitely helps me tinkering along towards wisdom.

1 Like

no worries enjoyed it, made an edit with some look directions, pitch yaw additions etc.

Happy developing.