# Project Morault
## A source-available attempt at a humanist and persistent live-service game

Project Morault is a source-available attempt at a humanist and persistent live-service game.

## Naming
Project Morault is named after Arthur Morault, french mechanic specialized in vintage, sportive and luxury automobiles. He owns a garage, [La Fabrique Auto](https://www.lafabriqueauto.com), with his friend and colleague Joseph Shuman, after whom Project Morault's Shuman map format is named. This naming is a follow-up to the Jossec engine, named after Yann Le Jossec, french drift instructor, powered with the [Levy](https://tilde.town/~safariminer/levy) collision engine, named after Sylvain Levy, french automotive YouTuber. 

## Goals
### Ideological
- Establish open standards for items, trading, markets, and user interaction
- Create healthier game environments and ranking systems overall

### Technical
- Create an engine that allows any device to run the game at competitive framerates
- Create a simpler map format inspired by UDMF to simplify rendering and collision maths to achieve better performance

## Why say source-available and not open-source?

Collaboration is more or less only open to other tilde.town users for the time being. Forking and modding outside of tilde.town, however, are both allowed and encouraged.

## Dependencies
- C++20
- raylib 5.5
- pugixml 1.15

## Building for Windows (VS2022)
Compiling on Windows with Visual Studio 2022 is relatively straight-forward. Simply clone the repository, then create a ``deps`` folder at the root of the repo. Inside your new folder, create an ``include`` folder and a ``lib`` folder. Then, follow the instructions for each dependency. Afterwards, simply open the ``ProjectMorault.sln`` solution using Visual Studio 2022 and run.

### raylib 5.5
First, download [raylib 5.5 built for x64 MSVC from GitHub](https://github.com/raysan5/raylib/releases/download/5.5/raylib-5.5_win64_msvc16.zip). Then, place the contents of the ``include`` folder of the archive within your ``deps/include`` folder. Then, place the contents of the ``lib`` folder of the archive within your ``deps/lib`` folder.

### pugixml 1.15
First, download pugixml 1.15 from the GitHub repository at gh:zeux/pugixml. Then, place the contents of the archive's ``src`` folder in your ``deps/include`` folder.

## Licensing for game data
Textures that come from AmbientCG are under AmbientCG's license(a.k.a. CC0). The rest, which is custom-made for the game, is all-rights-reserved for now.