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.
- Host: GitHub
- URL: https://github.com/srcimon/screwbox
- Owner: srcimon
- License: mit
- Created: 2022-04-27T05:07:15.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2026-04-19T09:38:02.000Z (2 months ago)
- Last Synced: 2026-04-19T10:28:43.623Z (2 months ago)
- Topics: 2d, game, game-development, game-engine, gamedev, java
- Language: Java
- Homepage: https://screwbox.dev
- Size: 20.7 MB
- Stars: 18
- Watchers: 1
- Forks: 0
- Open Issues: 108
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README

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://central.sonatype.com/artifact/dev.screwbox/screwbox)
[](https://javadoc.io/doc/dev.screwbox/screwbox-core)
[](https://github.com/srcimon/screwbox/actions/workflows/build.yml)
[](https://sonarcloud.io/summary/new_code?id=srcimon_screwbox)
[](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).**
## 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).

