Mini Rogue [Unofficial Game Jam 4]


(Simon) #1

Background

Mini Rogue is a 9-card game in which a single player delves into a deep dungeon to get the famous ruby called The Og’s Blood on the bottom floor. The player must choose how to spend their resources in order to be powerful enough to confront ever difficult monsters. Random events and encounters make every play-through a unique experience.

The game was originally developed by Paolo Di Stefano and Gabriel Gendron for the 2016 9-Card Nanogame Design Contest (https://boardgamegeek.com/thread/1491476/2016-9-card-nanogame-pnp-design-contest). It won:

  • 1st place - Best New Designers
  • 2nd place - Best Overall Game
  • 2nd place - Best Solitaire Game
  • 2nd place - Best Artwork
  • 3rd place - Best Thematic Game
  • 3rd place - Best Written Rules

More information about the game can be found here > https://gumroad.com/l/MiniRogue12

Source code can be found here > https://github.com/Press-Play-On-Tape/MiniRogue

HEX file can be found here > https://github.com/Press-Play-On-Tape/MiniRogue/tree/master/distributable

Play online here > https://felipemanga.github.io/ProjectABE/?hex=https://raw.githubusercontent.com/Press-Play-On-Tape/MiniRogue/master/distributable/MiniRogue.ino.hex

The Arduboy version of Mini Rogue was created with the permission of the original authors. Mini Rogue is published by Mountain Gold Games. Copyright 2016 Mountain Gold Games. All Rights Reserved.
The source code for the game is released under the Apache Licence, Version 2.0.
It uses libraries by Ignacio Vina @igvina (ArdBitMap) and an application framework by @Pharap. These too are distributed under the Apache licence.

Object of the Game

In this solitaire game, you play as an adventurer that delves into a dungeon, room after room, area after area, level after level, to loot the Og’s Blood: a fabled and mysterious ruby gemstone. Each area of the dungeon is laid out as a branching of rooms. Each time you face two rooms, you’ll have to choose one. You will resolve each encounter by rolling dice, and decide on how to pursue the adventure. In each room, you may encounter a monster, find a treasure, discover a resting area, meet a merchant, dodge traps, or face other surprising events. Each level ends with a powerful boss monster that you’ll have to defeat to continue onto to the next level. You win the game if you can reach the last room of the Dungeon and defeat the final Boss Monster.

The Arduboy Version

In adapting the game to the Arduboy, @Vampirics and I (@Filmote) have taken a few liberties but in the whole have tried to stay true to the original game by keeping the dice and card metaphor.

The following instructions have been summarised from the complete instructions originally written by Paolo Di Stefano and Gabriel Gendron. We encourage you to read the full instructions as those below are incomplete and probably contain errors! The instructions and card artwork are included in \distributable directory of the project repo.

Game Play

Starting the Game

Mini Rogue has four starting levels that dictate the amount of armour, HP, gold and food you start with.

Level      HP     Gold    Food   
Easy 1 5 5
Normal 0 5 3
Hard 0 4 2
Hell 0 3 1

These statistics and others are displayed on the right-hand side of the screen, as shown below.

MR_Icons_001    Rank:      As you accumulate experience (XP) in the dungeon your rank. This will assist in your
                                ability to fight the various monsters you will find in the dungeon, refer Monster Card and
                                Boss Monster Card below.

MR_Icons_002    XP:         You will be rewarded XP as you defeat monsters or stumble across treasures in the
                                dungeon.

MR_Icons_003    HP:         Your health will take a beating as you battle monsters but you can top it up when you visit
                                a Merchant or discover it hidden in the dungeon.

MR_Icons_004    Armour: Armour will protect you when you inevitably encounter a monster in the dungeon. Armour
                                can be bought at the Merchant or destroyed through acid rain.

MR_Icons_005    Gold:     You can buy your way out of trouble with enough gold. Gain extra gold be killing monsters
                                and finding treasures.

MR_Icons_006    Food:    Food is essential to life in the dungeon. You will need consume a food ration every time
                               uou complete an area in the dungeon.


Rank and XP

As you become more experienced fighting monsters in the dungeon, your XP points will increase. Once you have accumulated enough XP points, your rank will be upgraded (to a maximum of four). Increased rank provides you with additional weapons when fighting the dungeon’s monsters. Refer to the section Monster Card and Boss Monster Card below.

Starting Rank Number of XP
1 6 XP
2 12 XP
3 18 XP
4 Maximum Rank!

Progressing through the Dungeon

Each level in the dungeon has a number of areas and each area has a number of rooms. The rooms are represented by 7 cards and are dealt randomly on each level. You must progress through the rooms before delving to the next area. When completing the last area of a level, you will fight a Boss monster and be rewarded handsomely if you win.

When starting a level or area, the room cards are dealt in the pattern shown below. If the current area is not the last one for the level, the last card shown will be a ‘delving’ card that will take you to the next area (as shown on the left). If not, the last card will be a Boss Monster which will hamper your movement between areas (as shown on the right).

  

As you can see, the current level and area are displayed in the top left hand corner.

Play starts by flipping the first card. As there is only one visible card, you must complete the room by pressing the A button before moving on. Refer to the room description below for a brief description. Once the room is complete, you will return to the dungeon screen and the next two cards will be revealed. You can scroll between them by pressing up or down and selecting the either room to investigate.

Once you have completed the last room in an area you must consume 1 Food before proceeding to the next area or level. As in real life, if you run out of food its game over!

The dungeon levels and area are laid out as shown below:

The Rooms

Treasure Card

  

On your journey, you will find forgotten stashes of loot in varying quantities. Monsters still protect the most valuable treasures in the dungeon.

Your reward is determined by the roll of a die. If you roll four or below, you are simply rewarded with gold. If you roll a five or above, you are rewarded a random treasure from the list below. In either case, the amount of gold you receive is depends on whether you have defeated any Monster earlier in this same Area – if so, you gain 2 Gold pieces otherwise you only gain 1 Gold piece.

Possible rewards include:

  • Armour Piece: Immediately gain 1 Armour.

  • Better Weapon: Immediately gain 2 XP.

  • Fireball Spell: In combat, inflict 8 damage points to a Monster.

  • Ice Spell: In combat, freeze a Monster for one turn. The Monster does not counter-attack.

  • Poison Spell: In combat, inflict 5 extra damage per turn for the remainder of the fight.

  • Healing Spell: Gain 8 HP in combat.


Trap Card

  

Dungeon means danger, and danger sometimes means traps. Many adventurers perished not through combat, but through lack of scrutiny. You can avoid a trap if you are sufficiently skilled. This is determined by a roll of a die – if the result is less than or equal to your rank you can skip the trap. If not, you must endure one of the following traps:

  • Mould: A terrible stench seems to have added a layer of white and blue hair on your meat. Lose 1 Food ration.

  • Tripwire: You tripped and fell hard to the ground. A Gold piece was ejected from your bag. Lose 1 Gold.

  • Acid Mist: Powerful acid falls from the ceiling and damages your equipment. Lose 1 Armour.

  • Spring Blades: You walked on a pressure plate and jumped just in time to avoid losing your head. Lose 1 HP.

  • Moving Walls: Moving walls were about to crush you, but you sacrificed your sword to save yourself. Lose 1 XP.

  • Pit: You fell into a hole and landed a Level below. You broke a bone. Lose 2 HP and drop a level in the maze.


Event Card

Like the Trap Card (above), your fate will be tested by your skill level. Roll a number greater than your rank, and you will be awarded with something useful. Occasionally you will be made to fight an extra monster - sometimes when you least expect it.

  


Roll a number less than or equal to your current rank and you will be able to choose your winnings. Scroll between the options using the Left and Right Buttons and select your choice using the A Button.

  

You may even stumble upon items of great assistance. Most of the rewards are good but occasionally you will be forced to fight a monster.

  • Found Ration: You don’t know what this meat is, and you don’t care. Gain 1 Food.

  • Found Health Potion: A Monster’s favourite drink. Might as well take a sip too. Gain 2 HP.

  • Found Loot: You have found a coin hidden in a crack between two stones. Gain 2 Gold.

  • Found Whetstone: You have found a Monster’s blade sharpening tools. Gain 2 XP.

  • Found Armour: A piece of armour found on a Monster’s carcass. Gain 1 Armour.

  • Monster Fight! The monster will inflict damage to the value of the current Level x 2. You will receive 2 XP if you defeat it.


Resting Card

Every man needs respite, for death could come anytime soon. When resting, you may choose only one of the available options by scrolling the highlight and pressing the A button to select.

  • Reinforce your weapon. Gain 1 XP.

  • Search for Ration. Gain 1 Food.

  • Take the time to Heal. Gain 2 HP.


Merchant Card

  

Some unsettling beings that call themselves merchants can be seen wandering in the dungeon. Surely a peculiar place for them to be doing business…

When you encounter the Merchant card, you may spend any number of Gold pieces to purchase items that will improve your Armour, Food, HP as well as Spells. You may buy or sell any number of items on your turn, as long as you have the money. It is never mandatory; you may skip the Merchant card if needed by pressing the B Button.

Scroll through the available choices using the Up and Down Buttons. Commit to a transaction by pressing the A Button. Toggle between buying and selling by pressing the Left and Right Buttons. When complete, press the B Button to return to the dungeon.

Item Buy Price Sell Price Effect
Ration 1 Gold Gain 1 Food.
Health Potion 1 Gold Gain 1 HP.
Big Health Potion   3 Gold Gain 4 HP.
Armor Piece 6 Gold 3 Gold Gain 1 Armour.
Any 1 Spell 8 Gold 4 Gold Gain any 1 Spell.

Monster Card

  

You have encountered a Monster and must defeat him in order to progress. The monsters HP increases in line with your own level and is calculated by adding a dice roll to the level value. If you are on level 2, the monster could have an HP in the range of 3 to 8 (ie. level 2 plus a dice roll of 1 – 6). The damage a monster inflicts and the reward you will receive if you defeat it are also dependent on your level and are detailed in the card below:

You attack first by rolling a dice. The dice score indicates the amount of damage you will inflict on the monster, however …

  • If you roll a 1, you will inflict no damage.
  • If you roll a 6, you may re-roll the dice and combine the newly rolled value and the original 6 together. Rolling a dice again is risky – if you happen to roll a 1 you have lost everything. To re-roll a dice, highlight it by scrolling left or right and press the A button.

As the game progresses, your XP will increase and your rank will increase as detailed in the section Rank and XP. In addition to the rank increase, the number of dice you possess will also increase making combat against stronger foes possible.

Once you have finished rolling, select the ‘Arrow’ and press A Button to apply the damage, if any, to the monster.

If you have collected any wands, you may cast a spell now. The various wands will be displayed along with your current inventory holdings. To apply a spell, highlight the appropriate wand and press the A Button to invoke it. You do not have to use a wand and you may highlight the arrow instead and press the A Button to continue.

The monster will now attack. The damage inflicted is shown in the top left hand corner of the screen. If you are lucky enough to have armour, then the damage value is reduced by the amount of armour you have.

Play continues until you or the monster is dead. If you are victorious then you will be rewarded with gold and XP before returning to the dungeon.

Level HP    Reward   
1 Undead Soldier 2 1XP
2 Skeleton 2 1XP
3 Undead Knight 6 2XP
4 Serpent Knight    8 2XP
5 OG’s Sanctum Guard    10       3XP

Boss Monster Card

  

These fallen titans were once great Lords. Only cats and hags know their original identities, for their names have been forsaken.

The Boss Monster’s HP and damage inflicted are detailed in the card below. In addition to these perks, you will receive a random treasure (see Treasure Card above) as well.

Level HP Damage Reward
1 Undead Giant 10 3 2 Gold + 2 XP + Item
2 Skeleton Lord 15 5 2 Gold + 3 XP + Item
3 Undead Lord 20 7 3 Gold + 4 XP + Item
4 Serpent Demon    25 9 3 Gold + 5 XP + Item
5 OG’s Remains 30 12 Og’s Blood

Game play is identical to the Monster Card described above.

Scoring

You are rewarded points for every area you enter, boss monster’s you kill and the collection of goodies along the way. To reset the scores, hold down the Up Button and Down Buttons simultaneously for about 5 seconds while on this screen.

Uploading a new Game

This game removes the USB support to allow extra memory for graphics. To upload a new game, press and hold the down button whilst on the title screen to drop to the boot loader (the screen will go black). Once done, you can upload a new game using the Arduino IDE or AVRDUDE.

More details can be found here >


Unofficial Game Jam 4: Submission Thread
(Lee) #2

This looks amazing! I can’t wait to get home and give it a spin (I mean a roll :wink:)


(Scott R) #3

Wicked stuff can’t wait to try.

I’m not sure if I’ve mentioned it in the past before but I think Dungeon in a Tin would also translate well to Arduboy.


(Simon) #4

The artwork really makes it … I cannot claim any credit for that as its all @vampirics work.


(Simon) #5

Yep … you showed me your mockup and it looks great. I think we added your artwork top our repo


(Matt) #6

where’s the unicycle? :stuck_out_tongue: This looks awesome, can’t wait to give it a shot.


(Stephane C) #7

@city41
The unicycle is in the way I interpreted the theme… It’s a dungeon crawler that let you go thru a cylcle of 7 cards per level. So each level is a ‘uni’ (1) cycle of a set of 7 cards.


(Scott R) #8

Im slowly getting used to the mechanics and inventory items it’s a nice game without all the usual bloat these kind of games can have, think i’ll have to have a crack at the PnP version over the weekend.

Just wondering why xp is not in caps and if it’s possible to slow the dice rolls down a little as they seem really fast on traps.

It took me awhile to realise that the coins were not zeros in the store, I thought the merchant was trying to fleece me at those prices :joy:


(Jean Charles Lebeau) #9

wouah !! Great. Well done. Amazing good graphics and fine game spirit.


(Simon) #10

Thanks @Jean-Charles_Lebeau … its got some great graphics thanks to @vampirics. If I can free up some memory, I am planning a couple of enhancements.


(Scott R) #11

beat on normal now on my way to hell.

A more rewarding win screen would be great excuse for some more @Vampirics artwork


(Simon) #12

So … when did you download it? I have added some new features (as per the original game) that make it a little harder to beat. Try HEX file V0.92.

In the earlier version, you got a new rank and a die every 6 XP. In the original game it seems to be 6 XP, 12 XP then 18 XP. Also, it is way to easy to get armour in the old version if you happen to be holding two wands / spells. Not so in the latest version!

I have 100 bytes free so little chance of more graphics yet. With a little help from my friends (@pharap) we are trying to squeeze some more memory out of the game.


#13

Just tested compiling with Arduino IDE v1.8.6 and it freed up an extra 244 bytes! :grinning:


(Simon) #14

Awesome … but still not quite enough for the things I want to do. Hopefully with a little code magic we can save some more!


(Pharap) #15

@Vampirics’s artwork is already eating most of the space :P

Except I keep getting distracted by a certain other project that some people will be aware of.
Not to say space saving is boring, but the other project is definitely more fun for me to do.


(Simon) #16

Oh come on, space saving is the pinnacle of development.


(Stephane C) #17

Yeah sorry. We had quite a week and I didn’t had time to optimize the graphics much. I am sure I can streamline some things to be able to add a couple goodies. @filmote did great in trying to find some savings but my sprites cost a lot of space…

Oh and dithering, while it helps for cool 1 bit graphics… Are just not good with compression… This is just evil…


(Pharap) #18

2 posts were merged into an existing topic: RLE Image Compression using 3 Colours


#20

Have been playing this game and loving it, but just couldn’t help myself trying to squeeze some music into that extra 244 bytes for that little added bit of ‘atmosphere’!

Started investigating algorithmic (bytebeat) music and have managed to fit some in there - and it adds so much to the game! What’s cool is that you could have the music respond to the game, like by making one or more of the parameters linked to game parameters, like area / level for example!

Unfortunately, having it running as an interrupt, is interrupting (!) glitching the graphics a little… :frowning_face: Maybe you guys will have more insight as to how it could be better incorporated? Here are the only changes I made…

Here’s the source of the music I was working with:


(Stephane C) #21

This is really nice! We might have to have even more savings though as we also wanted to add a scoring mechanism to the game. But music does add to the atmosphere a lot.

Also, thank you for playing our game!