Coder Social home page Coder Social logo

sypherengine's Introduction

A Simple and Lightweight Java Game Engine

GitHub issues GitHub stars GitHub license Discord

SypherEngine is a simple game engine, made using pure Java, designed to be lightweight, fast and easy to use.

Disclaimer

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!

⛓️ Helpful links ⛓️

🔨 Features 🔨

  • Rendering Framework
  • Basic Event/Input Handling
  • Entity Component System
  • Scenes and Scene Switching
  • Audio Engine
  • Sprite rendering and Animations
  • Logging
  • 2D Camera

💻 Getting SypherEngine 💻

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

Gradle

	allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}



	dependencies {
	        implementation 'com.github.SypherEngine:SypherEngine:Tag'
	}

Maven

<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.

From Source

After downloading the source, build the engine, using mvn clean package.

Add it to your project classpath to start developing!

👋 SypherEngine HelloWorld 👋

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();
  }
}

📇 License and Code of Conduct 📇

This project follows the MIT license, refer LICENSE This project also follows the Contributor Covenant Code of Conduct

🤝 Contributing 🤝

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!

🫂 Support 🫂

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 :)

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.