6 Comments
User's avatar
Amitayas Banerjee's avatar

Are you planning for it to have a Metal backend on Mac in future?

Expand full comment
Karl Zylinski's avatar

Yes.

Expand full comment
Bruno De Angelis's avatar

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 :)

Expand full comment
Karl Zylinski's avatar

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.

Expand full comment
rhcapati's avatar

Why not use WGPU as the main backend for all systems? This also solves the shader issue.

Expand full comment
Karl Zylinski's avatar

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.

Expand full comment