Dungeons are a minimal ‘lego’ that can be used to build out adventures and games for the Loot ecosystem. Dungeons are designed to support 2D, 3D, and text-based worlds.
Examples
Principles
- This is a primitive. It is designed to play nicely with many other primitives.
- Let the game developers/dungeon masters make as many important decisions as possible, for example…
a. Monsters
b. Visual style
c. Spawn points - Expose everything via Solidity API (vs proprietary formats or focusing on the art)
What is a dungeon?
A Dungeon NFT is made up of three parts:
- ID (Number) - Each dungeon has a unique identifier (integer) numbered 1-1000.
- Image (png) - Each dungeon has a unique pixel art image representing it.
- Metadata (json) - Each dungeon has a json blob representing it which can be accessed from getters on the smart contract:
a. id (int) - The ID of the dungeon
b. img (???) - a reference to the Image of the dungeon
c. layout (array) - A 2D array representing rooms, walls, and doors
d. theme (int) - An integer depicting the color theme for the dungeon
e. name (string) - The name of the dungeon
Why are they colored differently?
I thought it would be helpful to add some initial idea of a ‘location’ for each map. I tried to provide a set of different locations such as a forest area, an underwater area, etc. Game devs can choose to build on this or ignore it but I found it made dungeons that might appear somewhat similar feel quite unique and diverse.
These do not have to be tied to the specific colors I chose (the game dev just get an int for ‘theme’). This has the side effect of making the NFT artifact more interesting to look at / desirable to collect.
Where can I learn more?
We have an (inactive) Twitter account at @lootdungeons that we’ll start populating as we get closer to launch.
About the Team
threepwave is a generative artist and game designer with a background in virtual worlds.