Code Monkey home page Code Monkey logo

kudo's People

Contributors

kettle11 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

kudo's Issues

Improve errors

Right now if a query fails no descriptive information is provided.

An error type with some helpful information should be provided instead.

`Optional` or `Option` in queries

Sometimes it's desirable to find entities that may or may not have a component. An Optional query parameter could be used to make such queries.

Other frameworks just use the standard Option to represent the same thing, is that better?

Reserve

Sometimes it's beneficial to reserve space in archetypes before a bunch of archetypes are allocated. A call should be added to World that accepts a bundle of components and reserves space for them.

Performance improvement for iterators

Iterators have many potential sources of unnecessary branching.

kudos is presently about the same speed as hecs and half the speed of legion.

Some care would be needed, but plain iteration speeds should be possible to bring to nearly the speed of legion.

Tests

Presently there are no tests. Tests should be added for major core features to protect against regressions.

`Without` in Queries

Sometimes it's desirable to find entities that do not have a certain component. A Query parameter type should be added to accommodate that.

A survey of other Rust ECSs should be done to see if there are better ideas for a name than Without.

Finding an Entity by it's ID?

I don't know if this is already in, but I looked around and didn't find it. So, I was wondering if there was a way (or if it could be added) that you could do a query for an entity by it's ID? Like being able to do:
for (component1, component2) in world.query_for_entity(id) {
}
or:
let entity = world.find_entity_by_id(id);
:)

This is great :D

Love this crate! I've been using HECS for a while, and it's just a bit bloated and overcomplicated in parts. This one is just like a simplified version of HECS, and I love it! Great work! Love the Greek Mythology references in the example :)

Decide on approach for empty entities

Should it possible to iterate over empty entities? Should they be removed?

Some testing for bugs is needed here and an approach needs to be decided upon.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.