Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/crissnamon/progressive

Open source framework to create game logic easily with IoC/DI container, auto-injection, state management, game objects with game scripts
https://github.com/crissnamon/progressive

collaborate contributions-welcome dependency-injection di-container framework game-development game-engine game-framework gamedev games github good-first-issue java jetbrains libgdx proxy text-game text-game-engine text-games text-quest

Last synced: 30 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# Progressive

[![Build Status](https://app.travis-ci.com/CrissNamon/progressive.svg?branch=main)](https://app.travis-ci.com/CrissNamon/progressive) ![release](https://img.shields.io/github/v/release/crissnamon/progressive?include_prereleases) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/tech.hiddenproject/progressive/badge.svg)](https://maven-badges.herokuapp.com/maven-central/tech.hiddenproject/progressive)

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

```xml

tech.hiddenproject
progressive-all
0.7.11

```

If you don't need all components

- progressive-api required for each component

```xml

tech.hiddenproject
progressive-api
0.7.11

```

- progressive-game contains Game and related classes

```xml

tech.hiddenproject
progressive-game
0.7.11

```

- progressive-injection contains DIContainer and related classes

```xml

tech.hiddenproject
progressive-injection
0.7.11

```

- progressive-persistence contains Storage and related classes

```xml

tech.hiddenproject
progressive-persistence
0.7.11

```

- progressive-proxy contains ProxyCreator and related classes

```xml

tech.hiddenproject
progressive-proxy
0.7.11

```

##### Gradle

````groovy
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](https://github.com/CrissNamon/progressive/wiki)
* Look at some examples
in [example](https://github.com/CrissNamon/progressive/blob/main/src/main/java/tech/hiddenproject/example/) package
* See javadoc [here](https://hiddenproject.tech/progressive/javadoc)

#### Dependencies and source

___

[BasicProxyCreator](https://github.com/CrissNamon/progressive/blob/main/src/main/java/ru/hiddenproject/progressive/basic/BasicProxyCreator.java)
uses [ByteBuddy](https://bytebuddy.net/) 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](https://github.com/raphw/byte-buddy/tree/master/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](https://www.apache.org/licenses/LICENSE-2.0)

#### Authors

___

* [Danila Rassokhin](https://gihub.com/crissnamon) [![Twitter](https://img.shields.io/twitter/follow/kpekepsalt_en?style=social)](https://twitter.com/kpekepsalt_en)