Log In  


PICOhaven 2 is a card-based tactical RPG / dungeon crawler inspired by my love of the board game Gloomhaven* (and less directly, of other 2D tactical turn-based games such as the GBA Fire Emblem and Into The Breach), and a sequel to PICOhaven from 2021.

It adopts a modified & simplified version of the mechanics from that board game, both to streamline solo play and to fit the platform constraints. It includes a campaign with 21 scenarios, 9 character levels with multiple upgrade paths, and various items that further modify gameplay and strategy.

*Note: This is just a free, solo-fan-made project and has no affiliation with Gloomhaven. If you like this type of game I recommend checking out the Gloomhaven family of board games for a lot of fun from multi-character cooperative play!

Cart #picohaven2-9 | 2025-01-02 | Code ▽ | Embed ▽ | No License
22

How To Play

Standard PICO8 controls: arrows/dpad, 🅾️ (z on keyboards) for most actions, and occasionally ❎ (x on keyboards) to undo/cancel. As a general UI note: the game shows your possible actions and the relevant buttons in blue at the bottom of the screen.

The game will also automatically save your progress every time you return to town, so you can close the game / browser and come back to it later on the same device.

If you've previously played PICOhaven 1, the interface and rules are similar enough that you can jump right in!

Given the tight code size constraints, I was unable to fit a detailed step by step tutorial into the game itself, so below is a brief "game manual" for someone new to the genre:

In Picohaven 2, you explore and fight your way through a series of scenarios / levels. In most of them, you need to defeat all enemies in all rooms (end your move on a doorway or arch to reveal the next room).

You start with a deck of 11 different action cards. Unlike some games, you do not randomly draw from it. Instead, you start with all 11 cards in hand, and each round you choose two of the cards in hand to play (which are then discarded).

Each type of enemy also has a small deck of preset action cards they randomly draw from. Once the cards are chosen, the round begins and the character with the lowest initiative number on the card they selected goes first.

Each following round, you'll choose another two cards from your hand, so your choices become more limited. However, you can also use a card as a default "attack 2" or "move 2" action rather than what's printed on it, to give yourself some more flexibility.

Once you've finished enough rounds to play through your deck, you reshuffle your discarded cards and start again with a full hand of cards to choose from, with one exception: you randomly burn one card each time you reshuffle, meaning it is not available for the rest of this scenario. Because of this, you only have a finite number of rounds to win a scenario before your deck runs out of cards and you become exhausted, meaning you return to town, heal up, and prepare to try again (note that all burned cards, used items, and lost health are restored after each scenario, success or failure, and you keep any gold or experience collected even if you fail a scenario and try again).

You are also exhausted if you are reduced to 0 health, except: if you still have cards in hand, you'll burn a random card from hand to dodge that killing blow and survive for another turn. Be warned: this reduces the number of rounds you have left until your deck runs out of cards, so you can't afford to do this too many times!

A few more powerful cards are burned whenever you play them, so you can only use them once per scenario (though if you select them for your turn but use a default move 2 / attack 2 instead of playing them, they are just discarded instead of burned, and you'll have another chance to use them after your next reshuffle).

You'll see periodic (optional) treasure around the world, ranging from gold dropped by enemies to mysterious chests. You'll only collect this treasure if you make an effort to end your turn on it, or use a card with the "loot nearby squares" action-- any treasure that's not collected by the end of the scenario is lost. (Thematically, imagine there are additional cowardly enemies lurking on the edge of each skirmish: once you defeat the last enemy in a scenario, they scoop up any remaining treasure and flee):

That summarizes the core gameplay. There are many additionl details you can probably learn as you play. However, if you want to know more now (or are coming back to this later after being confused about something in the game), read on...

More Detailed How-To-Play / Tips

Info Panels

The "enemy info" on the right side of the screen typically shows the action card each enemy type has drawn for the turn, but if you move the selection cursor over a specific enemy (which you can do during the "beginning of round inspect map" phase, or when actively playing an attack), you can see the remaining health of that specific enemy.

Also note that if you are selecting cards from your hand for the turn and can't remember the map layout or how close an enemy is, you can press "X" to review the map (this is also noted in the standard action prompt at the bottom of the screen).

Conditions and Buffs

The Wound condition can be applied by certain attack cards or modifiers. It causes the afflicted character to lose 1HP at the end of every round. A "heal" action removes the wound condition in addition to healing as normal.

The Stun condition causes the afflicted character to skip their next turn. This may happen during the current round, or next round (if stun is applied to a character that's already acted this round).

If you or an enemy have the Shield condition (either innately or from playing a card), all incoming attacks have their damage reduced by that amount. This does not apply to damage sources other than attacks...

Attack Modifier Cards

Whenever you attack, you draw a random "attack modifier card" that increases or decreases the damage. This deck begins the game with a balance of + and - modifiers, most of them "-1", "+0", or "+1":

As you level-up through the game, you'll be able to remove some of these modifiers and replace them with more powerful ones that increase the values or even add conditions to them, swaying randomness in your favor and making even your initial deck of action cards more powerful...

Message Log / Damage Animations

When you attack or are attacked, a red number indicating the actual damage dealt will briefly animate between attacker and target. If the number seems different than you expect, this may be because it includes any changes from attack modifier cards drawn and any Shield the target has-- the message log below the map gives you the full information. If the message log scrolls by too quickly, note that you can scroll back through it at the end of the turn to understand what happened.

XP / Leveling Up

You gain XP for winning scenarios, as well as for killing enemies and using burned cards, even if you fail the scenario. When you accrue enough to level up, you get to swap in one of two new cards to your deck, as well as upgrade your attack modifier deck.

Long Rest action

In the card selection screen, there is also a "REST" action. You generally don't need to use this, as whenever your hand runs out of cards, you automatically reshuffle your deck and burn a random card.

But this "long rest" action gives you the benefit of choosing which card to burn to ensure you redraw an important card you need for next turn, as well as providing a bit of healing and refreshing a few specific items.

Strategy Tips

This isn't comprehensive, but a few tips if you're finding this challenging:

  • Health is a precious resource: try to position yourself so that as few enemies as possible can hit you (since you can see what each enemy will be doing this round, if you move faster than them you may be able to end your turn just out of range of them, forcing them to waste their turn). Ranged attacks are also useful here.
  • Be cautious about using too many "burn on use" cards during the first half of a scenario-- they are powerful, but also reduce the size of your deck after the reshuffle, reducing the number of turns you have to win the scenario before you run out of cards.
  • When you select your two cards from hand for the round, the one you select first sets your initiative for the round (see the cues in the UI). Going faster than enemies is often useful, but depending on your positioning you can also strategically use slow initiatives to let enemies come to you, so you can hit them and then run out of range before the next round.
  • Each enemy type has their own group of behaviors: fast vs. slow initiative, melee vs. ranged attacks, high vs. low movement, and a few have unique more dangerous abilities. You can use knowledge of them over time to prioritize which ones to tackle first or to stay away from.
  • Enemies with shield reduce all your incoming attacks by that amount. Strategies against these can include high-value attacks, or other sources of damage (which bypass shield values): traps, pushing into objects, wounds.
  • It's possible to win the game with many different "builds" in terms of cards, upgrades, and items chosen, but some scenarios will be difficult if you remove too many of the move cards from your deck!

You can share your own strategy tips or ask for help here as well...

Notes for Gloomhaven players

Picohaven should feel conceptually familiar to you: there are many common mechanics, which leads to some similar tactical trade-offs.

However, there are a number of differences from the Gloomhaven game mechanics, some made in the interest of streamlining play (some choices are automated to reduce the number of user prompts), some made because I felt they led to better single-character gameplay or balance, and some made to simplify project scope / code size. As a Gloomhaven player you may come in with assumptions about mechanics for this game, so I'll list some main differences to be aware of:

  • Cards each have only one action rather than a "top" and "bottom", though you can still use cards as a default Move 2 or Attack 2 once each per turn. This combination does make it easier to have double-move or double-attack turns, but cards and level designs are balanced around this.
  • Stun and wound are the only conditions.
  • There is no advantage/disadvantage, curse, bless, or muddle (so there's no drawback to using ranged attacks on adjacent targets).
  • You still have an attack modifier deck, but enemies do not-- their damage is always what's shown on their action card for the turn. Also, your attack modifier deck's "critical miss" is a "/2" rather than a "*0" to slightly reduce variance.
  • All pushing attacks cause damage on collision with an obstacle or another enemy (inspired by a few Cragheart cards in Gloomhaven)-- the cards explain how they work in-game.
  • You will automatically burn a card to prevent fatal damage, but it is a random card from your hand (you cannot burn discarded cards to avoid damage).
  • You will automatically short rest when you drop below two cards in hand (and cannot choose to take damage to lose a different card).
  • You can choose to long rest, but must do it before you have fewer than two cards in hand (note: you can still long rest even if stunned)
  • All items are passively used-- they either provide a passive bonus, or automatically trigger on damage or some other condition (some are one-time use and some are refreshed on long rest).
  • When you open a door, that ends your move, but revealed enemies do not act until the next round.
  • There are no battle goals, enhancements, prosperity, reputation, new character class unlocks, and so on.
  • Enemy difficulty does not automatically scale with your level (that was less important as this is a simpler, more linear, single-character campaign)
  • The enemy movement AI is different, though it still follows a deterministic algorithm where enemies try to move into range and then attack, and can move through or around their allies as needed. One notable difference: enemies do not see traps and do not try to navigate around them, to make it somewhat easier to use traps to your advantage.

Despite these differences, many key concepts and strategies from the Gloomhaven family of board games are relevant, including:

  • Managing hand size, exhaustion, use of burn cards
  • Upgrading your action and attack modifier decks over time
  • Using tactical positioning and knowledge of enemy actions to avoid incoming damage
  • Strategic use of both fast and slow initiatives
  • Direct damage (traps, push) and wound vs. shielded enemies
  • Balancing the value of collecting loot for optional item upgrades vs. the risk of failing a scenario outright if you spend too much time doing that

Thanks & Source Code

  • To the small group of fans of PICOhaven 1 who left nice comments on it on the BBS or Reddit, such as "What an insane labor of love."
  • To @nephilim, xcw, and seppo for playtesting or useful feedback on early versions of the game, which led to various UI changes and some new gameplay features
  • To @gearfo and @hwd2002 who responded to my "call for remix / reinterpretations of PICOhaven 1 music". I ended up using a variant of @gearfo's composition as the music for PICOhaven 2 (I sadly ran out of space to include a major second theme song, as I ended up using 2/3 of the SFX memory to store binary game data...)
  • And to the entire PICO8 community (on the BBS, Reddit, and Discord)-- what a helpful, supportive group

Source Code + Development Documentation

The entire game is about 1800 lines of PICO-8 flavored Lua, plus the accompanying sprite, sound, and binary data (some data such as the story text is compressed and packed into unused nooks and crannies of the graphics and sound memory, for example)-- at one point I hit 8192/8192 tokens and 96% of the compressed size limit.

I had to aggressively minify the source code and strip all comments/whitespace (with the useful Shrinko-8 tool), but I plan to upload the original commented source code to: https://github.com/icegoat9/picohaven2. I'll probably wait until a month after release when I've had a chance to fix any bugs or make any updates that come up-- if you're interested in the source, feel free to remind me.

I also posted some light devlog-ish updates on Mastodon during development, but I'm still trying to figure out where to do that in the future-- I don't quite have the energy to keep up with mastodon, discord, the BBS, reddit, and twitter...

Release Log

  • Oct 31 2023, v1.0a: release
  • Nov 8 2023, v1.0b: fix an embarrassing crash bug that happens when you beat the final boss if you've never saved and reloaded the game (there was a 'how many times have you won the game?' variable I added late in development which only got initialized to 0 when loading a saved game, and in playtesting I always tested load/save during the campaign which masked it).
  • Jan 2 2025, v1.0c: very minor changes: revise the 'easier mode' to be significantly easier (all enemies have 30% HP), to give people who are completely stuck on one particular level a way to more easily move forward, if they want. also fix text typo in story text, rename a level.
22


1

Yesss! So glad to see this. I hope to have some time to curl up with this new release this weekend.

Thank you for putting the time and effort into this sequel. If it's even half as good as the first PICOHaven, it'll be well worth a play.


Already obsessed with the Picohaven and now we have a sequel! Your games made me realize how much Gloomhaven is similar to the NDS game Advance Wars. Amazing work, sir! The one thing I miss is the capital letters, but that could just be me. The lower case trips me up when reading too much.


@Huwans Well thank you! Advance Wars is another one of my favorites from back in the day. Also, that's reasonable feedback about the font-- I did a small font survey of some people I know during development and preferences varied... I have a few tokens left so might be able to squeeze in a quick "turn off custom font" menu option since that's just a line of code or two, I'll take a look.


That pelt collecting sidequest is eating my lunch!


Heh. I added this cycle of grindable sidequests in during development, partly based on your feedback about PICOhaven 1 on the other thread--

But since enemy stats don't scale up as the player levels up (unlike the board game inspiration), I decided to make them fairly difficult for the player level you first unlock them at-- wouldn't want to make that cycle of extra xp+gold too easy... :)


Updated game cart, fixed crash bug with final boss in certain conditions

If you're reading this and downloaded the cart to play offline/on a handheld, you should download the new version of the cart (or if not, refresh your browser), some time before you get to the final boss (I won't spoil what that is here...). Progress is saved each time you return to "town" after a level, so you should be able to Continue from where you were.


Thanks @DavidSawyer, I beat my head against the resource limits wall for a bit but I'm fairly happy with what I was able to fit in. I'll be interested to hear how you like it as a game after you've had some time to play!

I'm also interested to get feedback on the overall difficulty balancing from anyone who's played it for a while (any input, @nephilim ?) to see if it's worth tweaking the base difficulty upward or downward in the future-- during earlier playtesting it felt like people were beating most scenarios on their first try so I bumped up the difficulty of several enemies and levels... but all of those playtesters had past experience with this type of game so I don't know if I shifted the baseline too far up. Hopefully the adjustable difficulty setting lets everyone configure their own challenge...


This version does seem considerably more difficult than the first game. Still enjoyable though!

It's good to hear that the side quests are deliberately hard because I was starting to wonder if I was missing something about the strategy. I don't see how it's even possible to complete that quest at my current advancement level – even ramping down to EASY mode, I still get killed while there are still several other units on the map. I was thinking, "Jeez, if I can't even beat the pelt-collecting side quest, I must not be nearly ready to move back into the main quest!"

Part of it might be the presentation. "Pelt collecting" doesn't sound, at first blush, that it would be a deadly, dangerous mission. People do that for a living, for instance, and presumably do that in the PicoHaven world, too. Maybe if it were called something like "Survive the Night!" or "The Feral Hunt", or call them something like "challenge quests" or something, it might set expectations better.


Thanks for the feedback, that's fair, I'll look at tweaking the naming / pre-level description text in the next release (and will probably also make the "Easier" setting scale down enemies a bit more-- it just scales enemy HP by some multiplier).

If you have a minute to share a Profile screenshot, I'm curious what level/XP/deck/items you're at, to check against when I hit it in playtesting (I also have a biased view of difficulty because I know every enemy's set of possible cards and initiatives, so I know ahead of time what they might do and when-- the HOWLing enemies are tricky unless you can eliminate one type of them early). A second side job / side quest should have unlocked at the same time, also challenging but in a different way.


I have to call this out, sorry in advance: the Ruined Chapel level description starts: "The Council hastily deputizes you to invesitage a chapel..." That's one of the most hilariously botched misspellings I've ever seen in a game XD


Ha, that’s a strange one, thanks! Well I’ve been meaning to make a few other minor cart updates for a while, I’ll roll this one in…


1

Ok, I fixed this text typo, and made a handful of other small changes based on feedback I've received over the past year.

Most notably, the "Easier" difficulty level is even easier, scaling enemy HP down to 30% (though enemy attacks and abilities remain the same, so certain shielded/stunning/summoning enemies still pose a significant challenge) and giving more gold, to give people who are stuck on a particular level a way to advance the campaign, if they want.

After initially getting ~1000 plays, this BBS cart is down to a few 10s of plays per month, so this is for that small audience. :) Thanks!


1

Just beaten the easy mode!


For the run I chose to pick a +5 moves, a stun ranged attack, 2 multiple targeted attacks, a +6 knockback and a +6 attack. Hopefully they're enough to deal with both troops of enemies and the bosses with 9 / 8 defense.

Edit: cannot imagine if beating HERO* with 100 HP + 9 DEF is possible with such limited deck.


1

Congratulations, not that many people have finished the campaign... I was curious if people would choose the new knockback attacks as they can be very powerful but are more of a puzzle to use effectively (the area attacks also take some planning) so I left in alternate card upgrade paths as well...


@icegoat :
Not till I tried exploring a bit in mausoleum then I know

You can go over all the four torches, and place the grass (that is seen in Fetid Swamp) to defeat HERO* in a non-physical way.

For the first run I really just bruted through the HERO* without doing so. :/


1

Ah I hadn’t even thought that was possible, regarding that level:


My design intent was that it’s impossible to brute force fight the Hero in this one and you have to burn the herbs you’d collected, for some variety in challenge. That may be the case at most difficulties, but with the much lower HP in Easier mode and some pushing attacks that bypass shield I now see how brute force is possible. Maybe I should revise this to give the hero 999 HP as a really “impervious to attacks” sign, or have difficulty level not adjust the HP for this one enemy type…

(I’m also curious how challenging you found the final final boss Noah in the last level— I tried to balance the rate of summoning to be a bit terrifying/frantic but don’t know if the boss HP in Easier mode makes it too easy to just rush for him. I’ve play tested the levels so many times now that I’m not a good judge of difficulty).


@icegoat :


It's way easier to defeat Noah with a +6 knockback and some wound cards, since the knockback is optimal to the +5 health on selection.



[Please log in to post a comment]