52 lines
2.4 KiB
Markdown
52 lines
2.4 KiB
Markdown
|
# 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
|