Better described here: Docs
Rendering of the world and minimap is done by Phaser the HTML5 game framework. Overlaying that is a simple layer of components and services, written with Vanilla JS and CSS.
All pixels and their bids are indexed using The Graph protocol.
Make sure to have a recent version of Node.js installed, including global packages truffle and ganache-cli. Also make sure to install Docker and that it's running.
1.) Install project dependencies
npm install
2.) Start Ganache on 0.0.0.0 so it's accessible from within Docker.
ganache-cli -h 0.0.0.0
3.) Run local Graph Node (details)
In another terminal:
git clone https://github.com/graphprotocol/graph-node/
Move to Docker directory and start a local Graph Node
cd graph-node/docker
docker-compose up
4.) Build and migrate smart contracts
Migrate smart contracts to local Ganache.
In app root directory:
truffle migrate
This should build, deploy the contracts and generate dapp-config.json.
5.) Create and deploy local subgraph (details)
Make sure you have Graph CLI installed.
In app subgraph directory:
npm run create-local
npm run deploy-local
6.) Run local development server
In app root directory:
npm run dev
If all goes well, the client application should be available at http://localhost:9000