Toorum's Quest II - ATmega328P based retro video game with 256 color graphics

I've managed to deduce a bit of the dungeon layout.

First, the room directions:

const PROGMEM prog_uchar roomadj[] = {

//  Left  Right   Up  Down      Room 
      0,   1,    0,    4,    //   0   
      0,   2, 0xFF,    5,    //   1   
      1,   3,    0,    6,    //   2   
      2,   0,    0,    7,    //   3   
      0,   5,    0,    9,    //   4   
      4,   6,    1,   10,    //   5   
      5,   7,    2,   11,    //   6   
      6,   8,    3,   12,    //   7   
      7,   0,    0,   13,    //   8   
      0,  10,    4,    0,    //   9   
      9,  11,    5,    0,    //  10   
     10,  12,    6,    0,    //  11   
     11,  13,    7,    0,    //  12   
     12,  14,    8,    0,    //  13   
     13,   0,    0,    0,    //  14   
  };

/*
Room layout:

   0  1  2  3
   4  5  6  7  8
   9 10 11 12 13 14
   
*/

Next the room encoding. Let's use this to make it easier:

const PROGMEM prog_uchar roomNibbleToByte[] = {
  TILE_WALL_DARK,
  TILE_EMPTY,
  TILE_WALL,
  TILE_KEY,
  TILE_LADDER,
  TILE_GOLD,
  TILE_PRINCESS,
  TILE_DOOR,
  TILE_WYVERN,
  TILE_WYVERN_2ND,
  TILE_SPIKES,
  TILE_GHOST_RIGHT,
  TILE_GHOST_LEFT,
  TILE_GHOST_LEFT_2ND,
  TILE_HEART,
};

So for example:

const PROGMEM prog_uchar rooms[] = {
	0x10,0xc1,0x10

That is:

1 x Dark tile
12 x empty tiles
1 x Dark tile

Decoding the room layout gives this:

Room 0

|
|
|
|
| - - - - - - - - - - - -
|   K |           |
| = * |           |
| = - |   P       #
| = | | - - - - - - - - -




Room 1


                W
          - - -
        - | *
- - - - | | - - - - - - -
          | |
          |     W w
      =   |   *
- - - = - | - - - - - - -




Room 2





- - - - -   - - - -   - -
      | |   | | |       |
                |   -   |
        ! ! !           |
- - - - - - - - - - = - |
                        |



Room 3

                        |
                        |
                        |
                G   *   |
- - - - - - - - - - - - |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| = | | | | | | | | | | |



Room 4

| = | | | | | | | | | | |
| =
| =
| =     g           w
| =   - - - w   -
| =     |             - -
| =                   | |
| = g     ! ! ! !   = | |
| - - - - - - - - - = | |
| | | = | | | | | | | | |



Room 5

| | | = | | | | | | | | |
    | = |   | | | = | | |
    # = |         g   K |
    - - | w - = - - - - |
              = | *
-           - - | -
|   -             |   -
| z @   - G       | -
| - - - | - = - - | - - -
| | | | | | | | | | = | |



Room 6

| | | | | | | | | | = | |
|     * |           = | |
|     - | W         = | |
| -           - - - - | |
  | - - - -       | K   |
  |       #       | - = |
          - - -       = |
  -   G       = - - - - |
- | - - - - - = | | | | |
| | | | | | | | | | | | |



Room 7

| | | | | | | | | | | | |
|
| W   *
|     -                 -
| -           -       - |
|       G             | |
|   - - - -       - - | |
|   # = | K   !   * | | |
| - - = | - - - - - | | |
| | | | | | | | | | | | |



Room 8

| | | | | | | | | | | | |
              |         |
              #       - |
-   - - W - - - - - = | |
|                   = | |
|         - = -     =   |
|       * | = | -   =   |
| ! ! ! - | = | | g = K |
| - - - | | = | | - - - |
| | | | | | | | | | = | |



Room 9

| | | | | | | | | | = | |
|                 | = #
|                   - -
|           -
|     W       -         -
| K     -   * |       - |
| - -   | ! - |   -   | |
| | | ! | - | | ! | ! | |
| | | - | | | | - | - | |
| | | | | | = | | | | | |



Room 10

| | | | | | = | | | | | |
          | = * |       |
          | = - |       |
                  W     |
- - -
| G
| - - -           - - - -
| | |     ! ! !   g   | |
| | | - - - - - - - - | |
| | | | | | | = | | | | |



Room 11

| | | | | | | = | | | | |
|       | | | =       K
| *           G       -
| - w - - = - -       | -
  |       =
  #       g     ! !
- -     - - -   - - -
| @           !
| - - - - - - - - - - - -
| | | = | | | | | |



Room 12

| | | = | | | | | |
      = | | | | | | - - -
    - -                 |
- - |                   |

        -           w
      - | W   - -     -
    - | * ! ! ! ! ! !
- - | | - - - - - - - - -
| | | | | | = | | | | | |



Room 13

| | | | | | = | | | | | |
| K | | | | = | | |     #
|   g       =           -
| - - - - - - - - - = - |
      |             = | |
      | * W   w     = | |
      | -   -   -   = | |
                    = | |
- - - - - - - - - - - | |
| | | | | | | | | | | | |



Room 14

| | | | | | | | | | | | |
                  | | | |
-                 | | | |
|     - - W     @ | | | |
|   - | |       - | | | |
|         g   *   | | | |
| - - - - - - - - | | | |
| | | | | | | | | | | | |
| | | | | | | | | | | | |
g g g g g g g | | z z G G

Using the following legend:

WALL_DARK =      |
EMPTY =          
WALL =           _
KEY =            K
LADDER =         =
GOLD =           *
PRINCESS =       P
DOOR =           #
WYVERN =         W
WYVERN_2ND =     w
SPIKES =         !
GHOST_RIGHT =    G
GHOST_LEFT =     g
GHOST_LEFT_2ND = z
HEART =          @