Engine/README.md

52 lines
2.4 KiB
Markdown
Raw Normal View History

2024-06-08 15:33:03 +02:00
# StarOpenSource Engine
The StarOpenSource engine (or sos!engine for short) is a modular, extensible and easy to use Java game and application engine.
## Index
- [About](#about)
- [About the engine](#about-the-engine)
- [About the repository](#about-the-repository)
- [Priorities](#priorities)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Requirements](#requirements)
- [What IDE to use?](#what-ide-to-use)
- [Code style](#code-style)
- [Read this before creating a pull request](#read-this-before-creating-a-pull-request)
- [Making your first contribution](#making-your-first-contribution)
## About
### About the engine
The sos!engine is a modular and extensible framework for building applications and games, written in the Java programming language.
The engine consists of various subsystems, each separate and responsible for only one thing. The engine also houses various useful utilities and classes making development fun, while being lightweight.
### About the repository
The sos!engine repository is a monorepo, consisting of the core engine, official subsystems and their documentation.
### Priorities
- modular
- small & lightweight
- fast
- [do one thing and do it well](https://en.wikipedia.org/wiki/Unix_philosophy) (subsystems)
- have as few dependencies as possible
## Documentation
The official documentation for the StarOpenSource Engine is not yet available and won't be until we hit v1-rc0.
You can however [visit the Javadocs](https://jd.engine.staropensource.de).
## Contributing
### Requirements
You need the following things to be able to contribute to the StarOpenSource Engine:
- knowledge of Java
- (basic) knowledge of the engine
### What IDE to use?
We use and recommend using [IntelliJ IDEA Community Edition](https://github.com/JetBrains/intellij-community) for development because it is flexible, extendable, customizable, provides good completions and error detection. It's also open source.
### Code style
We recommend looking at existing classes.
### Read this before creating a pull request
Before creating a pull request, make sure you've
- created tests for the functionality you added, changed or removed (if applicable),
- tested your changes,
- made sure that everything works,
- is compatible with other code in the monorepo, and
- is compatible with other applications. If not, tell us in your pull request description.
### Making your first contribution
TODO (probably) until v1-rc0