Also just so you know, it makes little sense to use a syncMethod Like:
Display.sync(1000).
as this will vary between different Video cards, weather or not a single frame can even be rendered in 1000 fps.
The human eye cant possibly see more than 250, from what I know.
try (for testing purposes) just using Display.sync(60) don't manage any of the delta values yourself. dont make logic changes based on time, but rather use a set value for an expected gamecycle length.
just so you know, Doom3 uses a capped frame rate of 60
so with the example method:
private void update(double delta) {
shipX += (int)(shipXSpeed * delta);
shipY += (int)(shipYSpeed * delta);
}
change it something like:
private void update() {
shipX += shipXSpee;
shipY += shipYSpeed;
}
only adding "Display.sync(60);" into your game loop
and if your ship speeds are not fast enough/slow enough then change them till they are, and keep it at that specific value for each game cycle.
you will probably need to make sure either v_sync is off, also your screen refresh rate needs to be higher than 59hz to be accurate (My first method removes this issue though).