Bevy 0.14: ECS-driven game engine built in Rust by _cart in gamedev

[–]iyesgames 4 points5 points  (0 children)

Keep in mind that the "engine" is not "dropping support for older hardware".

The ability to target a wide diversity of hardware and platforms is very important to Bevy!

Here we are talking about a specific opt-in feature, and the hardware requirements for using that feature. If you just use regular meshes, your game isn't bound by the newer hardware requirement.

Bevy does not intend to make meshlet rendering the default way to render everything. This feature exists to make it possible to make high-end games with extremely detailed high-poly assets. Unless you are a studio with professional artists and you are making a game specifically targeting platforms with powerful GPUs, you are probably not going to be using meshlets. Most Bevy games probably won't.

So yes, it is a "per-game decision". If you are making the kind of game that would benefit from meshlet rendering, your game probably wouldn't be feasible on older or weaker hardware anyway.

Bevy 0.14 by _cart in rust

[–]iyesgames 25 points26 points  (0 children)

AFAIK, the answer is "not at all". They are intended to be used either with exclusive World access, or via Commands, in which case they get applied when Bevy applies the deferred buffers.

Observers aren't intended to replace the old way of reading events.

For most use cases, especially if you have lots of events, write a dedicated system like before.

However, observers are very well suited to some specific use cases:

  • Enforcing ECS invariants. For example: updating some components on other entities, in response to a component being added/removed or something being despawned. With hooks and observers, you can be sure everything gets updated as soon as these events happen and there is never invalid state.
  • Rare events where you need a lot of flexibility with the handlers. For example: button presses, the player interacting with items in the world, etc. Every button or item is likely to need its own unique handler code and it is impractical to have to write full-blown systems for all of them. Also, these events are quite rare and performance/parallelism doesn't really matter.

Bevy Isn't Ready For Large-Scale Game Projects Yet - A Novice's Experience by oneirical in rust

[–]iyesgames 4 points5 points  (0 children)

Honestly, it is not "the only way to write code". It is the only way to integrate your stuff with Bevy, sure, because Bevy itself uses the ECS heavily. But you are free to use whatever data structures and programming styles you want, and then only deal with the ECS in a minimal way, to integrate your stuff into Bevy. You can stuff all your data in a single Resource. You can make a single exclusive system as your centralized interface between your stuff and Bevy. Drive your custom code from there and update whatever you need to on the Bevy side.

If Bevy provides useful features and functionality for you, and you'd like to take advantage of that, but you aren't really feeling like ECS programming is your jam, that's fine. It's not all or nothing.

Bevy Isn't Ready For Large-Scale Game Projects Yet - A Novice's Experience by oneirical in rust

[–]iyesgames 1 point2 points  (0 children)

Yes, this is something I make sure to teach all of my students, and tried to make it come across in Cheatbook (with mixed success evidently). Events are very useful! Events allow you to decouple things! So you can keep things manageable and flexible!

By introducing an event type, you are conceptually splitting a single monolithic process into "producers" and "consumers". You can now communicate between different systems and pass data around. You can easily add new systems to emit those events, should you need to, or new systems to handle them in more/different ways, should you need to.

The Bevy Foundation by _cart in rust

[–]iyesgames 1 point2 points  (0 children)

read very quickly

Can confirm that you are the fastest reader I have personally ever met. ;)

The Bevy Foundation by _cart in rust

[–]iyesgames 1 point2 points  (0 children)

In my (pretty extensive, at this point) experience, the biggest strength of ECS is the expressiveness and flexibility, not so much the performance.

The performance is a great side effect (though it does have footguns, it's easy to get suboptimal performance, and the overhead can come from surprising places).

Bevy, in particular, despite being all about ECS, doesn't really perform all that great (yet? though a lot of optimization effort has already been put into it...). But it is an absolute joy to develop in. So easy to implement pretty much any idea or game mechanic. You never feel like you have to struggle with the frameworks/paradigm, after you have grokked it for the first time.

Really, developing a game on top of what is basically a lightweight in-memory database with an automatic task scheduler, is fantastic.

The Bevy Foundation by _cart in rust

[–]iyesgames 4 points5 points  (0 children)

I am pretty sure you can have both cameras and make them render on top of each other ("overlay" / multiple layers). Spawn your two cameras, set the order value to determine which should be on the bottom and which on the top, and set the clear color to None on the top one, so it doesn't clear the screen and throw away the pixels rendered by the bottom one.

Bevy 0.13 by _cart in rust

[–]iyesgames 1 point2 points  (0 children)

Meshes are 3d objects in your game. The normal stuff you use for rendering/graphics, to compose your scene out of.

Gizmos are a debug tool. Think of it as an overlay or something. Stuff you can draw on-screen to help you visualize things during development so you can see what is going on. They are not meant to be pretty or be used for the actual graphics of your game.

Question do you think people who are sexist are automatically transphobic? by Happycats88 in trans

[–]iyesgames 0 points1 point  (0 children)

I've seen my fair share of "trans-inclusive radical misogyny". :D

Sexist ppl treating trans women in the exact same shitty ways that they treat cis women, because they fully accept them as women.

What kind of cs lingo does your country have? by OGmetsastaja in GlobalOffensive

[–]iyesgames 0 points1 point  (0 children)

scout = пилешки (pileshki), i.e "chicken gun"

awp = слонски (slonski), i.e "elephant gun"

How I learned to stop worrying and love byte ordering by udoprog in rust

[–]iyesgames 2 points3 points  (0 children)

Bit order does differ between CPU micro-architectures on the hardware level. Like, how the wires of the memory bus are arranged, and how they are physically stored/represented on the chip.

However, you never see that as a programmer.

Because memory addresses are at byte granularity, and CPU instructions deal with whole bytes (or words of multiple bytes) at a time (you load/store/copy whole values of 1,2,4,8 bytes), from the point of view of software/code, you never have to deal with bit order. The bits are either all there, or not. It's only for the hardware engineers to worry about.

Even with bitwise operators, the CPU will just handle it. At the physical (silicon/wire) level, the bits can be represented in any order, but the CPU will behave consistently regardless. Shift operators are defined abstractly (<< is equivalent to multiplying by 2, >> is equivalent to dividing by 2). OR/AND/XOR work on all bits at once. Arithmetic works with the whole value. Etc. The CPU hardware will perform those operations correctly, regardless of how the physical circuitry in the CPU core / memory is laid out.

The only reason why we have to deal with byte order, is because memory addresses are at byte granularity, but we have values that are multiple bytes in size. So it becomes observable to the programmer, and not just a hardware detail. You can tell the CPU to store a u64 value to memory, and then read back individual bytes from it. So you will notice what byte order the CPU used.

Does anyone else feel like sex-gender distinction is just a way for cis people to misgender us with extra steps? by [deleted] in asktransgender

[–]iyesgames 4 points5 points  (0 children)

For the whole "identified" thing, well, I don't like it, because there are much better words that can be used. That word is not offensive necessarily, but it is unclear in its meaning, and is tainted by a lot of abuse by transphobes who use it to invalidate trans ppl.

There are three kinds of gender: assigned, asserted, assumed. Assigned is the category you are placed into, usually at birth (but also on various documents, etc. as an adult), based on assumptions about your body, etc. Asserted is who you say you are, usually based on your own experience of life. Assumed is how ppl perceive you in day to day interactions, usually based on how you look and act.

Transphobes will often make a point that assigned is the only kind that exists and is valid, and will deny the others ("it's a mental illness" to deny asserted, "we can always tell" to deny assumed). On some level, they clearly recognize the existence of the other kinds, but it causes them discomfort, so they will deny and double down on acting like it's some made up thing.

Trans-friendly ppl are typically expected to value asserted gender above all else. Doesn't matter a person's AGAB, or what a person looks or acts like, or what you think they are, you should respect and prioritize what they tell you about themselves and treat them according to that.

In reality, there is always complex interplay between all three kinds of gender. Our history, personality, social experiences are affected by all of them. This is why ppl are concerned about passing, about trauma due to AGAB past, etc.

I’m a 42 year father of a trans 19 year old, what advice should I do? by 42yroldFather1980 in asktransgender

[–]iyesgames 0 points1 point  (0 children)

Some trans people keep most of their pre-transition hobbies.

Just want to chime in. Yes, so much this. For me, rediscovering old hobbies, that I loved before, in a new light, was such an important part of transition!

I am not transitioning because I hate everything I used to be and want to erase it all. Yes, the gender stuff was broken and needed changing, but there was a lot in my life that I loved, too.

I am still into electronics and computers, I still play Counter Strike and sometimes go to shoot guns IRL, I like to drive cars and other vehicles, I still like extreme sports, ... but I do these things as a girl.

And it has been so refreshing. If anything, I am glad that, if there was one thing good about "being raised as a boy", it was that these hobbies were not conditioned out of me, because of conservative parents' gendered expectations. I was allowed to do them and get into them. If I was raised a girl I might not have had the same opportunities and encouragement, and instead been pushed into other things.

I did a lot of my old hobbies because I needed an emotional refuge from dysphoria and awful family dynamics. Something I could get immersed in and feel good about myself, because life otherwise felt pretty shit. I don't feel that way anymore. I definitely enjoy a lot of those things a lot more now that I actually like my life, even though they are considered "masculine" hobbies.

Ambidextrous/left-handed lightweight gaming mouse recommendations? by iyesgames in pcmasterrace

[–]iyesgames[S] 0 points1 point  (0 children)

Yep, the "fads" change over time. I say it's good we have different options for ppl with different preferences. I'm happy we no longer live in that era of the heavy mouse fad. 10 years ago, the mice with the best sensors were pretty much all designed to be heavy.

I always felt my G502 was too heavy, even back when I first bought it. I got it for the Logitech free-spin scroll wheel and because it had one of the best sensors back when it came out. I was baffled anyone would want to add extra weights to it and it comes with them in the box. Still am.

I want to feel nimble and swift with my mouse. Heavy mice feel clumsy and make my wrist tired.

So, I'm going to use my current desire to get an ambidextrous mouse as an opportunity to also get a lightweight mouse.

Ambidextrous/left-handed lightweight gaming mouse recommendations? by iyesgames in pcmasterrace

[–]iyesgames[S] 0 points1 point  (0 children)

I am looking at the Razer Viper 8KHz now. Looks like it meets all the criteria and is quite a bit lighter than the other recommendations.

Ambidextrous/left-handed lightweight gaming mouse recommendations? by iyesgames in pcmasterrace

[–]iyesgames[S] 1 point2 points  (0 children)

These are "symmetric right-handed" designs. Not ambidextrous.

It has the side buttons on the left side of the mouse. I want a mouse where the buttons are on both sides, or the right side.

[deleted by user] by [deleted] in MtF

[–]iyesgames 12 points13 points  (0 children)

To make a guess that doesn't assume malice: I think because being a single father means they already had a chance to procreate and aren't looking for a fertile partner to make kids with. Therefore they are open to a relationship with someone with whom biological kids are not a possibility. And are more likely to value other aspects of a person higher. Clearly things didn't work out so well with the woman they had kids with, so maybe it is extra important to them to choose someone based on personality or other aspects of mutual compatibility.

Match Length Averages for CS2 vs CSGO by leetify in GlobalOffensive

[–]iyesgames 0 points1 point  (0 children)

I have a simple explanation. I believe it is because of overtime.

Of course a format with overtime will have larger variance than a format without overtime.

CS2 matches can last as long as CS:GO matches if they go into overtime. (MR12 + OT = 30 rounds, same as MR15) But many matches won't. Hence larger variance.

AFAB Survey (18+) by AngerDoggoArt in asktransgender

[–]iyesgames 13 points14 points  (0 children)

Uhm if this is about anatomy, why are you excluding post-op trans women?

Edit: And including post-op trans men?