![]()
Artemis is a high performance Entity System framework for games, written in Java and now ported to C#. It is also a framework to manage entities, components and systems in a game world. It is inspired by the great article Entity Systems are the future of MMORPG articles by Adam Martin on t-machine.org.
Artemis library is only 26 KB in size, it has no dependencies (for PC, in Xbox and Windows Phone 7 we have one) and can be used with any game framework or library, 2D or 3D.
Differences from the original version
We support all the features included in the original Artemis version, we also added the following features:
- MultiThreading Support (two ways of doing this)
- Xbox/WP7 full support
- Events for intercepting adding/removal of entities/components
- Entity Pool (to make objects reusable, minimize garbage collection activity, improve performance)
- Small goodies, like feeding the EntityWorld with whole Entities(maybe loading from external resources), enabling/disabling systems, getting Entity tag, API shortcuts(see unit tests for more on this), etc.
Download
Stable Artemis DLL (PC, WP7 and Xbox): https://github.com/thelinuxlich/artemis_CSharp/tags (if you prefer, we are also on .Net Nuget http://nuget.org/packages/Artemis)
Documentation: http://thelinuxlich.github.com/artemis_CSharp/
StarWarrior Game Tutorial (Need XNA 4.0 installed): https://github.com/thelinuxlich/starwarrior_CSharp/tags
This game tutorial runs on PC, Phone7 and Xbox.
Ported By
Alisson Cavalcante Agiani
Thiago Dias Pastor
Links
Original Java Artemis: http://gamadu.com/artemis/
Our git Artemis port repo: https://github.com/thelinuxlich/artemis_CSharp
Doubts ??? Check Our Forum: http://ploobs.com.br/forum/viewforum.php?f=39
Our git StarWarrior repo: https://github.com/thelinuxlich/starwarrior_CSharp
Related posts:









Is there any way to have this entity system work in a cross-platform way? What is the .dll used for?
P.
It is already cross platform.
You can download the code here
https://github.com/thelinuxlich/artemis_CSharp
And compile (generate the DLL) for Mono (then Linux, Android and IOS), Windows, Windows Phone, XBox 360 (we provide the solutions for Visual Studio and MonoDeveloper)
You just need to import the right DLL in your project.