An open API service indexing awesome lists of open source software.

https://github.com/srcimon/screwbox

ScrewBox is a minimalist pure Java game engine. If you want to start building your own 2D game without leaving your cozy IDE it might be a fun choice.
https://github.com/srcimon/screwbox

2d game game-development game-engine gamedev java

Last synced: 2 months ago
JSON representation

ScrewBox is a minimalist pure Java game engine. If you want to start building your own 2D game without leaving your cozy IDE it might be a fun choice.

Awesome Lists containing this project

README

          

![Project Logo](docs/logo.png)
ScrewBox is a minimalist pure Java game engine.
If you want to start building your own 2D game without leaving your cozy IDE it might be a fun choice.

[![Maven Central](https://img.shields.io/maven-central/v/dev.screwbox/screwbox)](https://central.sonatype.com/artifact/dev.screwbox/screwbox)
[![javadoc](https://javadoc.io/badge2/dev.screwbox/screwbox-core/javadoc.svg)](https://javadoc.io/doc/dev.screwbox/screwbox-core)
[![Build](https://github.com/srcimon/screwbox/actions/workflows/build.yml/badge.svg)](https://github.com/srcimon/screwbox/actions/workflows/build.yml)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=srcimon_screwbox&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=srcimon_screwbox)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=srcimon_screwbox&metric=coverage)](https://sonarcloud.io/summary/new_code?id=srcimon_screwbox)

## Introduction

ScrewBox uses a purely code based approach on creating games to not force you into using a proprietary content editor.
As an open-source project, ScrewBox encourages collaboration and feedback. You can use it as-is, modify it or contribute to its development.

**Learn more about the ScrewBox game engine at [screwbox.dev](https://screwbox.dev).**

youtube trailer

## Getting Started

Getting started with ScrewBox isn't that hard.
Learn more in this [Getting Started Guide](https://screwbox.dev/docs/fundamentals/getting-started/).

``` java
public static void main(String[] args) {
Engine screwBox = ScrewBox.createEngine("Hello World");

screwBox.environment()
.enableAllFeatures()
.addEntity(new Entity()
.add(new CursorAttachmentComponent())
.add(new RenderComponent(SpriteBundle.BOX))
.add(new TransformComponent()));

screwBox.start();
}
```

## Maven Central
ScrewBox dependencies can be downloaded from [Maven Central](https://central.sonatype.com/artifact/io.github.srcimon/screwbox):

``` xml

dev.screwbox
screwbox-core
3.28.0

```

## Libraries used

- JUnit [Eclipse Public License 2.0](https://github.com/junit-team/junit5/blob/main/LICENSE.md)
- Jackson [Apache License 2.0](https://github.com/FasterXML/jackson-core/blob/2.14/LICENSE)
- AssertJ [Apache License 2.0](https://github.com/assertj/assertj-core/blob/main/LICENSE.txt)
- Mockito [MIT License](https://github.com/mockito/mockito/blob/main/LICENSE)
- Docusaurus [MIT License](https://github.com/facebook/docusaurus/blob/main/LICENSE)
- Docusaurus Search Local Plugin [MIT License](https://github.com/easyops-cn/docusaurus-search-local?tab=MIT-1-ov-file#readme)

## Acknowledgments

The project idea was inspired by Gurkenlabs [Litiengine](https://github.com/gurkenlabs/litiengine).

super hero and cat standing next to each other