I have a Data Oriented programing library I'm writing that uses the Entity-Component-System model.
https://github.com/Permafacture/data-oriented-pyglet I have initially called it Numpy-ECS but I don't know if that name is okay. The numpy license says: Neither the name of the NumPy Developers nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission. but doesn't say anything about using the name of NumPy. Is this okay? For anyone interested in what this project is, I suggest looking at the project README. Briefly, a Component is the Data Oriented version of what Object Oriented calls an attribute (a Numpy array of values that represents an attribute that Entities might have). An Entity is the Data Oriented version of an object instance (something subscribed to some subset of Components, with an ID that can be used to access each instance's values in those components). A System is like an object method (a function that operates on the Components of all Entities that have that Component). This is something that one would use in a game engine or simulation. It allows you to have instances, but where the logic can be bulk applied to all involved instances by operations on slices of Numpy arrays. In an example shown in this video <https://vimeo.com/66736654>, I went from 50 FPS in an object oriented approach to using ufuncs operating on shared memory in multiprocessing and getting 180 space steps per second on the physics and 500-600 FPS in the rendering. Thanks for reading, Elliot
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion