66 lines
2.0 KiB
Org Mode
66 lines
2.0 KiB
Org Mode
#+TITLE: Design of Group B Pace Notes
|
|
|
|
Need to figure out how to structure the game loop, it's probably at least one genserver, but the rest of it?
|
|
|
|
* Components
|
|
|
|
each player is an entity
|
|
each card is an entity?
|
|
each stage note is an entity?
|
|
|
|
** Player
|
|
|
|
Player is a component with an entity id generated by liveview or so -- it's the "primary" container for each play session
|
|
|
|
Player has components:
|
|
- StageNote (non-unique, ordered list (how?) of stages to progress through, need to be able to "peek" ahead)
|
|
- Action (non-unique, unordered list of cards with different locations)
|
|
- Throttle (how fast the speed increases)
|
|
- Speed (how fast the car is carried through the current stage note
|
|
- Focus
|
|
- Stage Time (float or so, basically the score)
|
|
|
|
** Stage Note
|
|
|
|
A stage note is a single pace note entry: straight 30, 5 left don't cut, caution over bumps, etc
|
|
|
|
- Active (tag), is this the stage note we are progressing over
|
|
- Max speed
|
|
- required focus
|
|
- Type (straight, esses, curve, hairpin, special)
|
|
- Components to express oddities of the stage, caution, don't cut,
|
|
|
|
** Action
|
|
|
|
There is a deck of these which a player can spend to take actions on a stage
|
|
|
|
- Location (is it being played, in hand, deck, or discard)
|
|
- FocusModifier
|
|
- ThrottleModifier
|
|
- SpeedModifier (use sparingly, game is much more about throttle control)
|
|
- Tags for special cards (for example: this is a cut)
|
|
|
|
* Systems:
|
|
|
|
How does a player "spend" focus and speed? speed is obvious in the braking and acceleration cards
|
|
|
|
what is focus used for? the faster you're going the more focus should drain, since you're using more of it to stay on course
|
|
|
|
more focus could increase look-ahead too? you can listen to the co-driver better? hmm
|
|
|
|
** SpeedSystem
|
|
|
|
speed += throttle + distance
|
|
|
|
** ActionSystem
|
|
|
|
Enforces constraints on action cards, makes sure hand size is reasonable, feeds active card to StageNoteSystem
|
|
|
|
** StageNoteSystem
|
|
|
|
Consumes an active Action, updates Player components accordingly
|
|
|
|
** StageSystem
|
|
|
|
progresses a Player over a list of StageNotes and makes sure they are still alive, updates stage time
|