Open-source re-engineering of the game 100% Orange Juice!. This does not aim to be a one-to-one recreation of the game but rather a port of the game as a CLI program.
This project is written independently for fun and as a learning project, and not written for the purposes of piracy. The author(s) encourage the user to support the original developers. No code has been obtained through decompiling, disassembling, or reverse-engineering the original program.
Tested for Linux. Windows and MacOS support to come.
Check out my Rust rewrite. No active development until this is finished; currently privated.
Requires C++23, and a build system such as CMake (minimum version 3.28) or XMake. The program has its own bindings for the standard library.
Note: please compile with Clang for now (as it looks like GCC still has problems compiling modules).
Requires CMake >=3.30.
Any way of calling CMake is fine, for example cmake -S . -G Ninja -B build
to call Ninja to generate build files and cmake --build build
to build. ./openJuice
to run.
We have also written a Python script to simplify using CMake, which can be run with ./quick-cmake-build.py
. (Simply execute the script quick-cmake-build.py
to compile the program with CMake.)
If compiling on Linux, you MUST have the linux-headers
package installed. Ensure that you have SDL installed on your system before compiling.
xmake project -k compile_commands
to generate compile_commands.json
(if using Clang).
xmake
to build. xmake run
to run.
To be written.
Migrate to standard library modules (once released for GCC 15)- Currently using homemade standard library modules, no plans to revert to official standard library modules.
- Once official standard library modules release, plans are to use them for homemade standard library modules to increase compilation speed.
- Resolve all
#warning
markers - Complete design document
- Continue documentation (Doxygen)
- Migrate the frontend from CLI printing to FTXUI
- Implement online multiplayer functionality
- Implement a game AI