Using hexagonal tiles, you must create pathways to swim as many salmon as you can upstream. Pathways must be complete and in the same colour in order for salmon to swim Upstream. You'll score points for the length of the pathway you create!
Be careful though, because your opponent has the power to affect your stream too, by adding tiles from their hand to your stream, during their turn!
You'll also want to pay attention to your salmon objective and any Fluid objectives you gain, as these will help you score more points at the end of the game.
So swim those lively salmon and gain the most points to win!
Set-Up
1) Both players take a stream board
2) Place all hex tiles into the bag and shake. Draw 3 tiles each to form your hand. All draws are blind.
3) Place all salmon in the middle of the play area 'the pool', with easy access to both players and visible at all times.
4) Shuffle the Salmon deck and deal one card to both players. Return the unused 5 cards to the box.
5) Shuffle the Fluid deck and deal three cards to each player. The rest form a face down draw pile. Leave space for a discard pile.
6) The player who last went swimming goes first, or choose a player at random.

Taking A Turn
Each turn you may take a maximum of 3 actions.
There are 8 available actions that may be taken on your turn.
Ending the Game
The Journey Upstream ends in one of two ways.
1) The final Golden salmon swims upstream.
or
2) There are no more available salmon for one player.
Once end of game is triggered, total your score and the highest wins!
Card Examples
There are two decks in The Journey Upstream.
The Fluid Deck which contains objectives and anytime effects.



And the Salmon deck which contains seven objectives all related to swimming both of differently coloured salmon.

| Component | Quantity | Photo |
|---|---|---|
| {{item.name}} | {{item.quantity}} |
|
| Average Rating | 0 reviews |
|---|---|
| Publish Date | December 31, 2020 |
| Edition | First |
| Department | Games |
| Tags | {{tag.properties.name}} |
{{review.properties.review|truncate(review.stash('truncate')||200)}}