Engine/README.md

52 lines
2.7 KiB
Markdown
Raw Permalink 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.
2024-06-11 23:12:48 +02:00
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.
2024-06-08 15:33:03 +02:00
### About the repository
2024-06-11 23:12:48 +02:00
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).
2024-06-08 15:33:03 +02:00
### Priorities
- modular
- small & lightweight
- fast
2024-06-11 23:12:48 +02:00
- [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)
2024-06-08 15:33:03 +02:00
## Documentation
2024-06-11 23:12:48 +02:00
The official documentation for the StarOpenSource Engine is not yet available, but is planned.
2024-06-08 15:33:03 +02:00
You can however [visit the Javadocs](https://jd.engine.staropensource.de).
## Contributing
### Requirements
2024-06-11 23:12:48 +02:00
You need the following things to be able to contribute code to the StarOpenSource Engine:
2024-06-08 15:33:03 +02:00
- knowledge of Java
2024-06-11 23:12:48 +02:00
- knowledge about the internals of engine
2024-06-08 15:33:03 +02:00
### 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
2024-06-11 23:12:48 +02:00
TODO (probably) until v1-alpha0