Skip to content

Instantly share code, notes, and snippets.

@Achie72
Last active June 17, 2019 19:01
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save Achie72/c7d555a1e06ba62469731a5f2732adf8 to your computer and use it in GitHub Desktop.
Rabbit Roguelike Design Document

General Idea

Assets, Architecture

Player

An 8x8 bit sprite, about a bunny, in white color.

Enemies

An 8x8 bit sprite, indicating wolves, in a color that is distinct to them.

Tiles

  • Field: Walkable field, inidcatig legal movement target.
  • Forest: Non-walkable field, the player stays in place, if he/she tries to move over a forest tile.
  • Rabbit Holes: Walkable field, indicating places where wolves can't see the player.
  • Carrots: Walkable field, indicating the carrots to be picked up.

Goals

Moving around, and picking up all Carrots on the map.

Movement

The Player is capable of moving 2 tiles per turn, while the Wolves can only move one.

Maps

Randomly generated:

  • contiguous Field tiles, mixed with Forest tiles indicating walls.
  • Randomly placed Rabbit Holes
  • Randomly placed,x > 0 number of Carrots. Player randomly placed on one of the Rabbit Holes to give time for movement and strategies. Wolves randomly placed, numbers calculated by difficulty.

Mechanics and Gameplay

Player Movement, Interactions

General movement: With the primary movement buttons, in the 4 cardinal direction.
Skipping turn: The player can use the primary action button, to skip (meaning not move) on the actual turn.
Picking up carrots: The player picks up a carrot as soon as he/she steps on the given tile:

  • Player steps on tile
  • Sound effect is played
  • Carrot dissapears
  • Score goes up
  • Carrot Counter goes down

Rabbit Holes

The player can hide inside them. While the player is on a rabbit hole tile:

  • Enemies can't see him
  • It's sprite is changed, indicating invisibility.
  • A Wolf cannot eat the Player, while he/she is inside a Rabbit Hole.

Carrot Counter

Indicates the leftover carrots on the map. All carrots must be picked up, to proceed to the next level.

Carrot

Inidcates the goal carrots, that the player must pick up, to proceed to the next level. Ones stepped on:

  • Sound effect is played
  • Carrot dissapears
  • Score goes up
  • Carrot Counter goes down

Wolves

Eating the Player: If the Wolf and the Player are on the same tile, and the Player is not inside a Rabbit Hole, then the Wolf eats the Player:

  • A sound is played indicating the end of the game.
  • A score is shown, showing the number of Carrots picked up, and the number of levels cleared.

AI: Wolves are randomly placed on the map. Each turn, they do the following:

  • If wolves.x == player.x or wolves.x == player.x they try to see the Player. If a Forest is in the way, they skip to last step. If the Player is in a Rabbit Hole, they skip to the last step.
  • If a wolves sees the player, it moves towards him/her.
  • If no Player is seen, the wolf moves to a random neghbour tile, if capable, defined by the rules for Player.

Difficulty

A number, that goes up every time a player finishes a level, or takes a step (even if that is a skip step).

Ending a level

The player finishes the level, if all carrots are picked up.

  • A tune is played.
  • Placeholder stage cleared text is shown.
  • The player proceeds to the next level, by pressing the secondary action button.

Death

If the Wolf and the Player are on the same tile, and the Player is not inside a Rabbit Hole, then the Wolf eats the Player:

  • A sound is played indicating the end of the game.
  • A score is shown, showing the number of Carrots picked up, and the number of levels cleared.
  • The menu screen is loaded, by pressing the secondary action button.

Menu

A Title screen is shown. By pressing the secondary action button the Player starts the game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment