You are viewing a single thread.
View all comments
7 points

If you want to go one step further, a lot of game development uses a generational index, where the index is both a value and a generation, allowing you to know whether the index you currently have stored references an object that has already been destroyed and replaced by another object. Basically every ECS framework I’ve ever seen uses this pattern.

permalink
report
reply
3 points

Interesting. Can you provide a good link regarding generational index?

permalink
report
parent
reply
3 points

I was originally introduced to the idea by this RustConf 2018 keynote: https://kyren.github.io/2018/09/14/rustconf-talk.html. It’s rather dense though.

I did find this random article that outlines just the concept of generational indices pretty concisely: https://lucassardois.medium.com/generational-indices-guide-8e3c5f7fd594

permalink
report
parent
reply
2 points

Thanks

permalink
report
parent
reply
2 points

That same keynote is linked in the last paragraph! :) The slotmap crate is also one option for generational indexes.

permalink
report
parent
reply

Rust

!rust@programming.dev

Create post

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

!performance@programming.dev

Credits
  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

Community stats

  • 500

    Monthly active users

  • 890

    Posts

  • 3.9K

    Comments