forked from StarOpenSource/Engine
51 lines
2.6 KiB
Markdown
51 lines
2.6 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, and all that while being lightweight.
|
|
### About the repository
|
|
The sos!engine repository is a monorepo, consisting of [the core engine](https://git.staropensource.de/StarOpenSource/Engine/src/branch/develop/base), official subsystems and [their documentation](https://git.staropensource.de/StarOpenSource/Engine/src/branch/develop/docs).
|
|
### Priorities
|
|
- modular
|
|
- small & lightweight
|
|
- fast
|
|
- [do one thing and do it well](https://en.wikipedia.org/wiki/Unix_philosophy) (subsystems concept)
|
|
- have as few runtime dependencies as possible (note: we will cut down on some of them during development)
|
|
|
|
## Documentation
|
|
The official documentation for the StarOpenSource Engine is not yet available, but is planned.
|
|
You can however [visit the Javadocs](https://jd.engine.staropensource.de).
|
|
|
|
## Contributing
|
|
### Requirements
|
|
You need the following things to be able to contribute code to the StarOpenSource Engine:
|
|
- knowledge of Java
|
|
- knowledge about the internals of engine
|
|
### What IDE to use?
|
|
We recommend and are 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
|