This is nice!

I'm working on a component-entity-system myself. (
https://github.com/muhuk/clecs)

I aim for pluggable backends, so you can choose between a persistent world
or an in-memory world etc. The reference backend is based on an atom. So
clecs is not as side-effect free as brute. But the public API somewhat
mimics atoms and allows for changes only within atomic transactions.

Anyways, I'll keep an eye on brute and maybe steal some ideas from it
without shame.




On Tue, May 13, 2014 at 7:22 AM, Mark Mandel <mark.man...@gmail.com> wrote:

> Brute is a simple and lightweight Entity Component System library for
> writing games with Clojure.
>
> This is a rewrite of Brute 0.1.1, to get rid of all the global internal
> refs, and make it so that Brute simply passes around an immutable
> collection.  This makes things far nicer to deal with, and makes the
> library far more flexible.
>
> Full Blog Post on changes:
>
> http://www.compoundtheory.com/brute-entity-component-system-library-0-2-0-the-sequel/
>
> The aim of this project was to use basic Clojure building blocks to form
> an Entity System architecture, and get out of the author's way when
> deciding exactly what approach would best fit their game when integrating
> with this library.
>
> To that end:
>
>
>    - Entities are UUIDs.
>    - The Component type system can be easily extended through a
>    multimethod get-component-type, but defaults to using the component's
>    instance class as its type.
>    - Components can therefore be defrecords or deftypes by default, but
>    could easily be maps or just about anything else.
>    - Systems are simply references to functions of the format (fn
>    [delta]).
>
>  Project can be found on Github at:
> https://github.com/markmandel/brute
>
> Sample Pong Game can be found on Github as well:
> https://github.com/markmandel/brute-play-pong
>
>
> --
> E: mark.man...@gmail.com
> T: http://www.twitter.com/neurotic
> W: www.compoundtheory.com
>
> 2 Devs from Down Under Podcast
> http://www.2ddu.com/
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Kind Regards,
Atamert Ölçgen

-+-
--+
+++

www.muhuk.com

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to