Ralith / hypermine

A hyperbolic voxel game
Apache License 2.0
160 stars 20 forks source link

Blinker POC. Possible framework for constantly-updating entities. #406

Open blockmath opened 5 months ago

blockmath commented 5 months ago

Also divorced the ID generation code from server::sim::Sim. Nevermind; that has been entirely reverted

Still todo for a full feature: making a generic system for entities to sync back to the client.

Future: TickerEntity should be the component associated with any constantly-updating entity, and the actual ticker-specific Ticker struct should be moved to be its own component, with the ticker field in TickerEntity denoting which Component the ticker is held in. Nope, I realize now that that was a short-sighted, C++-pilled idea

blockmath commented 5 months ago

Yeah, most of the weird pub stuff probably got that way from the revert.

blockmath commented 5 months ago

All right, the blinker now actually syncs back to the client. I have no idea how I would go about actually rendering it, though...

patowen commented 5 months ago

All right, the blinker now actually syncs back to the client. I have no idea how I would go about actually rendering it, though...

Yeah, that's going to be rather tricky. The rendering code doesn't have many examples of things being rendered besides the world grid and other players. It's possible that will need to be a separate PR.

blockmath commented 5 months ago

I agree, that's why I'm deciding to finish now rather than waiting to do that.