-Moved most of the file accessing of Region to RegionFile -Disabled most of the header check except the length check(it will be back soon) -Max chunk size arbitrarily raised to 4MiB because I wanted sectors longer than 16B -Sectors now have a mandatory 1B header that identifies it -0 is a null sector, it ends every chunk -1 is a normal data sector, it has a "parity" byte that makes sure it is reading chunks in linear order(fun fact: it isnt at the moment) -2 is a jump to a different location. this isnt implemented well yet -3 will be a "bulk data" sector. Multiple chunks with identical data can point here. Probably only useful when it is easily identifiable, like multiple chunks being one entire block, like air. -Removed all chunk length references as I think they do not make sense when it can use different sectors for non-data purposes.
Progressia
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 about 0.5 GiB RAM
- Less than 1 GiB of storage space
See Build Guide for compilation requirements.
Contributing
All contributors welcome. Please contact Javapony in Telegram or join our Discord server for details or help.
Building
On GNU/Linux and MacOS:
$ git clone https://github.com/OLEGSHA/Progressia.git
$ chmod +x gradlew
$ ./gradlew buildLocal
On Windows:
git clone https://github.com/OLEGSHA/Progressia.git
gradlew.bat buildLocal
Alternatively use Linux/MacOS steps in a Bash shell.
For a more in-depth explanation, solutions for common problems and tips for IDE configuration please see the Build Guide.
Libraries
- LWJGL (GitHub) – OpenGL, OpenAL, GLFW and STB libraries ported to Java
- OpenGL – a low-level graphics interface
- OpenAL – a low-level audio interface
- GLFW (GitHub) – a minimalistic OpenGL-capable windowing library
- STB (GitHub) – a collection of various algorithms.
stb_vorbis
is used
- Guava (GitHub) – a generic utilities library
- Trove4j (BitBucket) – optimized primitive collections
- java-graphics/glm (GitHub) – GLM ported to Java. Maven Central contains an outdated version, a custom repository used instead
- OpenSimplex2 (GitHub) – a minimalistic highly optimized noise generator
- Log4j (GitHub) – a logging library