Live data from Hacker News

Bevy: A data-driven game engine and app framework built in Rust

bevyengine.org

101–108 of 108 posts

Re: Bevy: A data-driven game engine and app framework built in Rust

#101

Earlier quoted context omitted.

Everything is beautiful so far, the website is nice looking, the overview is self-explanitory. If I wasn't so in love with Godot I would use this. I think one thing that would sell this would be an editor like Godot has, it's one of the strongest selling points with Godot for me.

The integrated code editor in Godot is actually something I don't like. The text editor doesn't support the usual Mac keyboard shortcuts, scrolling isn't always responsive and it can't be used to view text files such as json files. I hope that Bevy users won't be forced to use the Bevy editor for coding. VS Code, vim, emacs and other editors have lots of extensions and work well for coding. I'd rather see some kind o…

You're technically allowed to edit code elsewhere I thought? The editor for Godot is there out of convenience. It's also Open Source and I'm sure you could raise issues about these problems. If they're not voiced in the proper channels they might not get resolved.

Re: Bevy: A data-driven game engine and app framework built in Rust

#102
post #12

Creator of Bevy here. I just announced Bevy yesterday and the response so far has exceeded my wildest expectations. I'm happy to answer whatever questions people have!

I'm quite excited to give this a try. I'd just point out that I'm seeming to run into errors, even on the examples. I love debugging just as much as the next developer and will probably figure this out, but I thought I would suggest that you get a forum like Stack Exchange or something custom. Most people develop via Google or DuckDuckGo and not being able to Google an error code or make a post is a serious hindrance to development. (Discord is great but not a replacement)

The error that I am currently facing (if you're curious):

EDIT: This is because I was using Rust 1.40 rather than 1.45. Oops.

  $ cargo run --example breakout
     Compiling glam v0.9.3
     Compiling same-file v1.0.6
     Compiling anyhow v1.0.32
     Compiling once_cell v1.4.0
     Compiling adler32 v1.2.0
     Compiling anymap v0.12.1
     Compiling crc32fast v1.2.0
     Compiling remove_dir_all v0.5.3
     Compiling pin-project-internal v0.4.23
  error[E0599]: no method named `map_or` found for type `std::result::Result` in the current scope
   --> /home/myname/.cargo/registry/src/github.com-1ecc6299db9ec823/glam-0.9.3/build.rs:7:10
    |
    7 |         .map_or(false, |cfg| cfg.split(',').find(|&f| f == "sse2").is_some());
    |          ^^^^^^ help: there is a method with a similar name: `map_err`

  error: aborting due to previous error

  For more information about this error, try `rustc --explain E0599`.
  error: could not compile `glam`.
  warning: build failed, waiting for other jobs to finish...
  error: build failed

Re: Bevy: A data-driven game engine and app framework built in Rust

#103

Earlier quoted context omitted.

ECS has been used relatively heavily in game dev since like late 90's.

So? That has nothing to do with the performance of an implementation which is what I commented on. Data oriented design is about managing data organisation to match access patterns in order to best exploit the hardware cache. That requires more design than simply using the ECS pattern. Which is why a lot of generic engines introduce other concepts like Grouping and Archetypes to try to alleviate this. And even if you…

Overwatch is built using an ECS. https://youtube.com/watch?v=W3aieHjyNvw

Re: Bevy: A data-driven game engine and app framework built in Rust

#104
post #75

> Turtles All The Way Down Does Rust also compile to the GPU?

For now it isnt.

There are people working on this. https://github.com/MaikKlein/rlsl

This is supposed to produce SPIRV though, Becy uses WebGPU which has a custom shading language.

Re: Bevy: A data-driven game engine and app framework built in Rust

#105
post #80
post #62

This is amazing . Seriously: I had a look at nearly every game engine/GUI solution in Rust and this is by far the most thought out, ergonomic and complete thing I found. Color me stoked!

Just curious, have you seen amethyst? https://amethyst.rs/ I'm wondering what you find not well thought out about it.

I gave Amethyst a serious try about a year ago. I even joined the Gitter intending to contribute, as I needed some more dynamic rendering features, and read the foundational research on the wiki that seemed to inspire the project.

I found the application of the research -- the execution -- too early in development for my needs. I have the feeling it will grow into something more flexible with time, but at least back then, I wasn't able to render to a texture being applied to a mesh. Not being able to get around the deeply integrated ECS was hard, as well.

Re: Bevy: A data-driven game engine and app framework built in Rust

#106
post #12

Creator of Bevy here. I just announced Bevy yesterday and the response so far has exceeded my wildest expectations. I'm happy to answer whatever questions people have!

How much control do you have over rendering without having to discard Bevy's renderer and asset server entirely? A big problem I had with Amethyst (and, honestly, other big engines like Unity and Godot) is that you have very little ability to use custom formats that have prebaked visibility, lighting and so forth because there’s no good way to efficiently control how the renderer gets called. You can only convert your scene to their format, usually discarding useful information. I want to use BSP as the level format in my games because I’m familiar with it and it allows for modders to easily create content, but no engine with a pre-built renderer allows you to render them anywhere close to efficiently. This isn’t just being able to have custom file format loaders and render pipelines, you need to be able to have a single vertex buffer while creating a number of index buffers based on various precalculated visibility clusters, and then be able to choose the index buffer to be rendered based on the camera's location.

Re: Bevy: A data-driven game engine and app framework built in Rust

#108
post #61

Earlier quoted context omitted.

For some, theoretically it's easier to train new Rust developers than it is to fix the bugs of new C/C++ programmers. Folks are trying to move the cost to training and dev bringup time instead of bug-fixing time. Rust has other more technical advantages. But if you want to know why management is choosing it, it's because getting good C/C++ developers is a painful process nowadays.

Getting good developers is painful process no matter what, usually those are the ones that don't answer headhunters, search for their own gigs via their own contact network, and don't get to change jobs just for a couple of more coins.

True. Guess I just meant some folks are willing to trade one problem for another.
Post reply on HN