96 lines
3.5 KiB
Markdown
96 lines
3.5 KiB
Markdown
|
|
# Project Millimeters of Aluminum
|
||
|
|
|
||
|
|
A space simulation game built on a custom fork of the Godot Engine (4.x) with 64-bit double-precision physics enabled.
|
||
|
|
|
||
|
|
## 📋 Prerequisites
|
||
|
|
|
||
|
|
Before compiling the engine, ensure you have the following installed on your system.
|
||
|
|
|
||
|
|
### 1. Python & SCons
|
||
|
|
The Godot build system relies on SCons, which is written in Python.
|
||
|
|
* **Install Python (3.6+):** [Download Here](https://www.python.org/downloads/)
|
||
|
|
* *Windows Users:* Ensure "Add Python to PATH" is checked during installation. [Check this stackoverflow answer](https://stackoverflow.com/questions/57421669/question-about-pip-using-python-from-windows-store).
|
||
|
|
|
||
|
|
* **Install SCons:** Open your terminal/command prompt and run:
|
||
|
|
```bash
|
||
|
|
pip install scons
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. C++ Compiler
|
||
|
|
Godot requires a C++ compiler to build from source.
|
||
|
|
|
||
|
|
* **Windows:**
|
||
|
|
* Install **Visual Studio Community** (2019 or later).
|
||
|
|
* During installation, select the **"Desktop development with C++"** workload.
|
||
|
|
* **Linux:**
|
||
|
|
* Install GCC or Clang.
|
||
|
|
* *Debian/Ubuntu:* `sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev`
|
||
|
|
* **macOS:**
|
||
|
|
* Install **Xcode** from the App Store.
|
||
|
|
* Run `xcode-select --install` in the terminal.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🛠️ Setup & Compilation
|
||
|
|
|
||
|
|
This project uses a custom engine build to support solar-system scale coordinates (Double Precision). You **cannot** use the standard Steam or website version of Godot to open this project.
|
||
|
|
|
||
|
|
### 1. Clone the Repository
|
||
|
|
Clone the repository with the `--recursive` flag to automatically pull the engine source code submodule.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
git clone --recursive [https://codeberg.org/YOUR_USERNAME/ProjectMillimetersOfAluminum.git](https://codeberg.org/YOUR_USERNAME/ProjectMillimetersOfAluminum.git)
|
||
|
|
cd ProjectMillimetersOfAluminum
|
||
|
|
```
|
||
|
|
|
||
|
|
_If you have already cloned without recursive, run:_
|
||
|
|
|
||
|
|
```
|
||
|
|
git submodule update --init --recursive
|
||
|
|
```
|
||
|
|
|
||
|
|
### 2. Configure Engine Ignore (Optional but Recommended)
|
||
|
|
To prevent your Editor from trying to import the thousands of raw assets inside the engine source folder:
|
||
|
|
1. Navigate to `godot_engine/`.
|
||
|
|
2. Create a new empty file named `.gdignore`.
|
||
|
|
3. Compile the Engine
|
||
|
|
|
||
|
|
Run the build command for your platform from the godot_engine/ directory.
|
||
|
|
|
||
|
|
**Windows:**
|
||
|
|
```Bash
|
||
|
|
cd godot_engine
|
||
|
|
scons platform=windows target=editor precision=double arch=x86_64
|
||
|
|
```
|
||
|
|
|
||
|
|
**Linux:**
|
||
|
|
```Bash
|
||
|
|
cd godot_engine
|
||
|
|
scons platform=linuxbsd target=editor precision=double arch=x86_64
|
||
|
|
```
|
||
|
|
|
||
|
|
**macOS:**
|
||
|
|
```Bash
|
||
|
|
cd godot_engine
|
||
|
|
scons platform=macos target=editor precision=double arch=x86_64
|
||
|
|
```
|
||
|
|
_Note: (-j6 flag tells the compiler to use 6 CPU cores. Adjust this number based on your hardware to speed up compilation. Not using the flag will use all available cores)_
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 🚀 Running the Project
|
||
|
|
|
||
|
|
Once compilation is complete (usually 10-30 minutes), the executable will be located in godot_engine/bin/.
|
||
|
|
|
||
|
|
Do not open the project with standard Godot.
|
||
|
|
|
||
|
|
Navigate to `godot_engine/bin/`.
|
||
|
|
|
||
|
|
Run the binary ending in `.double.x86_64` (e.g., `godot.windows.editor.double.x86_64.exe`).
|
||
|
|
|
||
|
|
Import and open the `project.godot` file located in the root `ProjectMillimetersOfAluminum` folder.
|
||
|
|
|
||
|
|
### Troubleshooting
|
||
|
|
"No valid compilers found" (Windows): Ensure you installed the C++ Desktop Development workload in the Visual Studio Installer. Just the editor is not enough.
|
||
|
|
|
||
|
|
Jittering Objects: If objects jitter at large distances, ensure you are running the double precision binary and not a standard build.
|