GithubHelp home page GithubHelp logo

nathhb / artemis-odb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from junkdog/artemis-odb

0.0 2.0 0.0 3 MB

Fork of artemis entity-system (http://gamadu.com/artemis/)

License: Apache License 2.0

artemis-odb's Introduction

Preamble

This is a fork of Artemis Entity System Framework.

Discussion/Forum

There's a google group at https://groups.google.com/forum/#!forum/artemis-odb - in addition to the issues, where hitherto much of the discussion has taken place. The original artemis forum is still around too, though it doesn't see much traffic, nor is it specific to artemis-odb: http://slick.javaunlimited.net/viewforum.php?f=28

What's changed

Somewhat outdated, see CHANGELOG.md for recent changes.

  • More efficient for loops, bounds checking performed once during loop initialization.
  • processEntities forgoes Bag's getter in favor of direct array access.
  • No more classes instantiated every time World.process is run.
  • Systems can be enabled/disabled, see EntitySystem.setEnabled(boolean) and EntitySystem.isEnabled().
  • Bag now sports sort; borrows libGDX's TimSort implementation.
  • Foreach-friendly Bag: implements a one instance per Bag iterator.

Module overview

Required

  • artemis: Base library.

Optional

  • artemis-maven: Maven plugin for transforming @PooledWeaver and @PackedWeaver components.

Other

  • artemis-weaver: Transforms com.artemis.Component classes when annotated with @PooledWeaver or @PackedWeaver, see artemis-maven.
  • artemis-test: Compliance tests.

Maven

Embracing Artemis

	<properties>
		<artemis.version>0.5.0</artemis.version>
	</properties>
	
	<dependencies>
		<!-- base library -->
		<dependency>
			<groupId>net.onedaybeard.artemis</groupId>
			<artifactId>artemis-odb</artifactId>
			<version>${artemis.version}</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>net.onedaybeard.artemis</groupId>
				<artifactId>artemis-odb-maven-plugin</artifactId>
				<version>${artemis.version}</version>
				<executions>
					<execution>
						<goals>
							<!-- enables @PooledWeaver and @PackedWeaver -->
							<goal>artemis</goal>
							
							<!-- generates the component dependency matrix report -->
							<goal>matrix</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

Minimal (no weaving/compile-time transformations)

<dependency>
	<groupId>net.onedaybeard.artemis</groupId>
	<artifactId>artemis-odb</artifactId>
	<version>0.5.0</version>
</dependency>

Direct Download

Jars can be downloaded manually from the maven repository: http://repo1.maven.org/maven2/net/onedaybeard/artemis/artemis-odb/0.5.0/

Agrotera: Anti-boilerplate lib for Artemis

Agrotera uses annotations to configure EntitySystems, removing the need for defining Aspects inside constructors and takes care of injecting ComponentMappers, Managers and EntitySystems. Can also simulate aspects for Managers and inject profiling calls.

Games using this library

Open source

game source/binaries matrix author
Sine source cdm @timtipgames
Ned et les Maki source N/A Geeky Gobling Prod
Naturally Selected 2D source play cdm @DaanVanYperen
The Underkeep source play cdm @DaanVanYperen
Spaceship Warrior Redux source play cdm updated by @Flet

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.