# real-worldgen

![Sample Output](./docs/img/real-worldgen.png)

Generate [Super Mario War](http://supermariowar.supersanctuary.net/) worlds from real-world data.

## Requirements

- Node.js (preferably latest)
- Yarn
- Existing installation of Super Mario War (obtain v.2.0 from [Super Mario War's GitHub page](https://github.com/mmatyas/supermariowar/releases).

## Setup

1. Create `tools/` in the Super Mario War directory.
2. Clone this repository inside `tools/`.
3. Install dependencies:

   ```shell
   yarn [install]
   ```

4. Link the assets to the game files:

   ```shell
   yarn link-gfx
   ```
5. Build the app:

   ```shell
   yarn build
   ```
6. Run the app on `http://localhost:3000`:

   ```shell
   yarn start
   ```

## Development

This project is made from [Next](https://nextjs.org). Development practices for Next are applicable for this project.

## Credits

Biome map obtained from [Minecraft Earth Map](https://earth.motfe.net/tiles-biomes/).
Land elevation, bathymetry, and real-color maps obtained from [Visible Earth](https://visibleearth.nasa.gov/).
Water mask map obtained from [Shaded Relief](https://www.shadedrelief.com/natural3/pages/extra.html).
Uses [D3](https://d3js.org/) (d3-geo) for map projections. Super Mario is a property of Nintendo.
[Super Mario War](http://supermariowar.supersanctuary.net/) is a fangame inspired by Super Mario games.

## Samples

![Larger Sample Output](./docs/img/sample-output-2.png)