Indie Wonderland: Moonlighter

A few hours in

Look at my cash purse in the top left corner, ye doubtful, and *despair*.

Several hours have passed since I started. I’ve adventured, and I’ve kept shop. I dug to the depths of several dungeons and beat the terrifying inhabitants housed therein, which Zenon constantly disapproves of… but then I do dredge up more valuable artifacts every time, so he can just keep his misgivings to himself, honestly.

And after all those hours of hard work, my honest opinion of Moonlighter is

Well, it’s complicated.

It’s very tempting, whenever talking about games that feature fantasy shopkeeping, to draw parallels to the godmother of the genre, Recettear. It’s a strong reviewing impulse: I kind of want to start doing it right now. It’s also lazy reviewing practice, and impenetrable reading to someone who doesn’t have that game as background. So here’s my compromise: I’m going to try to keep the Recettear direct comparisons to an absolute minimum. But I will start out with one, to give those who do share that frame of reference an easy jumping-off point for understanding Moonlighter. That starting comparison is this: Compared to Recettear, Moonlighter‘s combat is a bit better, but its shopkeeping is quite a bit worse.

For everyone who doesn’t instinctively understand what that means — or everyone who would like just a touch more detail, here is what I mean:

Moonlighter is very explicitly a game that wears two hats. “Every adventure has to pay off.” It’s an adventuring game and a shopkeeping game, with two correspondingly separate (but slightly overlapping) sets of mechanics. Of the two, I kinda like the adventuring, dungeon-delving side: While simple, it’s engaging and fun to play, and makes good use of the art and sound design and of the weird narrative space implied by the story. It wouldn’t be grand as a standalone game, but as one half of a pair it carries its weight well. The shopkeeping, I’m less enamored with: This set of systems is simple in a way that impacts long-term engagement. It’s tentatively ‘fun’, but too light to really sustain itself. And a few questionable design decisions actually drive me towards active frustration. But we’ll get to that.

Starting with the positive, though: the adventuring is generally pretty alright!


The way adventuring works in Moonlighter is this: Every time you go out, you choose one of four Dungeons to delve — one open from the start, with the other three unlocking as you play. In broad strokes, each dungeon has three floors to explore, with a big cool boss fight making up the fourth floor. The immediate rub here is that each dungeon is procedurally generated anew every time you enter, stringing together a series of interconnected ‘rooms’ containing enemies, treasures, environmental hazards, and occasionally other (plot-related) stuff.

Flashing forward to those cool big bosses, though:

I’d describe Moonlighter‘s approach here as light Zelda-esque, or even vaguely Binding of Isaac-ian, if I was feeling insufferable. The procedurally-generated approach means there are no real puzzles or deep exploration. And the game only uses a small set of room types and game mechanics: Don’t expect any keys or bombs or slot machine rooms, for example. The tutorial on the previous page was pretty feature-complete with regard to what you can expect (though not 100% so). Really, all there is to it is items to find and enemies to kill, and the occasional trap to not fall for. The game itself is fairly explicit about how it all works at one point: Each dungeon is made of different monodirectional ‘paths’ branching out from the starting room, with one path leading to the exit while the others are essentially dead ends. I don’t think I’ve ever seen multiple paths converge again.

Still, it does work. The different dungeon tilesets, hazards, and enemy possibilities are combined into a great variety of interesting-feeling rooms. It takes a while for any real sense of repetition to set in, and even when that does happen, it was something I mostly just accepted as a necessary externality of the design. The great graphical design and cool aesthetics also very much help offset the onset of this fatigue. What I personally love a lot is this: Each dungeon has a strong overall theme, but different floors within that dungeon visually play with and vary on that theme. Floor 1 of the Desert Dungeon is mostly sand and crumbling ruins, but by floor 3 it feels like you’re in a long-abandoned temple.

Ignore the crazy ramblings of a crazy old man. Focus on the *sand*.

Two floors later, and you’d almost worry about Indiana Jones showing up.

Similarly, while each dungeon ‘only’ has a small set of enemies, they’re generally interesting and varied enough to carry a lot of engagement. Each enemy has its own battle pattern: This one fires homing projectiles, this one charges straight at you, this one drops globs of hazardous terrain. It’s nothing especially shocking or innovative, but it does the requisite work of keeping you on your toes. And especially in the early stages of attempting a new dungeon (floor), this matters a lot, since your Will-the-Merchant self is pretty fragile and enemies hit hard. You grow noticeably more powerful over time, if you make the right investments, but early on… You do have some tools to avoid and overcome damage, like the aforementioned Super Dodge Roll. And you’d best learn how to use them well, is all I’m saying.

On your side of the engagement, you can bring six different weapon types to the table, two of which you can actively equip and hot-swap between during combat. This follows the same theme of ‘simple, but interesting’. Each weapon has a simple attack combo and one special attack: The bow attacks at range and charges an unstoppable arrow, the sword-and-shield lets you block attacks, the slow two-handed sword can spin in a circle, the broom spear provides range but jabs in a straight line. Some weapons also provide simple ‘elemental’ effects, like knockback, damage over time, or… damage over time again, but with a different colour palette.

Everyone knows green bubbles mean poison, which hurts over time. This is meaningfully distinct from red sparkles, which mean fire, which hurts over time.

If adventuring was just combat, Moonlighter would probably run out of steam fairly quick — cool boss fights notwithstanding. But combat is only part of the equation. You’re a Merchant, after all, not a Hero, and you’re here to collect loot first and foremost. You’re not carrying around that giant backpack for nothing.

A whole fifteen slots in the backpack, plus five more slots that clip onto your utility belt.

The Dungeons are loaded with items. You get them from killing enemies, opening treasure chests, and (more rarely) destroying environmental objects. Each of the four Dungeons has (say it with me now) a small mostly-unique pool of items, with only two items (basic slime residue and crystals) recycling throughout. Items accumulate in your enormous-yet-always-too-small backpack, using Resident Evil 5-style inventory rules: Each item type takes up one square, regardless of relative size, and items stack to a certain amount — 1 or 5 or 10, depending on the item.

You can already see the basic outline of the puzzle here: What do I bring with me, what do I leave behind? Is it worth ditching this large stack of cheap items to take on one more expensive one; will I find more of that item to stack into the first one before I leave the dungeon? How valuable are these items, even? Do I want to keep certain items for crafting and enchantment purposes? Building on this is the idea that you can bring more items, armor pieces, and healing potions than you can equip in your special active inventory slots, two and three and five respectively. But everything above that sits in your regular bag, taking up space. How overprepared do you need to be for whatever it is you’re planning to do? It’s an interesting planning challenge.

But then Moonlighter throws two twists into this formula: One that makes it more interesting, and one that makes it less. The ‘good’ twist is this: While items you get off enemies and the environment are always as-is, items you get from chests are afflicted with a variety of curses. You can see the pink curse indicators in the above screenshot. Some items can only be placed on the horizontal or vertical edges of the bag. Some items point at different squares, and threaten that they’ll destroy whatever’s in that square if you take them back to town. Some items turn whatever they’re pointing at into copies of themselves when you leave. Some items just straight-up break if you take too many hits while carrying them. And so on, and so forth..

I really like this idea, because it turns the puzzle of item management from simple maths optimization and guessing into a dynamic placement puzzle. You’ll want bad curses to point to the edges of the bag. You’ll want good curses to point to the right items. But which items are good? Some curses fire the first time you put an item in your bag, so maybe you’ll want to keep those items in their chest until later. Furthermore, you can’t stack cursed and non-cursed items of the same type, or even similar items with different curses, which means you might have to decide whether you’d prefer to keep this or that stack. Or you might want to try dispelling or firing a certain curse in suboptimal circumstances, just so it opens another backpack slot. In theory, every chest you find has the potential to upend your entire careful planning.

Dangit! My entire careful planning, upended!

I say ‘in theory’, because in practice, Moonlighter very quickly hands you a trio of tools that significantly blunts that challenge. Two of the tools, the Merchant’s Pendant and the Merchant’s Cube (or whatever it’s called), allow you to leave the dungeon, respectively as a one-way or a two-way trip: The Pendant kicks you out, while the Cube opens a portal you can use (once) to get back to the exact dungeon you left. You can probably see the strategic considerations in the latter, particularly bypassing earlier stages and keeping a steady dungeon layout, but for now, these are the most important aspects: Both of these things cost hard cash money to use, and apart from killing the dungeon boss (something you can only do once), they’re the only way to leave the dungeon ‘correctly’. You can die, that kicks you out of the dungeon, but that also loses you all the items in your backpack that aren’t on the top row (see, I told you that would matter). Or you can let an invisible timer run out on the floor you’re on, which summons… I mean, let’s not beat around the bush: It basically summons the Spelunky ghost, working a second job.

I’m not the only one who immediately had this association, right?

Crucially, you cannot leave the Dungeons any other way. You can’t go back to the main entrance, because you can’t actually go back up floors: Much like Spelunky or The Binding of Isaac, there’s no way but forward-and-downward. Even on the first floor of any Dungeon, the exit you ostensibly came in through is locked. If you want to leave with your items in tow, you have to cough up the cash.

So what if you don’t have that kind of money on you? That’s where the third tool comes in: The Merchant’s Mirror lets you turn items in your inventory into cash money, at any time you can access your inventory (i.e. when you’re not in combat). Specifically, it turns each item into a small fraction of its ‘true’ value — I’ll talk about the consequences of that idea later, but for now, it means burning fancier items gets you more money.

In this screenshot, there are 8 red vials. These vials stack up to 5, so I can’t bring all of them with the space I have right now.

In this screenshot, 5 red vials remain. And if you look in the top left corner, you’ll see that I just made a few thousand gold coins — all without ever leaving this chest screen.

It’s easy to see how the system as-designed necessitates a trick like this. It’s also easy to see what deleterious effect this has on the overarching puzzle of ‘what do I bring’. Find a fancy item you just can’t open up a slot for? Just turn that dang thing into money! It’ll probably be a net loss compared to selling it, but if you weren’t going to bring it anyway, it’s basically free money. Hell, leave one free inventory slot open at all times until you’re ready to leave, and just burn any boring old item you don’t like. Just like that, the core inventory puzzle has gone from a nail-biting ‘which rare and valuable items do I honour with these, my precious limited inventory slots’ to a demure ‘which items do I want to hold on to earn more money, and which items should I burn right now for less’.

You might wonder what a system like that does to Moonlighter‘s other mechanical half, the shopkeeping, purportedly a core game element. I’m glad you asked.

Welcome to the shop! I hope you’re interested in overpriced iron.

Moonlighter‘s shopkeeping broadly works like this: You lay out items on one of a number of table spaces, as you saw on the previous page. You can drop anything from single items to full stacks; you indicate a per-item price, and Moonlighter counts that up to however many items you actually placed. Once you’re done, you open the door, putting you into shopping mode for the day. People enter the store, mill around, and occasionally check out items. This can lead to one of four reactions, but really actually two: Reaction 1 is that they emote deep disappointment with a too-high price and put the item back. Reaction 2 is that they emote either mild disappointment with a slightly-too-high price, contentment at an okay price, or capitalist happiness at a too-low price, and take the items over to your cash register. You hit a button, they give you the listed price and take the item, and they leave your store. Pretty much as soon as someone picks up an item with intent to purchase, you can drop a new item on the now-empty table space (but don’t leave people waiting at the register for too long). This goes on until you either close up shop, or daytime runs out, which closes up shop for you.

And then you get this overview screen showing which items you sold, how much money you made, and what that does for your reputation.

The core of this isn’t unengaging. It’s fun to earn money, and — as long as you haven’t figured out the secret — it can be a fun process to try and work out how much any given item is actually worth. This is too much, this is way too cheap, what do you people want from me? And hey, the music is nice, and the visual diversity of interested shoppers walking around the place is pretty cool.

It’s just that, below the surface — there isn’t actually a great deal of interesting stuff going on. The secret, which sapped some of the fun for me, is that every item has a ‘true price’: The ‘actual’ amount of money it’s ‘objectively’ worth. Remember how the Merchant’s Mirror gives out different amounts of gold for different items? Yeah, this is why: Each item’s true worth is hard-coded in. Worse — I won’t tell you how, but it’s possible to get an idea of what each item is worth before ever really selling it, which really simmers down the judging-and-guessing game of selling. Not that that’s necessary, mind: At time of writing, a good half of the Steam guides for Moonlighter were basically lists of these true prices, with advice for how high you could sell each while still getting a good reply.

That whole idea, items having ‘true prices’ in and by itself is a bit of a disappointment, but okay, it’s a valid design choice. But a second design choice that poorly interacts with this one is the fact that your shoppers don’t have any identity. None of them are anyone. I mean, sure, they’re ostensibly the people you see walking around town: The overly excited scholar, the merchant, that guy that keeps talking about culture, as well as the nameless faceless adventurers and traders that start showing up as you progress in the Dungeons. But inside your shop, all they are is walking wallets.

What I mean by this is — Alright, I’m going to use one of my limited Recettear comparisons here. I’ve you’ve played that, do you remember how the different people that could enter your shop were markedly different people? With different preferences for what they wanted, different budgets, different willingnesses to haggle. It coloured your expectations to see different people walk in: Excitement, contentment, disappointment, premature anger at goddamn Louie who was almost certainly going to beg you for cheap deals on good weapons. Moonlighter has none of this. Any person in your shop will buy any amount of anything, so long as the price is right. Old lady walking over to a ten thousand dollar full stack of golem construction manuals? She’ll buy that. She doesn’t care one whit.

“I definitely need these priceless sandstone cubes!”

Detail-oriented readers might point out that some people do emote particular preferences when they come into the store, primarily for better equipment and potions. But here’s the thing: I didn’t wise to this until way later, and I never played into it, and I’ve never ever been shy for money or customers. I never had trouble selling anything. If you want to be hyper-efficient, you can probably make this work to get rich even faster, but it doesn’t particularly matter. Don’t think that that old lady won’t buy a hundred thousand dollar magic bow either. You don’t know her life.

The consequence of this is that selling gets dull. It’s literally a process of turning the mostly-meaningless items you find in the Dungeons (rocks, vines, spark plugs, assorted garbage) into cash. There’s no player involvement beyond choosing what to plop down first and setting the prices. There’s no mood, no challenge, no ambient storytelling or worldbuilding through the unfolding process. There’s nothing.

No, wait, that’s not correct. There’s one thing that shakes up the process: Thieves. You’ll see them come in by the way they emote ‘I’m totally a thief’ at the door. There are only four character models that are thieves, and every one of them that enters is a thief. They’ll walk around for a bit, looking shifty, then grab one of your items and walk for the door. At this point, and only at this point, you can roll into them to start a cartoon fight-cloud, kicking them out after several seconds and returning the item — to your inventory, so you’ll have to place and price it again. One of your friends, the merchant guy? His young son will come in looking to steal, even after he’s had the whole narrative arc where he comes to look up to you. And you can’t talk to him, point out that you’re onto him, or keep him out in any way: Literally the only thing you can do is kick his single-digit-age ass when he makes a move.

This happens over and over. And over. I think my record is something like eight thieves in a single ten-minute shopping session.

This guy is probably on the level.

There’s some mild shop upgrading and customization too, to be completely fair, but it’s nothing beyond getting you some minor bonuses. You can unlock an assistant, but all they can do is take over shopkeeping operations for a single day, in case you wanted to have even less fun with that. And you can unlock a second desk where people give you research and collection missions. Except you won’t do those, because they consistently point to previous, less interesting dungeons and they pay pennies on the dollar. I appreciate the effort here, but it just doesn’t hook.

“Could you go into a dungeon you’ve already cleared, which contains items that are worth much less than the ones you’re selling now, and kill these mushroom enemies until ten of them have randomly dropped this item that’s without value except for this specific circumstance? I’ll give you about a fifth of what you’d earn from a normal day of shopkeeping at your current level.”

Between questing and shopkeeping, you can check out the town of Rynoka. There’s a day and a night phase, and it’s easy to see the intent here: During the day you can access all the stores you bring into town, talk to everyone, generally have a good time. Then you can open your shop, go to the dungeon, or sleep. At night you can only access a few select shops, and either go to the dungeon or sleep — the Moonlighter isn’t open 24/7.

I really like this town! It’s cool and colourful and interesting. And it has one of my absolute favourite aesthetic things of all time: The looping town music (a single track that hasn’t gotten dull for me yet) seamlessly transitions into a differently-themed version if you go near certain shops. So from one step to the other, rhythmic background clanging and metal reverb is looped in when you talk to the blacksmith. Or the entire set of instruments is swapped out for more snooty-sounding versions when you get close to the snooty specialty shop.

Which I hate, but for reasons unrelated to the music.

It’s a really cool place and I wish there was more to it. I wish there was more of a reason to get to know these people, to add merchants to the town, to upgrade and expand your store, to be good at selling, to do anything but to just visit the blacksmith and the witch over and over. Constantly buying the same potions, and slowly upgrading your gear along limited linear upgrade and enchantment paths, before heading back into the dungeons again.

Nice dungeons, mind! There’s just not a whole lot to come home tp.

Final thoughts

There’s a design decision that Recettear made that garnered it a lot of negative feedback, and I get why it got the reaction that it did, but over the years, games like Moonlighter and my earlier review of Safe House have come to convince me it was the correct decision to make. Recettear has pressure. You have to be good at running your shop, because the omnipresent threat of increasing loan payments always looms over you, forcing you forward. Recettear is probably a little too stressful, since (in a completely new game) you can’t really afford to mess up even a single day too badly if you don’t want to live in a box. But the presence of the pressure itself is a good thing. It forces you to engage with a system that’s easy to let slide, but difficult to master. Safe House didn’t have this kind of pressure, which was why doing well at the minigames in that game very quickly stopped mattering. And Moonlighter doesn’t have pressure either. There’s no rent on your house, no competition, no deadlines to hit. You don’t have to be good at selling in order to make any progress. You just have to sell. You’ll need better gear and potions to eventually beat the dungeons, but the way you get there…

I’m really curious now if you could beat Moonlighter without ever opening up shop. Without selling. Could you proceed just from the money you make burning all your items in the Merchant’s Mirror? Would you get enough money to sustain your potion habit and upgrade your (very pricey) gear? You can actually find new weapons in the wild from time to time, meaning you’d only have to spring for armor and enchantments. And without items to carry back, you have no incentive to pay to leave the dungeon. I… think it can probably be done. In a reasonable time, even. I think that, while playing this way would probably get tedious very quickly, the shopkeeping aspect of Moonlighter is technically optional.

This would also totally eliminate the thievery tedium.

Moonlighter is a classic example of a game I want to like more than I actually do. I enjoyed my time with it, and I played it through to the end, including the staggeringly confusing last-minute-asspull-feeling plot revelation. It’s almost worth playing for the ‘what the hell‘ aspect of that moment alone.

It’s just not what I was hoping it would be. It’s a competent procedural dungeon crawler with a cool loot sorting mechanic, and an item shop game that, while not unengaging, doesn’t provide enough meat to disguise the fact that it’s functionally a money conversion algorithm with a layer of dress-up. If you really need more item shop games in your life, or if the idea of a casual no-stress item seller appeals to you more than Recettear‘s capitalist pressure, you’ll probably enjoy Moonlighter. It’s twenty bucks on Steam, GoG, and Humble, as well as your console store of choice (A Switch version ‘is coming’). Twenty bucks seems like a fair price — contented smile emote. But, befitting the game itself, that’s all the judgement I can give you: What you’ll do with the item after you buy it is out of my door and as such, out of my hands.

<< Back to page 1.

Jarenth just wants to experience the realistic stress of trying to sell unearned treasures to survive a day-to-day existence! Is that so wrong? Convince him not to play Recettear again on Twitter or hang out with him on Steam. And if you dig Indie Wonderland and Ninja Blues in general, why not consider supporting our Patreon campaign?

Leave a Reply

Your email address will not be published. Required fields are marked *