Live data from Hacker News

Ambient: The Multiplayer Game Engine

ambient.run

131–140 of 148 posts

Re: Ambient: The Multiplayer Game Engine

#131
post #109

Earlier quoted context omitted.

WebGPU doesn't necessarily mean "in the browser" though Rust game engines are using it as a library for native games

It does, anywhere else is better served with middleware that has full exposure to native 3D APIs without the constraints of an API designed to be called in a browser sandbox.

are you confusing it with WebGL?

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

Re: Ambient: The Multiplayer Game Engine

#132
post #39

Earlier quoted context omitted.

> You can't even achieve PS2-era graphics with Rust right now. Don't you have access to Vulkan from Rust? So you should be able to do whatever you want, same as doing it in any other language I assume that can plug into it.

I think the point being made is about the tooling being available to do it easily.

Haven't looked into it, but I think there were a bunch of projects for Vulkan bindings for Rust. Not sure how much harder it's to use that vs using it from C++.

Re: Ambient: The Multiplayer Game Engine

#133
post #132

Earlier quoted context omitted.

I think the point being made is about the tooling being available to do it easily.

Haven't looked into it, but I think there were a bunch of projects for Vulkan bindings for Rust. Not sure how much harder it's to use that vs using it from C++.

So ambient uses WebGPU, which on rust usually means the wgpu library, which has a vulkan backend for platforms that support vulkan. It's possible that's what you're thinking of.

The issue is that vulkan is really low level. So while it's possible to do whatever you want, you need tooling to make it worth the effort to do in rust. For example, let's say this morph thing is a click and drag difficulty level operation in Unreal engine, but in ambient there's no specific tool for it so you have to write 10K lines of code to do the same thing. In this case, the issue isn't what's possible through the gpu, but rather how much work a developer has to do.

If you have to choose between writing big portions of code to do what other engines nice you for free vs. spending that time on your game, many developers will opt for the more mature engine.

(I say this as someone who is not a game developer, I've never used Unreal engine, and I have no idea what this morph operation is, but this is the shape of the issue at play here)

Re: Ambient: The Multiplayer Game Engine

#134
post #132

Earlier quoted context omitted.

Haven't looked into it, but I think there were a bunch of projects for Vulkan bindings for Rust. Not sure how much harder it's to use that vs using it from C++.

So ambient uses WebGPU, which on rust usually means the wgpu library, which has a vulkan backend for platforms that support vulkan. It's possible that's what you're thinking of. The issue is that vulkan is really low level. So while it's possible to do whatever you want, you need tooling to make it worth the effort to do in rust. For example, let's say this morph thing is a click and drag difficulty level operation i…

This sounds to me like an engine issue, it has nothing to do with it being in Rust. Same can apply to engine in any language. I.e. whether it provides certain features for you or not and you need to implement them yourself.

Re: Ambient: The Multiplayer Game Engine

#135
post #15

I have to ask: Why not contribute to Bevy instead? Edit: Ah... I see it's a SaaS startup that wants to offer the servers as a service for game developers. Building on someone else's engine would make the hosting brand weaker.

Engines need to be high-performance across machines and networks, a challenge in itself, and their maintenance is more complicated than an operating system's. This is an observation based on the current engine and OS market. Why is it bad that they're a SaaS business? What other business models are ok for making game engines?

It’s not bad, but it explains the logic.

Re: Ambient: The Multiplayer Game Engine

#136
post #15

I have to ask: Why not contribute to Bevy instead? Edit: Ah... I see it's a SaaS startup that wants to offer the servers as a service for game developers. Building on someone else's engine would make the hosting brand weaker.

Bevy really needs some love. It looks very promising. But I'm being hypocritical here... knowing I have no time to contribute to Bevy and just hoping someone else to do my job.

Bevy had 83 contributors last one month according to github. I wish they had more (more is more), but I think they’ll be fine.

Re: Ambient: The Multiplayer Game Engine

#137
post #109

Earlier quoted context omitted.

It does, anywhere else is better served with middleware that has full exposure to native 3D APIs without the constraints of an API designed to be called in a browser sandbox.

are you confusing it with WebGL? we're talking about https://github.com/gfx-rs/wgpu which has Vulkan, Metal and DX12 backends

Nope, https://www.w3.org/TR/webgpu/

Re: Ambient: The Multiplayer Game Engine

#138
post #109

Earlier quoted context omitted.

It does, anywhere else is better served with middleware that has full exposure to native 3D APIs without the constraints of an API designed to be called in a browser sandbox.

WebGPU makes cross-platform seamless because it's got multiple backends, and it's quite capable. It can be extended to add native platform features

That is what middleware engines already do, and with much better tooling.

WebGPU's place is on the Web, no need for more extension spaghetti than Khronos already do by themselves.

Re: Ambient: The Multiplayer Game Engine

#139
post #134

Earlier quoted context omitted.

So ambient uses WebGPU, which on rust usually means the wgpu library, which has a vulkan backend for platforms that support vulkan. It's possible that's what you're thinking of. The issue is that vulkan is really low level. So while it's possible to do whatever you want, you need tooling to make it worth the effort to do in rust. For example, let's say this morph thing is a click and drag difficulty level operation i…

This sounds to me like an engine issue, it has nothing to do with it being in Rust. Same can apply to engine in any language. I.e. whether it provides certain features for you or not and you need to implement them yourself.

> you need to implement them yourself

This is a massive amount of work before animators can make any use of it. Teams or indie devs that want to use modern animation in their games can't make use of Bevy/Fyrox(/Ambient?) until they develop these tools, which may take years at this rate.

Tickets for more modern animation have been filed in both projects for quite some time, but they lack the staffing and engineering headcount to work on it.

These engines are in a place where they can do rigid bone animation, but that's it. No faces, no breathing, no talking. You can hack your way forward with bones, but it's not as good and it's hard to build/maintain.

I'm doing my part by donating to many of the engineers building these systems in Rust, but I can't expend extra engineering help from myself or my team - we're too busy building things, and sadly I'll probably have to start launching web-facing stuff with Godot due to its incredible maturity. Our entire stack is almost entirely Rust, so it's a bit sad for us.

Re: Ambient: The Multiplayer Game Engine

#140

Earlier quoted context omitted.

"Why not Rust?" Well, if you have got access to a language designed for making games like Jai, then that would presumably be better than Rust.

Is there a road map for when Jai might be available.

Not as far as I am aware
Post reply on HN