Instead of scene graph (OOP) I want to use scene ECS, like O3DE.
Draft design:
World:
Basis
Sun
Skybox
Player:
CoordSystem(World)
PlayerController
Camera:
CoordSystem(Player)
Transform(pos: vec2(10, 0))
It have one problem: coordinate systems, for Adding Space, physical scene slightly different from game scene, object in space should select coord system with minimal acceleration/speed for object, it need to do work in space with high speed rockets to get stable simulation. Also for planets useful bound coordinate system to polar coords, but in space representation is bad, also ECS should not taken too many work (otherwise it will turn game development into hell), for example, we want to make game with hexagons and 12 pentagons on sphere (Goldberg polyhedron), it need coords via icosahedron. For build it we need to do things like this: https://stackoverflow.com/questions/46777626/mathematically-producing-sphere-shaped-hexagonal-grid
For it best coordSystem:
(faceId, q, r)
or
(faceId, x, y, z)
i.e
(faceId, hexCord)
I.e we need Also DiscreteBasis, DiscreteCordSystem() and DiscretePosition(), (idk how to make specialisation),
and we should have ability to add basis in cell for example to allow player rotate.
Instead of scene graph (OOP) I want to use scene ECS, like O3DE.
Draft design:
It have one problem: coordinate systems, for Adding Space, physical scene slightly different from game scene, object in space should select coord system with minimal acceleration/speed for object, it need to do work in space with high speed rockets to get stable simulation. Also for planets useful bound coordinate system to polar coords, but in space representation is bad, also ECS should not taken too many work (otherwise it will turn game development into hell), for example, we want to make game with hexagons and 12 pentagons on sphere (Goldberg polyhedron), it need coords via icosahedron. For build it we need to do things like this: https://stackoverflow.com/questions/46777626/mathematically-producing-sphere-shaped-hexagonal-grid
For it best coordSystem:
(faceId, q, r)
or
(faceId, x, y, z)
i.e
(faceId, hexCord)
I.e we need Also DiscreteBasis, DiscreteCordSystem() and DiscretePosition(), (idk how to make specialisation),
and we should have ability to add basis in cell for example to allow player rotate.