RenderSystem#execute not called in example/client
hi,
I tried your implementation. And yes I know "it's just an experiment". But it's sound that's it have great potential.
Currently the execute method in Render (System) is not called. It's because the "mandatory: true" in queries field. If I understand correctly it's not the direct problem. You can see it, if you remove the mandatory field.
It's because: the world.entities in client are not correctly updated after "room.onStateChange". May you help to explain, what can I do, to fix it? perhaps the enableAutoDecoding method in class World is not fully implemented. There is also an TODO and perhaps entity.components.onRemove and entity.components.onChange must be implemented correctly.
do you have any ideas here?
Hi @meltzow, thank you for trying out and going deep on this project. I've paused working on this project for a few reasons:
- The
ArraySchemais currently not very optimized on@colyseus/schema- its internal implementation needs to be improved to consume less bandwidth (every operation has to send theindex), and "stream" adds and removals properly. For example, when you add and remove the same item on the server-side (without giving enough time for the add to propagate), that add + remove is going to be ignored, and not synched. This is "correct", but not intuitive if your client depends on that to give visual feedback for the user. - ECSY's development (the ECS library used on this project) has been halted, although it sparked the surge of many great ECS libraries out there, such as BitECS and BECSY. Given the OOP nature of Colyseus and the schemas, I believe BECSY would be the best library to use for the Colyseus + ECS integration.
I'm glad you're willing to help here, and you can count on my support to try to make this more stable. If we can make the basics work out, I'm sure the other points I've described above can be improved at a later stage.
Does your branch reproduce the problem you've described here? If you can give me a starting point for your particular issue I can help you inspect it out
Cheers!