On the left is the top-down chart (map). I originally rendered it square, but it looked too large and didn't fit the design of the other displays, which are circles. When I made the map into a disk it looked like a globe, which was confusing, so I added the two circles around the outside to make it reference a porthole or telescope. Some rivet dots or decorations on the rim might further improve the appearance, but it is functional.
The next control is the ship's wheel. Under the current control scheme, the player spins the left controller stick or uses keyboard A and D keys to turn the wheel. This feels much more like a boat than direct control over the rudder. Seeing the wheel spin gives proper feedback to make the controls feel tight even though the boat turns slowly. There's a dot on one of the pins to make clear when the rudder is straight but it is currently lost in the bloom effect. Pressing down on the left stick or the S key spins the wheel back to center.
The right half of the screen is reserved for sail trim, sail plan, and cannon information. It feels a little weird to have the wheel off to the left instead of centered, but having the compass centered seemed most important (I could put the compass inside the wheel to center both, but that seems a little busy and the wheel wouldn't read right. I'll try a different layout later.
I've broken G3D's screenshot functionality inside of this app and been reduced to taking screenshots the old fashioned way using Alt + Shift + Fn + F11 on MacBook+Windows, which is annoying. The game is currently running at 60fps at 1280x720 on GK107, using 4ms of CPU time per frame. The water simulation and ray tracing is entirely the GPU.
In addition to the above, the following scheduled tasks are now complete:
- Water visualization scale + offset for debugging
- Handle scrolling of water with occasional large steps so that water can cover the entire world
- On-screen charts
Next on my list for tomorrow are:
- Fix screenshots
- Show sail trim on HUD
- Luffing indicator
- Model the world
- Add buildings for scale and texture
- Make water height conventions consistent throughout the program (e.g., tide level, world-to-water scale)
- Implement and tune wind waves
- Fix water height sample queries under position change
The current biggest risk is that there's no gameplay. The above should get me to the point where I can start working on sailing as gameplay by tuning the sailing parameters. After I have sailing working, arbitrary goals will make it a game, since sailing is the primary mechanic.
14.5 hours left this week!