Giter Site home page Giter Site logo

crissnamon / progressive Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 0.0 4.1 MB

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

Home Page: https://hiddenproject.tech/p/progressive

License: Apache License 2.0

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

progressive's Introduction

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


progressive's People

Contributors

crissnamon avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

progressive's Issues

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.