This repo is a server part of "Google Maps 8-bit for NES" project
Please watch this video to know more about it: https://youtu.be/5vcPnk-6saw
Backend for 8-bit maps for NES
There are two layers:
- one constructed from raw Google maps images using 16x16 tiles
- one with layer of geospatial labels from NaturalEarth data rendered with Mapnik
While tiles from original video are similar to DragonQuest/DragonWarrior one, for obivous reasons I cannot release them publically. Tiles presented in this repo were modified from those tile sets:
- 8 bit color RPG tileset (CC BY-SA 4.0 license)
- 8-bit JRPG tilesets (CC0 1.0 license)
- Some other 8-bit vertical shooter assets (CC0 1.0 license)
Server is written in Python and running on Flask. You should also install Mapnik for labels to work.
Tested on Ubuntu 20.04.3 LTS with Python 3.8 and pip 20.0.2
pip install requests # network calls
pip install Flask # server
pip install Pillow # image library
sudo apt install libmapnik3.0 # cartographic library
sudp apt install python3-mapnik # mapnik bindings to python
Google API key is required for map to load, you should register and get one following this guide https://developers.google.com/maps/documentation/javascript/get-api-key
Once obtained, place it instead YOUR_API_KEY
in ./static/index.html
If you have error message on load after that, make sure that:
- "Maps JavaScript API" is enabled in the console
- Billing account is created (Google API have free trial with no-auto charge after it's end)
FLASK_ENV=development flask run --host=0.0.0.0
You will be able access it directly in browser http://localhost:5000/
In my setup I expose server to local network, so cartridge can connect to it too, that's why 0.0.0.0 binding is necessary.