Ambient: The Multiplayer Game Engine

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Ambient

    The multiplayer game engine

  • 5) We've experimented with partial html UIs, but support for it on Rust native isn't great yet. We do have a fairly decent UI implementation (see examples here: https://github.com/AmbientRun/Ambient/tree/main/crates/ui/ex...) though it's not exposed to user code yet, but yeah I hear you that there's a lot of people who know html based UI tech. We'll see exactly where we end up there, but most likely the first step will be to expose the UI library we've built already to users.

    Thanks!

  • gwc-rs

  • That is why we now have incremental linking, hot-code reloading and for the lucky ones on VC++, modules.

    This toy application https://github.com/pjmlp/gwc-rs takes about 15 minutes to compile from scratch on a humble Asus 1215B, whereas the C++ original (thanks to having Gtkmm available as binary), takes about 2 minutes.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • tangle

    Radically simple multiplayer / networked WebAssembly

  • This seems like a mostly very well thought out design (I have a qualm about one detail but maybe they're hiding it), I've been rebuilding an old prototype of mine in a very similar way.

    The DoD ECS pattern should allow for easy state/log shipping to clients, with those 2 parts you can easily build what fighting games terms as "rollback" based netcode.

    Rollback is often characterized as complicated but clean, the truth is that if you structure your data around rollback capable simulation from day one it becomes easy (and DoD ECS naturally fits there just like shipping to separate CPU parts back on the PS3)

    This "trick" of fully shipping state images isn't exactly new, some emulators has done memory image shipping in the past and Ian Kattlewell published a WASM-heap shipping experiment(1) recently that works on the same principle.

    Compared to the snapshot/heap shipping of emulators/WASM is that Ambient should allow for server introspection and upgrades of state.

    Overall I like Ambient, and I'd recommend a look. Only big omission I see right now is audio being missing and it can be a tricky part to synchronize (due to how mixing works).

    1: https://github.com/kettle11/tangle

  • kajiya

    💡 Experimental real-time global illumination renderer 🦀

  • > You can't even achieve PS2-era graphics with Rust right now

    That's just straight up false:

    https://github.com/EmbarkStudios/kajiya

  • rend3

    Easy to use, customizable, efficient 3D renderer library built on wgpu.

  • wgpu

    Cross-platform, safe, pure-rust graphics api.

  • are you confusing it with WebGL?

    we're talking about https://github.com/gfx-rs/wgpu which has Vulkan, Metal and DX12 backends

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts