Saturday, 14 March 2009

8PRL - My 8 pixel roguelike design

I promised I'd post my 8PRL design in the article discussing what an 8 pixel roguelike is. You'll want to refer back to that article to see what the colour abbreviations below mean.

Visual Display

The following colour values represent elements in the game:

d – Floor – the player and monsters can move on this.

w – Wall – this blocks the player and some monsters

g – Player

r – Monster – there are a number of monster types. Each level has a different monster behaviour that the player must overcome.

o – Spell – some monsters throws spell attacks at the player. The player can also find spell attacks to use.

y – Item – there are a number of item types. The player picks up items automatically. When a player picks up an item, the screen temporarily changes to a picture of the item in yellow pixels.

v – Exit – the player must get to the exit on each level. Some exits are locked – a picture of the item required to unlock the exit is displayed when the player steps on the exit.

B – Door – the player can walk through doors, but it blocks (some) monsters, as well as spells.

b – Water. Each step a player takes through water costs them one life.

t – The player in water

g – The player affected by a potion.

Monsters

Each level has 8 monsters of the same monster type. Monster behaviours varies from level to level. The player can kill any monster by bumping into it, except some monsters require two bumps to kill. If a monster bumps into a player, it does one damage to the player’s life.

Monster behaviours are:

Exits encountered

Monster

Dungeon generator

0

Monster moves randomly two steps per player turn, choosing from any available adjacent direction

Open rooms with some corridors

1

Monster moves towards the grid occupied by the player, moving one step per player turn. If it is not possible to move towards the player, it stands still.

Open rooms with some corridors.

2

Monster sits still. If the player is in line of sight of the monster for two turns or more, the monster fires a spell at the player’s position the turn before, which does one damage.

Cave like maze with pillars

3

Monster moves two steps per player turn, always turning right when it gets to an intersection. This monster requires two hits to kill.

Maze with loops

4

Monster moves towards the player one step every two player turns. The monster can pass through walls and doors, but not over water. This monster requires two hits to kill.

Open rooms with some corridors. Some rooms are filled with water; except for a width 1 border around the room which is floor.

6

Monster moves one turn per player turn. If closer than 4 grids, the monster moves away from the player; otherwise the monster moves towards the player. If the player is in line of sight of the monster for two turns or more, the monster fires a spell at the player’s position the turn before, which does one damage. This monster can pass through doors.

Open rooms with some corridors.



Higher level monsters combine the effects of existing monster abilities to make them tougher.

Inventory

The player can select to use items from their inventory by using the second button, which displays the item in yellow pixels on the screen momentarily. Repeatedly pressing the second button scrolls through the available items. Pressing the first button uses the item selected.

Items are automatically picked up when stepped on if the player can carry them – the player can only carry 3 items and must use an item to carry more. If no use is for the item is specified in the table below then using the item drops it to an adjacent grid with the player specifying the direction to drop the item.

Item

Use

Key

The key opens the exit. The player must find and pick up the key to open one exit on the level. If other exits exist, they require the player sacrifice another item. The player can only carry one key.

Potion

The potion heals three life when used, and prevents the player from being hurt by monsters, spells or water for three turns.

Mushroom

The mushroom heals one life when picked up. The mushroom is not carried.

Wand

The wand fires a spell in one direction, which affects all grids in that direction up to a wall or door. The wand is then destroyed.

Staff

The staff fires a spell at every grid adjacent to the player, which affects all adjacent monsters. The staff is then destroyed.

Arrow

The arrow fires a spell in one direction, which affects the first monster it hits, or stops one grid before an obstacle (door or wall). If the monster is killed, they are replaced by another arrow dropped at the grid the monster is hit; if the spell is stopped by a wall or door then the arrow drops to the grid before it – however if this grid is not a floor then the arrow is lost.

Scroll

Using the scroll causes the player to teleport to a random floor grid on the same level.

Cross

Monsters cannot move across a cross on the ground.

Goblet

The goblet heals the player to full life when used.

Orb

The orb prevents the player from being hurt by water while carried.

Crown

Carrying a crown to the exit wins the game.

2 comments:

Jotaf said...

1) Use libtcod
2) Code it
...
3) Profit!!

Tony said...

Hi,

I thought I'd let you know that while I probably made too many changes to say that I implemented 8PRL in flash, I was certainly heavily influenced by 8PRL in my design for Minute Dungeon. My design notes are here: http://nightflyergames.com/?p=179

Thanks,
-TF