Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/crissnamon/progressive
- Owner: CrissNamon
- License: apache-2.0
- Created: 2021-09-27T12:35:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-31T16:07:20.000Z (almost 2 years ago)
- Last Synced: 2023-12-08T17:16:47.813Z (about 1 year ago)
- Topics: 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
- Language: Java
- Homepage: https://hiddenproject.tech/p/progressive
- Size: 4 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)