SypherEngine
is a simple game engine, made using pure Java, designed to be lightweight, fast and easy to use.
SypherEngine is currently in an alpha stage and is subject to many changes. While it does have basic features, there are many bugs still untracked and the documentation is currently a work in progress... If you wish to help, all help is appreciated!
- Rendering Framework
- Basic Event/Input Handling
- Entity Component System
- Scenes and Scene Switching
- Audio Engine
- Sprite rendering and Animations
- Logging
- 2D Camera
To use SypherEngine
, please do make sure that you have the following requirements installed on your device.
- Java >= 17
- Maven (Only required for building the project from scratch)
If you do, then include the engine into your project as follows
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.SypherEngine:SypherEngine:Tag'
}
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<!--In <dependencies>-->
<dependency>
<groupId>com.github.SypherEngine</groupId>
<artifactId>SypherEngine</artifactId>
<version>Tag</version>
</dependency>
The Tag
is just the release tag.
After downloading the source, build the engine, using mvn clean package
.
Add it to your project classpath to start developing!
Here's a small program to get started with SypherEngine
...
public class Main extends GameManager {
//These can be left blank for this simple hello world program
@Override
public void init(SypherEngine engine){}
@Override
public void update(float deltaTime){}
@Override
public void render(Renderer renderer){}
@Override
public void dispose(){}
public static void main(String[] args){
SypherEngine.init(new Main(), "Hello, World!"); // Creating a window titled "Hello, World!"
SypherEngine.run();
}
}
This project follows the MIT license, refer LICENSE This project also follows the Contributor Covenant Code of Conduct
From the smallest change to a bug fix or feature implementation, Contributions are extremely welcome! Refer the Contributing Guidelines for more info, and thank you for your help!
This project is still new to the Open Source Community and we hope to make a good difference! If you like this project, consider giving it a star 🌟 to show your support. It helps a ton :)