Open source physics-based sandbox game.
  • C++ 68.5%
  • C 25.9%
  • Java 5.1%
  • GLSL 0.1%
Find a file
2022-08-06 19:56:39 +02:00
build-android First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
build-android-lite First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
build-ios/principia First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
build-linux Building on Linux working again 2022-08-06 18:53:29 +02:00
build-screenshot-linux First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
build-windows First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
changes First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
data-mobile First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
data-pc First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
data-shared First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
data-src Add gif for github readme 2022-08-06 19:37:27 +02:00
data-unused First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
doc First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
help First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
lvledit First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
lvlinfo First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
progress-get First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
progress-verify First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
progresstest First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
src Remove DEMO code 2022-08-06 19:52:03 +02:00
testmaps First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
tests First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
tools First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
.gitignore First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
AUTHORS.md First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
LICENSE.md First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
make-textures.py First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
README.md Update README with gif and formatting fixes 2022-08-06 19:46:29 +02:00
rebuild-android.sh First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00
THANKS.md First public version, compilation on Windows (mingw64) verified 2022-08-06 14:06:22 +02:00

Principia Open Source Project

Principia

Principia is a sandbox physics game originally released in November 2013. It is the successor to the Android hit game "Apparatus".

Principia can be built on Windows, Linux, Android or iOS. The iOS version lags behind and lacks a lot of UI. The Android version is outdated and probably needs some work to compile.

Compilation on Windows and Linux should be easy, see further below.

NOTE! More documentation and resources will come in short!

Getting involved

Please join the Official Unofficial Discord here: https://discord.gg/qV6APzKfk9

Follow Bithack on Twitter: https://www.twitter.com/Bithack

Building and running

Building on Windows

The game engine behind Principia (TMS) is written in the C99 standard of C. Unfortunately, the Visual Studio C compiler does not support the C99 standard. Principia must therefore be compiled using the MSYS2 MINGW64 toolchain, as described below.

Please find the latest version of the 64-bit MSYS2 here: https://www.msys2.org/

After installation, a terminal opens. Run the following command to update the environment:

$ pacman -Syu

The terminal will then ask you to close it when done. Proceed with doign so, and then go to the start menu and run MSYS Mingw32 64-bit. It is important that you run the "MINGW64 64-Bit" version and not the "MSYS2 MSYS" or "MINGW64 32-Bit". Run the commands below to install the necessary dependencies.

$ pacman -S --neded base-devel mingw-w64-x86_64-toolchain autotools

$ pacman -S mingw-w64-x86_64-gtk2

$ pacman -S mingw-w64-x86_64-curl

Then navigate to the 'build-windows' folder inside of where you cloned Principia, for example:

$ cd /c/Users//Principia/build-windows

And start the building process:

$ ./autogen.sh

$ ./configure

$ ./go

Principia will launch if everything was successful. Note that the compilation might take up to 10 minutes depending on your system.

Building on Linux (Debian)

Install dependencies:

$ sudo apt-get install automake libgtk2.0-dev libgl-dev libxss-dev libxxf86vm-dev libasound2-dev libudev-dev valgrind

Navigate to the build-linux directory and start the building process:

$ cd build-linux;

$ ./autogen.sh

$ ./configure

$ ./go

If everything goes well, Principia will start but then freeze at the loading screen due some uninitialize directories. Terminate Principia by replying 'y' in the gdb prompt in the terminal, then in the same terminal, go up a directory and launch it from the parent directory instead:

$ cd ..

$ build-linux/apparatus2

(this bug will be fixed in short)

License

See LICENSE.md