Hello Hal,

I'm not supposed to do any programming on my vacation, but a 
little design can't hurt :-)

* Will your program be two-dimensional or three-dimensional?
  The error of pressing everything into the ecliptic rivals 
  what you get from circularizing orbits, so if you do one,
  why not the other?

* There might be four of five kinds of object on your map.

  - The sun, at the center of it all, as reference point.
  - Planets moving around the sun.
  - Possibly moons moving around the planets.
  - Constant-acceleration spacecraft, with an accel stat.
  - Variable-acceleration craft, where accel changes over 
    time and delta-V is limited. It might be possible to 
    to ignore time spent accelerating, and to assume an 
    instant vector change followed by coasting. 

  I'm ignoring solar sailers, interstellar rocks, etc. 

* There should be a "tabletop display" with a zoom function 
  and a clock which can be slowed, stopped, accelerated and 
  reset. 

* The position of the planets could be calculated like that
  of a coasting spacecraft, subject to the gravity of the 
  sun, and moons could be coasting around their planets. 

  As mentioned, that is probably overkill. Have the planets
  move on a circle around the sun, and the moons move on a 
  circle around the planets. They move with the clock.

* For spacecraft, the first stage of the project covers 
  movement from one planet to another. Enter start time, 
  accel or delta-V, and the destination, and the system 
  calculates a flight plan. This is shown on the tabletop
  display the same way planetary orbits are show, with 
  hash marks representing time. Probably ships get a 
  smaller time scale, and different hash marks.

* Really useful, and really difficult, would be various 
  "intercept calculator" options -- ship A moves from Mars
  to Ceres, can ship B from Earth make an intercept or 
  even rendezvous? If so, where and when does it happen?

  I'm using intercept to describe "same place, same time,
  different vector" and rendezvous for "same place, same 
  time, same vector".

* There could also a tool which gives the next launch 
  window for minimum-time or minimum-delta-V flights 
  between planets.

* GT has two-dimensional, hexgrid, vector maneuvering rules. 
  Maybe the program should be able to zoom in to this scale,
  to help with space combat. 

That sounds like something like the running example/exercise
for a semester-long course Object-Oriented Programming 101.

Regards,
Onno
_______________________________________________
GurpsNet-L mailing list <[email protected]>
http://mail.sjgames.com/mailman/listinfo/gurpsnet-l

Reply via email to