HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jamadazi

no profile record

comments

jamadazi
·5 lat temu·discuss
ARM is just an instruction set architecture specification. It is not any specific CPU; there are many different implementations (different chip designs). They can differ to various degrees, and often have at least a few non-standard features.

Hence, each ARM chip/platform often needs at least a little bit of special support (or drivers) to fully work in Linux, besides the standard ARM stuff.

Apple's platform is actually very different, with much more non-standard stuff, compared to other ARM implementations. Hence, much more extensive work was required to support them, than would be typical for other ARM platforms.

Even some of the really low-level features are different. For example, Apple have their own Interrupt Controller. Supporting it (in place of ARM's standard General Interrupt Controller) was a prerequisite to even be able to boot the linux kernel. Another weird thing about this platform is the bus configuration.

Also, Power management is something that is virtually always chip-specific, and the Apple M1 has some unusual quirks on top of that.
jamadazi
·5 lat temu·discuss
It's in contrast to Object-Oriented Programming. In OOP, you define classes of objects, with behaviors/functionality attached to them.

In Bevy, the focus is on the data. The ECS is like a big table (if you are not familiar, you can think of it by analogy with a database or spreadsheet). It stores all your data. Components are like the columns of the table, and entities are like rows.

You then write functionality separately. You can query the ECS to get the data you need. Your logic is not attached to any particular "object instance" or "object type".
jamadazi
·5 lat temu·discuss
Bevy has no stability guarantees. APIs will be broken.

However, that said, many of us are already building "real games" with Bevy. I've been using bevy almost since day-1, and none of the updates have been particularly difficult/painful. The changes have always been easy to adapt to, especially with the Rust compiler helpfully pointing out everything you need to fix ;).

In terms of features for building "real games", bevy is still lacking in many areas:

- UI is very primitive (this is the next focus area to be worked on)

- animation (already in progress)

- audio (community-made plugins are available)

- advanced rendering features and performance optimizations (also already being worked on)

- there is no editor yet

Given the super active development pace of Bevy, many of these areas will greatly improve soon.

If you want to make a content-focused game with lots of assets and requiring a level/scene editor, Bevy is not ready yet. However, if your game is more code/programming/logic heavy, I definitely recommend that you try Bevy already now. The programming experience is awesome, the ECS ergonomics are really good. It's really easy to code game logic.
jamadazi
·5 lat temu·discuss
For anyone interested in learning / trying out Bevy, have a look at The Unofficial Bevy Cheatbook (i'm the author): https://bevy-cheatbook.github.io.

I did a major overhaul of the book for the new 0.5 release, and it's better than ever! Many pages were expanded or rewritten, new content added, and community feedback addressed. This is now one of the most detailed learning resources for Bevy.

Enjoy, and have fun making things with Bevy!

(the book is a continuous work in progress, even more content and improvements coming soon!)
jamadazi
·5 lat temu·discuss
Officially, not yet, but there is a good community-maintained plugin: `bevy_prototype_lyon`.
jamadazi
·5 lat temu·discuss
Bevy is modular, in the sense that you can remove higher-level parts/layers if you don't want to use them.

For example, you could use only the Bevy ECS if you didn't care about the rest.

You could replace `bevy_winit` (window creation using the winit library) with your own alternative.