A cool thing to see covered would be separation of simulation and rendering, it's a classic that I've had problems finding good posts where all is detailed.
I know this may be a bit off-topic but bear with me: I'm currently working on a client raylib + server ENet little multiplayer top-down demo, all in Odin, and I'm struggling with the separation of simulation and rendering in combination with networking. I'm making use of the "render tick" technique/method described by Jon Blow and Jakub (https://jakubtomsu.github.io/posts/fixed_timestep_without_interpolation/).
How do you avoid rubber-banding when very quickly tapping and releasing D to move, so quickly that you don't get to execute your simulation step (every 1/30s when you send your MOVE packet), but you do execute your render tick (as it happens every frame, 175hz in my monitor). This is my current issue. Maybe you have some thoughts thanks Karl :)
I want to use the most native api on all platforms. That makes it have the least amount of problems when you actually want to ship a game. Also, having support for multiple backends is important for when you want to get running on platforms such as consoles.
Are you planning for it to have a Metal backend on Mac in future?
Yes.
A cool thing to see covered would be separation of simulation and rendering, it's a classic that I've had problems finding good posts where all is detailed.
I know this may be a bit off-topic but bear with me: I'm currently working on a client raylib + server ENet little multiplayer top-down demo, all in Odin, and I'm struggling with the separation of simulation and rendering in combination with networking. I'm making use of the "render tick" technique/method described by Jon Blow and Jakub (https://jakubtomsu.github.io/posts/fixed_timestep_without_interpolation/).
How do you avoid rubber-banding when very quickly tapping and releasing D to move, so quickly that you don't get to execute your simulation step (every 1/30s when you send your MOVE packet), but you do execute your render tick (as it happens every frame, 175hz in my monitor). This is my current issue. Maybe you have some thoughts thanks Karl :)
I think the reason people find the "fixed timestep" things tricky is that it depends on the style of game and style of code how you can implement it.
Your question is a good example of this. I'm not even sure how your code fits together, so it it very hard to give a general answer.
Why not use WGPU as the main backend for all systems? This also solves the shader issue.
I want to use the most native api on all platforms. That makes it have the least amount of problems when you actually want to ship a game. Also, having support for multiple backends is important for when you want to get running on platforms such as consoles.