Creating custom movement

Hi all, basic background, creating a RTS type game with space ships as the units (think star wars). I’ve been trying to find detailed documentation / tutorials for creating movement but I can’t seem to find anything that will help me.

Basically, I have everything setup to a point where my ship will move to the location where I click using ‘Simple Move to Location’. However I’m not sure how to adjust the movement so it moves like a ship. At first I tried creating the ship with the base class of a character, with ‘Use Controller Rotation Yaw’ unchecked and ‘Orient Rotation to Movement’ checked, but this doesn’t move in a ‘ship’ (boat in water movement) like manner. Mainly that the movement is independent of the orientation of the ship.

So now I’m trying to set up my own custom movement by having the base class as a DefaultPawn (or should I use Pawn?), but I have no idea on where to begin, the ship just teleports to the the destination. I’m open to both blueprint and c++ suggestions (but prefer c++). At this point I’m still very new to the Engine, but I’m at a loss at how to even begin to create ‘ship’ like movement, or any movement for that matter.

Any guidance would be greatly appreciated!
Thanks!

Well, like I said, I would like movement that is similar to a ship in water (curving turns, moving in the direction the ship is pointing in).

I guess learning extremely basic movement would be a start, but I don’t know where to begin. (The movement needs to be able to pathfind through a navmesh)

I’d just use Pawn class. If I’m reading you right you want a basic movement?

are you using the tick function or something else?

virtual void Tick(float DeltaSeconds) override; in your header file

void MyPawnClass::Tick(float DeltaSeconds)  in the CPP file
{

MyComponent->RelativeLocation.Y += 800.0f * DeltaSeconds;

}

you use RelativeRotation and RelativeLocation

if you are not using the tick function you the would use GetWorld()->DeltaTimeSeconds and include #include “Engine.h” in your CPP file

Yes you should definitely get a feel for basic movement first. Buoyancy is a fair bit more complex and path-finding for turning with curves could also start to get more advanced depending on your approach.

Here’s a video that gives an example of buoyancy and waves. To over-simplify, the objects in the water volume are given additional “control points” that help set the height of the object at specific points along it’s body. There’s probably all sorts of ways to implement this but it’s going to be much more involved than simple movement to achieve.

If the buoyancy is just for “effect”, I would just focus on the important logic of the game such as basic movement, etc and come back later to polish things up with the visual effects.