How to Create new theme
This tutorial explains how to add new theme from scratch
Take a look at the image names in other themes first.
You should prepare some of these sprite images, for example:
- floor.png
- wall.png
- plate.png
- finish.png
- cloud.png
- status.png
Some of the images (like "floor", "wall", "status" and "cloud") must be non-transparent 64x64 images. Others may be transparent and have size 64x64 or smaller (then they are centered inside the 64x64 cell and drawn over the floor).
Let's take this screenshot of old Super Mario Bros. (NES) arcane game as the basis of our new theme.
You may download the ready example of theme "mario": mario.zip.
Unpack it into images/mario/ and it is automatically ready to use.
🔍 | barrel | bones | cloud | crack | dird | dirl | dirr | diru | finish | floor | floor_gray_frame | floor_gray_tiles | gate0 | gate1 | heart | key1 | key2 | lift-empty | lifta | liftd | lifth | liftl | liftr | liftu | liftv | lock1 | lock2 | might | plate | portal | rocks | sand | sphere-gray | start | status | sword | wall |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
own | - | - | ![]() | - | - | - | - | - | ![]() | ![]() | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | ![]() | - | - | - | - | ![]() | ![]() | - | ![]() |
actual | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
To use your new theme, specify 'theme': 'mario' in some level configuration in levels.py file.
Finally run the game and enjoy your new theme:
./dungeon
The new theme may look like this:
Screenshot of new theme "mario"
Hopefully you know how to easily create new nice themes now. Don't forget to submit them to allow other players to enjoy your art too.