Skip to content

playbymail/oaky-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9209f72 · Mar 28, 2023

History

22 Commits
Mar 28, 2023
Mar 5, 2023
Mar 28, 2023
Mar 5, 2023
Mar 4, 2023
Mar 2, 2023
Mar 2, 2023
Mar 2, 2023
Mar 2, 2023
Mar 3, 2023
Mar 3, 2023
Mar 2, 2023
Mar 4, 2023

Repository files navigation

Oaky Engine: a player aid for Heart of Oak: Age of Fighting Sail

I am creating this as a play aid for Jon Williams' game, Heart of Oak.

Copyright

The rules are Copyright © 1978, 1983 by Jon Williams. They are published by Fantasy Games Unlimited, Inc.

If you are interested in obtaining the rules, Fantasy Games Unlimited, Inc. sells a PDF.

The Privateers and Gentlemen game includes a copy of the Heart of Oak rulebook. The quality of the scan seems to be a bit better.

If FGU's site isn't available, try these guys:

Images

The Compass_Card__B+W.svg is CC BY-SA 3.0

Notes

Ships vs Vessels

I'm going to call almost anything that floats a ship, even though the rules treat vessels differently than ships.

Game Scale

The rules are for 1/1000 miniatures, so 1 millimeter on the table respresents 1 meter in the "real" world.

A turn represents 1 minute of time.

Positioning

I am using a Cartesian coordinate system to place objects on the map. I'm going along with the scale in the rules, so each X and Y increment represents 1 millimeter.

The origin won't matter until we start mapping in terrain or depth.

Heading

Heading is something like the true direction that a ship is pointing. Again, I'm using a flat-Earth and ignoring the curvature of the Earth.

The rules represent heading using the Compass Rose.

This program uses

Distances

Measurements are from the main mast of the ship. I am using 64-bit floating point numbers for coordinates. According to Stack Overflow, that means we should be able to track objects 9,007,199,254,740,992 millimeters apart.

Bearing

Bearing reference

Internally, we're using radians, but we convert to the Compass Rose when reporting bearing.

I think that's kind of nice, because it hides the truth from the player. It's the age of sail; we're using magnets for direction and best-guesses for bearings. It wouldn't be right to use the exact bearing (or range).

Polar coordinate system

Compass Rose

I have a concept of North, South, East, and West. For small scales, we can ignore the curvature of the Earth and assume:

  1. 0,1 is North of 0,0
  2. 1,0 is East of 0,0
  3. 0,-1 is South of 0,0
  4. -1, 0 is West of 0,0

That brings up a challenge reporting things to the player.

The program can say that HMS Speedy is at (0,0), with a heading of NNE, the current is pushing SSE at 2 knots, the wind is from the SE at 7 knots, and the El Gamo is to the NE at (55,55), heading W at 8 knots.

Nice drawing.

Errata

I am using the 1983 edition of the rulebook. I have not seen an official set of errata for the game.

This section will note the few typos I've found, plus any odd interpretations of the rules I've made.

Glossary

See Glossary of Nautical Terms on the Wikipedia.

Notes

  1. Point of Sail
  2. Effect of point of sail on forces

Links

  1. The Wikipedia page
  2. Another Wikipedia page
  3. Fantasy Games Unlimited
  4. Board Game Geek review
  5. Math Is Fun article on converting Polar and Cartesian Coordinates
  6. Why do we use radians for polar coordinates rather than degrees?
  7. Why Radian Measure Makes Life Easier In Mathematics And Physics
  8. Compass Rose
  9. Spherical Geometry
  10. Bearing Angle
  11. Bearing Angle - Boat
    1. Length and Bearing

Acknowledgments

The Compass Rose (Compass-rose-32-pt) picture is By JamesLucas - Own work, CC BY-SA 4.0.

About

Game engine for Oaky Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages