What type of movement should i use for this?

hello to all, i wanted to make the pawn of the player to be a character class and is the spaceship controlled by the player.

i want to make the player be able to add speed, like “stop, full speed ahead, half, slow…” and maintain the speed…
next i want to be able to make the player able to turn the ship with a rudder like control…
ex: 20degree left, 30 degree right… etc… also maintain it…

should i use physics? add velocity? or should i just use a projectile movement? then change the speed?

What have you experimented with?

i havenot tried anything yet, i opened the demo VehicleGame, but the parent class the buggy used was in C++

currently, ive tested with

for forward and backward movement i used locate [forward vector] and [add force]

for turning the ship, i used [add torque] at the z value…

it kind of worked… but somehow i know there is a better way for doing the turn / rotating the ship…

hope someone cold help…
something like a ship simulator or submarine simulator, where the player can just set the speed… ex: half speed
and just set 20 degree right… and the ship would just keep on going forward while turning…
until the player set the rudder to 0 degree