Rewrote README, wrote building guides and cleaned up

- Updated/prettified README.md
- Wrote extensive building guides
- Removed pictures/
- Removed music samples
- Made sure that git creates run/ when cloning
This commit is contained in:
2021-01-10 20:52:45 +03:00
parent eb34a4c0d2
commit 8f419b4d02
8 changed files with 366 additions and 32 deletions

View File

@@ -1,46 +1,58 @@
# Progressia
A free, open source sandbox survival game currently in early development.
A free, open-source sandbox survival game currently in early development.
## Description
The game has barely begun development so much of its features are yet to be implemented.
In broader terms, Progressia is a challenging game about survival, exploration and
engineering in a realistic voxel sandbox environment. The game is heavily inspired by
Minecraft technology mods, Factorio, Vintage Story and Minetest. Progressia's main unique
features will include highly composite items and blocks, a realistically-scaled world,
temperature mechanics and a parallelism-capable server.
## System requirements
- GNU/Linux (x64, arm32 or arm64), Windows XP or later (x64 or x86) or MacOS (x64)
- Java 8 or later
- OpenGL 2.1 or later
- Probably at least 4 GiB RAM
- Less than 1 GiB of storage space
See [Build Guide](docs/building/BuildGuide.md) for compilation requirements.
## Contributing
For now, contact @Javapony in Telegram for details. Contributing is completely allowed, but we don't have any set guidelines yet.
All contributors welcome. Please contact Javapony in [Telegram](https://t.me/javapony)
or join our [Discord server](https://discord.gg/M4ukyPYgGP) for details or help.
## Building
On GNU/Linux and MacOS:
1. `$ git clone https://github.com/OLEGSHA/Progressia.git`
2. `$ gradlew build`
2. `$ chmod +x gradlew`
3. `$ ./gradlew buildLocal`
### Additional setup for Eclipse IDE
On Windows:
If you have Buildship plugin installed, use File - Import - Gradle - Existing Gradle Project. Main class is `ru.windcorp.progressia.client.ProgressiaClientMain`.
1. Download and unpack the repository
3. Run `gradlew.bat buildLocal` in the same directory that contains `gradle.build` file
Alternatively do the following:
Alternatively use Linux/MacOS steps in a Bash shell.
1. Add `id 'eclipse'` into `build.gradle` inside `plugins { ... }`:
```
plugins {
// Apply the java-library plugin to add support for Java Library
id 'java-library'
id 'eclipse'
}
```
2. `$ gradlew eclipse`
3. Import the project with File - Import - Existing Projects into Workspace
4. On Windows, make sure the project has UTF-8 encoding with <RMB on project in project tree> - Properties - Resource - Text file encoding - Other - UTF-8
### Additional setup for IntelliJ IDEA
1. Open the project with File - Open Project
2. Press button 'Add configuration...' and open 'Application' in templates list
3. Add `ru.windcorp.progressia.client.ProgressiaClientMain` in 'Main class' text field
4. Choose `Progressia.main` in 'Use classpath of module' drop-down list
5. Click 'Create configuration' and press 'Apply'
For a more in-depth explanation, solutions for common problems and tips for IDE configuration
please see the [Build Guide](docs/building/BuildGuide.md).
## Libraries
* LWJGL - OpenGL, OpenAL, GLFW and several more libraries ported to Java
* Google Guava
* Trove4j
* java-graphics/glm - GLM ported to Java. _Maven Central contains an outdated version, a custom repository used instead_
* OpenSimplex2
* log4j
- [LWJGL](https://www.lwjgl.org/) ([GitHub](https://github.com/LWJGL/lwjgl3)) OpenGL, OpenAL, GLFW and STB libraries ported to Java
- [OpenGL](https://en.wikipedia.org/wiki/OpenGL) a low-level graphics interface
- [OpenAL](https://en.wikipedia.org/wiki/OpenAL) a low-level audio interface
- [GLFW](https://www.glfw.org/) ([GitHub](https://github.com/glfw/glfw)) a minimalistic OpenGL-capable windowing library
- [STB (GitHub)](https://github.com/nothings/stb) a collection of various algorithms. `stb_vorbis` is used
- [Guava (GitHub)](https://github.com/google/guava) a generic utilities library
- [Trove4j (BitBucket)](https://bitbucket.org/trove4j/trove) optimized primitive collections
- [java-graphics/glm (GitHub)](https://github.com/java-graphics/glm) GLM ported to Java. _Maven Central contains an outdated version, a custom repository used instead_
- [OpenSimplex2 (GitHub)](https://github.com/KdotJPG/OpenSimplex2) a minimalistic highly optimized noise generator
- [Log4j](https://logging.apache.org/log4j/2.x/) [(GitHub)](https://github.com/apache/logging-log4j2) a logging library