An open API service indexing awesome lists of open source software.

https://github.com/arcticray/procedural-tilemap-generator


https://github.com/arcticray/procedural-tilemap-generator

Last synced: 12 months ago
JSON representation

Awesome Lists containing this project

README

          

# Procedural Tilemap Generator Service

**FastAPI** microservice for procedural generation of 2D tilemaps with configurable biome rulesets, live-reload development, and multiple export formats.

[![CI](https://github.com/arcticray/procedural-tilemap-generator/actions/workflows/ci.yml/badge.svg)](https://github.com/arcticray/procedural-tilemap-generator/actions/workflows/ci.yml)

---

## πŸš€ Features

- **REST API Endpoints**
- `POST /generate_map/` β†’ JSON tile grid
- `GET /generate_map/` β†’ JSON via query params
- `GET /generate_map/png` β†’ PNG image
- `GET /generate_map/svg` β†’ SVG vector map
- `GET /generate_map/tmx` β†’ TMX file for Tiled
- **Biome Ruleset**
- External `biomes.yaml` defines thresholds & variants
- Validates input, returns 422 on unknown biome
- **Variability**
- Randomized noise offsets β†’ every request yields a fresh map
- **Playground UI**
- Interactive form, live PNG preview, download SVG/TMX buttons
- **Dockerized**
- **Dev** image: live‐reload (`uvicorn --reload`), mounted code & config
- **Prod** image: lean, excludes dev tools & tests
- **Testing & Linting**
- `pytest` for unit/integration tests
- `flake8`, `isort`, **Black** for style enforcement
- **CI/CD**
- GitHub Actions: tests β†’ lint β†’ build dev & prod images

---

## πŸ–ΌοΈ Example Maps

**32Γ—32 (forest)**
![32x32 Forest](examples/map-32x32-forest.png)

**32Γ—32 (desert)**
![32x32 Desert](examples/map-32x32-desert.png)

---

## Application Preview

**Preview of Application**
![Application Preview](examples/application_preview.png)

---