All Projects → fastjengine → FastJ

fastjengine / FastJ

Licence: MIT license
An open-source, Java-based 2D game engine.

Programming Languages

java
68154 projects - #9 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to FastJ

Enduro2d
Yet another 2d game engine of dreams (work in progress)
Stars: ✭ 82 (+1.23%)
Mutual labels:  game-framework, 2d-game-engine
GroundEngine
Ground Engine is an easy to use Game Engine for 3D Game Development written in C++
Stars: ✭ 61 (-24.69%)
Mutual labels:  game-framework, 2d-game-engine
Monogame
One framework for creating powerful cross-platform games.
Stars: ✭ 8,014 (+9793.83%)
Mutual labels:  game-framework
Blah
A small 2d c++ game framework
Stars: ✭ 212 (+161.73%)
Mutual labels:  game-framework
Serpent
Cross-platform gaming kit in the D programming language
Stars: ✭ 140 (+72.84%)
Mutual labels:  game-framework
Ggapp
A game server example,base on gg+skynet
Stars: ✭ 62 (-23.46%)
Mutual labels:  game-framework
Goluwa
a game framework written in luajit
Stars: ✭ 173 (+113.58%)
Mutual labels:  game-framework
Excalibur
🎮 An easy to use 2D HTML5 game engine written in TypeScript
Stars: ✭ 892 (+1001.23%)
Mutual labels:  game-framework
Gunslinger
C99, header-only framework for games and multimedia applications
Stars: ✭ 246 (+203.7%)
Mutual labels:  game-framework
Cl Bodge
Feature-rich game framework for Common Lisp
Stars: ✭ 134 (+65.43%)
Mutual labels:  game-framework
Cocos Game Framework
cocos-creator游戏框架,typescript版本。
Stars: ✭ 201 (+148.15%)
Mutual labels:  game-framework
Nasnas
An intuitive and user friendly 2D game framework for C++
Stars: ✭ 131 (+61.73%)
Mutual labels:  game-framework
Lgf
Game development framework for Lua
Stars: ✭ 68 (-16.05%)
Mutual labels:  game-framework
Html5 Canvas Game Boilerplate
Provides a set of default code that makes getting up and running with an HTML5 canvas game very easy.
Stars: ✭ 182 (+124.69%)
Mutual labels:  game-framework
Qp.framework
基于xLua的全Lua热更新框架
Stars: ✭ 55 (-32.1%)
Mutual labels:  game-framework
Foster
a simple cross-platform game framework made in C# dotnet core
Stars: ✭ 221 (+172.84%)
Mutual labels:  game-framework
Pitaya
Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
Stars: ✭ 927 (+1044.44%)
Mutual labels:  game-framework
Kiwano
A simple game framework for C++
Stars: ✭ 160 (+97.53%)
Mutual labels:  game-framework
Nico
Nim Game Framework based on Pico-8
Stars: ✭ 254 (+213.58%)
Mutual labels:  game-framework
Strife
a simple 2d game framework
Stars: ✭ 246 (+203.7%)
Mutual labels:  game-framework

FastJ Logo

Build Status SonarCloud Code Coverage

Javadoc Maven Central jitpack.io Discord Server

What is FastJ?

FastJ is a free and open-source Java-based 2D game engine and framework. It aims to provide the best 2D game-making experience using Java (and the JVM languages).

Disclaimer

This project is still under heavy development. There is a very good chance bugs are still prevalent and untracked, as the engine is not fully covered by unit tests. Documentation is readily available, but may change over time. Feel free to help us out by contributing to the project!

Projected Feature List

Feature Description Support
2D Rendering Rendering of Shapes, Models, Text, Sprites, Lighting
Scene System Scene-based Rendering & Scene Switching
Scriptable Behaviors Control GameObject state
Desktop Support Full Compatibility on Windows, Linux, and macOS
Audio Engine Loading, Playing, and Controlling .wav, .ogg, .mp3 files
Image Support Image rendering, Spritesheet Creation
Animation Engine Interpolation, Sprite Animation, Tweening Framework
UI System Flexible UI System to replace Swing UI
Particle Engine Particle Emitters, Interaction with Game Elements
Physics Engine Custom 2D Physics Engine
Asset Manager Load, Unload, and Hot Reload Game Assets
FastJ Model Creator Create & Export 2D Models with an editor
FastJ Editor Make Games in FastJ with an editor
Web Support Run FastJ in Modern Web Browsers

is complete and satisfactory.

is implemented and usable, but is missing certain features.

is in progress.

is not yet implemented.

Features with examples available have their prime example linked.

How do I Learn FastJ?

There are many ways to learn FastJ -- check them out below!

Template Projects

Use a template project! It's the fastest way to jump into using FastJ. You just need to pick a programming language from the ones below. We suggest Java, as it has the most tutorial content, but Kotlin and Groovy are fine options as well.

Tutorials

FastJ provides article tutorials on its website to accommodate as many types of developers as possible. From beginners to experts, the website tutorials are written to give enough information to satisfy anyone willing to learn!

Code Examples

Explore FastJ's code examples to see the different ways FastJ can be used, and all of its features. These come with in-example explanations and easy plug-and-playability to give you the best chance at understanding how FastJ works.

API Documentation

Check out FastJ's documentation to get a better understanding of the code FastJ provides to improve your game-making experience.

I'll add the dependency myself!

Well in that case...

Click here to expand the manual dependency instructions.

Dependency Management

This library can be found in the following places:

When adding the dependency, make sure to replace [latest version here] with the actual version (you'll find this in the jitpack.io or Maven Central link up above). The current latest version is 1.7.0-SNAPSHOT-2.

A few common dependencies are provided below:

  • Gradle Build Script
    • Groovy:
      repositories.mavenCentral()
      
      dependencies.implementation('io.github.lucasstarsz.fastj:fastj-library:1.7.0-SNAPSHOT-2')
    • Kotlin:
      repositories.maven {
          setUrl("https://jitpack.io")
      }
      
      dependencies.implementation("io.github.lucasstarsz.fastj:fastj-library:1.7.0-SNAPSHOT-2")
  • Maven POM
    <dependency>
      <groupId>io.github.lucasstarsz.fastj</groupId>
      <artifactId>fastj-library</artifactId>
      <version>1.7.0-SNAPSHOT-2</version>
    </dependency>

You'll also want to make sure you add a dependency for a logging framework from SLF4J, since FastJ uses it for all its logging purposes. Take your pick!

Community

FastJ's community of developers is growing day by day!

  • Join the FastJ Discord Server to join a growing community of game developers, artists, and more! We host Game Jams every few months, so keep an eye out 😄

Games Made with FastJ

Stack Attack by lucasstarsz

Gameplay of Stack Attack by Lucas Z

Unnamed Rhythm Game by lucasstarsz

Gameplay of Rhythm Game by Lucas Z

Want your FastJ game featured? Open an issue, or ask in our discord!

Contributing to FastJ

Plan on contributing to the repository? Awesome! We're glad to have you ❤️

Please be sure to read over the contribution guidelines so that you can get started.

License

This repository is Free and Open Source, licensed under the MIT License.

Dependencies

  • SLF4J for logging support.
  • [JOrbis] and [VorbisSPI] for .ogg support.
  • [MP3SPI] for .mp3 support.
  • [tritonus-share] for utility processing tools related to above audio libraries.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].