I have a very large redesign of RoR in my head (devmaster9 is just a start), and I'd like every further git-commit to be a step towards that design. I'm using a GitHub issue rather than RoR forum because my employer blocks RoR website, and I need to stay in contact.
I'm writing this down to help myself calm down in the current coding hurricane and to sync up with other devs' ideas and visions. This doesn't mean I want to re-shuffle anything, just to explain why I focus on some things and ignore others.
Terminology
Task (capital T) = a single job in thread pool.
Sim (capital S) = All gameplay state - data representing physics and other simulations. They should be updated only on constant time step (PHYSICS_DT), but for historical reasons many updates are done on per-frame basis with elapsed time as parameter. To see why it's wrong, read https://gafferongames.com/post/fix_your_timestep/
SimBuffer = a copy of game state (For example node positions, drivetrain state, player vehicle pointer etc...)
I have a very large redesign of RoR in my head (devmaster9 is just a start), and I'd like every further git-commit to be a step towards that design. I'm using a GitHub issue rather than RoR forum because my employer blocks RoR website, and I need to stay in contact.
I'm writing this down to help myself calm down in the current coding hurricane and to sync up with other devs' ideas and visions. This doesn't mean I want to re-shuffle anything, just to explain why I focus on some things and ignore others.
Terminology
Devmaster9
For each rendered frame:
Ideal
For each simulation step (PHYSICS_DT):
Softbody data handling.
uint16_t
- currently we mostly useint
ornode_t*
which is incorrect (we can't have more than 2^16 nodes) and has limitations - you can't divide data to multiple arrays (such asar_nodes
+simbuf_nodes
). See also https://github.com/only-a-ptr/rigs-of-rods/blob/dev-master-9/source/main/datatypes/node_t.h#L31-L34Feedback needed
This is what I want to archieve in the long run. Does it make sense? What steps (and in what order) will get us there?