Nullptr finish race arrow + race xml issues + Host Discovery + Scaling Race
Acceptance Criteria:
When a game starts I should see it reflected in the host lobby within 5 seconds.
When a game ends it should not remain in the host lobby for more than 5 seconds.
Changing the windspeed and the milliseconds value on Event.java line 124 should make the race larger or smaller.
This should fix the race xml issues where the player didn't have a boat / last player joining not seeing their boat. Somehow the client was receiving xml files out of order, and it didn't check the order, so it would use race xml file 1, then replace it with race xml file 0, which was out of date.
See merge request !54
Spectate mode basic
Client can now select spectate when connecting to a race.
- The "Join game" button has been split into "Participate" and "Spectate".
- Selecting spectate should join the game, but not assign a boat.
- Spectator cannot control any boats, or have an effect on game.
- Can spectate a game even if it is full.
See merge request !49
Boat color and speed
- Boats are colored by their assigned color.
- Boat name is displayed in lobby.
- Boats don't move quite so fast.
See merge request !50
- Modified View3D to index subjects rather than shapes by source ID
- Enforced one collision per boat on server to reduce rendering load
- Changed collision radius to less than bounce radius
- Fixed game-breaking null command bug
#story[1195]
D and A
D) As user I wish to play on a modern day 3D view
Description: The current base of the game is run on a 2D dot and line canvas, this will be overhauled and replaced with a 3D view of the game.
Acceptance Criteria:
- Boats, and markers in the race are now 3D.
- Sea has a surface.
- Race runs and is reflected on the 3D view.
- Skybox must be present.
- Boundary must be shown (2D or 3D)
- Annotations do not need to be shown.
Tests:
- When the FXML's are split make sure that the race still changes panes to reflect each stage of the race, prestart, racing, and finish.
- The boats headings on the 3D models are the correct orientation (if they aren't facting forward on load please tell Fan-Wu as this should be an issue with the stl file).
- The camera is "fixed" for now.
- The base pane of the race is a stack pane so we can stack an annotations layer, or control layer, etc in the future.
A) [V] As a player I would like for the style of the application to be informative
Acceptance criteria:
* The direction to the next mark is shown in 3rd person view
* The next mark to be rounded is highlighted
* Player is notified with a sound effect when the mark is rounded
* Collisions are made clear and give visual and audio feedback
* The score table overlays on the race and does not affect scaling
See merge request !46