Skip to content

Open source framework to create game logic easily with IoC/DI container, auto-injection, state management, game objects with game scripts

License

Notifications You must be signed in to change notification settings

CrissNamon/progressive

Repository files navigation

Progressive

Build Status release Maven Central

Progressive is a simple game framework, which provides you predefined way to develop your game logic.

About project


Progressive gives you an IoC/DI container with auto injections feature through annotations, game objects, game scripts and much more! It's is like a constructor. You can add game objects and attach game scripts to them.

Main features:

  • Extendable IoC/DI containers with auto injections through annotations, frame updates
  • GameObjects and GameScripts
  • State machine
  • Storage (Persistence api)
  • The global observer for components connection
  • Proxy classes and proxy objects creation through annotations with custom method interceptors

Usage

Maven
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-all</artifactId>
  <version>0.7.11</version>
</dependency>
If you don't need all components
  • progressive-api required for each component
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-api</artifactId>
  <version>0.7.11</version>
</dependency>
  • progressive-game contains Game and related classes
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-game</artifactId>
  <version>0.7.11</version>
</dependency>
  • progressive-injection contains DIContainer and related classes
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-injection</artifactId>
  <version>0.7.11</version>
</dependency>
  • progressive-persistence contains Storage and related classes
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-persistence</artifactId>
  <version>0.7.11</version>
</dependency>
  • progressive-proxy contains ProxyCreator and related classes
<dependency>
  <groupId>tech.hiddenproject</groupId>
  <artifactId>progressive-proxy</artifactId>
  <version>0.7.11</version>
</dependency>
Gradle
implementation 'tech.hiddenproject:progressive-all:0.7.11'
If you don't need all components

Use same artifacts from maven

Resources


  • Learn more at Progressive Wiki
  • Look at some examples in example package
  • See javadoc here

Dependencies and source


BasicProxyCreator uses ByteBuddy for proxy creation. You need to add byte-buddy lib to be able to use proxy classes in your project. For android development you also need to add byte-buddy-android lib.

All other parts of Progressive have no dependencies and use only Java 8.

Repository info


  • The main branch contains stable release
  • Development branch contains WIP code
  • Progressive is released under version 2.0 of the Apache License

Authors