JustinHuPrime / NPlanetaryHaskell

CPSC 312 Group Project 1
GNU Affero General Public License v3.0
1 stars 0 forks source link

Get client to display board state #5

Closed JustinHuPrime closed 3 years ago

JustinHuPrime commented 3 years ago
JustinHuPrime commented 3 years ago

Probably want a white background with black/player-id specific coloured ships.

Also probably want coloured circles for planets and gravel-looking blobs for asteroids (an asteroid cluster is 0.5 units in radius, planets are somewhat smaller - earth would be 0.25 units in radius)

JustinHuPrime commented 3 years ago

We probably want an orthographic projection matrix, with the transform that at zoom = 1x, the 100-unit diameter boundary beyond which units cannot move fills the screen. I'm not sure if it's better to make zoom = 1x mean that the long dimension of the client side's screen is 100 units or if we want to make zoom = 1x mean the short dimension of the client side's screen is 100 units. Probably the latter.

JustinHuPrime commented 3 years ago

Since there's layers, it might be helpful to have no transform on the z-axis, so we can use z-values to separate things into layers - i.e. the background is at z = -0.9, things (asteroid clusters, astronomical objects) on the background at -0.8, ships at 0, etc.

We might want to declare that ships are at z-level 0, and make everything else layer relative to that.

JustinHuPrime commented 3 years ago

Also need to figure out how to handle multiple ships near enough to each other that they'd overlap, even at maximum zoom. Probably a stretch goal.