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.