We already have a good approach that gives to mix programming languages and write code on Lua/TypeScript/Go (for example we can define RPC function in the TypeScript and write match handlers in Go) but we have no solution to call functions between modules.
For example we have a project with shared code between server and client
That shared contains piece of code with huge CPU usage (data serialization in my case) that can be implemented on Go.
We need something like local RPC function call in this case.
This would be interesting, and I can see it being useful for various CPU-intensive situations. However there would be unknowns to address, for example arguments passed to another runtime’s function would need to be marshaled in some way in a language-agnostic encoding. Same applies to getting results from that function back to the caller runtime.
For your specific use case of serialization I’m not sure it would be worth it.
Hi! I’ve found new CPU-intensive cases - NavMesh/Path Finding, Bot AI/Aggression system and so on.
About marshaling in some way in a language-agnostic encoding we can use RPC functions instead of just a module function (call any registered RPC function via runtime.Rpc to bypass networking) i think.
What do you think about ability to call rpc function in server runtime?