One way you could do it is get the forward vector (the direction) of a box/cube and multiply that by the speed you want to accelerate, then add this to the current position of the object. You can also use this method to simulate inertia.
Here's a little demo I made quick that shows this, its untested as DBP isnt installed at the moment
Set Display Mode Desktop Width(), Desktop Height(), 32, 1
Sync On
Autocam Off
` Vector to hold the inertia speed
Type Vector3D
X as Float
Y as Float
Z as Float
EndType
` Spaceship Description UDT
Type SpaceshipDesc
o as Integer
Inertia as Vector3D
Acceleration as Float
EndType
` Create a spaceship
Global Spaceship as SpaceshipDesc
Spaceship.o = 1
Spaceship.Acceleration = .01
Spaceship.Inertia.X = 0.0
Spaceship.Inertia.Y = 0.0
Spaceship.Inertia.Z = 0.0
Make Object Box Spaceship.o, .5, .25, 1.0
Position Object Spaceship.o, 0.0, 1.0, 0.0
` Create a dummy object to get the forward vector
Global DUMMY as Integer = 999
Global DummyPos as Vector3D
Make Object Plain DUMMY, 1.0, 1.0
Hide Object DUMMY
` Create the ground
Global Ground as Integer = 2
Make Object Plain Ground, 10.0, 10.0
Position Object Ground, 0.0, 0.0, 0.0
XRotate Object Ground, 90
` Position the camera
Position Camera 0.0, 10.0, 0.0
Point Camera 0.0, 0.0, 0.0
` Main Loop
Do
` Control the spaceships rotation
If LeftKey() then Turn Object Left Spaceship.o, 5.0
If RightKey() then Turn Object Right Spaceship.o, 5.0
` If the up key is pressed, add the acceleration to the inertia vector we stored
If UpKey()
` Get the dummy object and move it 1 unit infront of the spaceship
Position Object DUMMY, Object Position X( Spaceship.o ), Object Position Y( Spaceship.o ), Object Position Z( Spaceship.o )
Set Object To Object Orientation DUMMY, Spaceship.o
Move Object DUMMY, 1.0
DummyPos.X = Object Position X( DUMMY )
DummyPos.Y = Object Position Y( DUMMY )
DummyPos.Z = Object Position Z( DUMMY )
` Multiply the distance value by the acceleration and add to the inertia
Spaceship.Inertia.X = Spaceship.Inertia.X + ( DummyPos.X - Object Position X( Spaceship.o ) ) * Spaceship.Acceleration
Spaceship.Inertia.Y = Spaceship.Inertia.Y + ( DummyPos.Y - Object Position Y( Spaceship.o ) ) * Spaceship.Acceleration
Spaceship.Inertia.Z = Spaceship.Inertia.Z + ( DummyPos.Z - Object Position Z( Spaceship.o ) ) * Spaceship.Acceleration
EndIf
` Update the spaceships position
Position Object Spaceship.o, Object Position X( Spaceship.o ) + Spaceship.Inertia.X, Object Position Y( Spaceship.o ) + Spaceship.Inertia.Y, Object Position Z( Spaceship.o ) + Spaceship.Inertia.Z
Sync
Loop
EDIT: Fixed some errors