Thursday, 30 January 2025

making choices on server map - part 2

The server map is kind of a second game, where one move in the map (hacking a server) comprises an entire round of the core game. In my last post wrote about how I was trying to make the decision of "which server do I have next?" rich and interesting; while that's a big decision in relation to the core game it's a very zoomed-in perspective on the metagame. Today I'm thinking through the wider question of what the player is trying to achieve across multiple hacks.

My first thought was to simply reflect the core roguelike gameplay: each server is made up of sectors, the goal of each sector is "get to the exit", and the goal of the entire server is "get to the final exit". The goal on the map could be "get to the final server". There would be a lovely symmetry, "as above, so below". I spent a while prototyping this version.

A big problem I ran onto early on is that the whole map is way too much information — thirty-odd servers each with their own tools and defenses. I was never planning on making you choose between all of these at once, you'd be stepping through them one at a time, but it turns out to also be too much to look at and think about to plan a route through. That's okay, I just add "fog of war": you can only see where you've explored. This felt really good. You start with a very simple set of options, then gradually add a few at a time (ruling some out as you go) and by the time the screen is full of information you've already digested most of it. It gives a nice Matrix moment: if a friend sees you playing they'll be impressed by the impenetrable wall of symbols, but you "don't even see the code anymore".

Putting these two concepts together: you're trying to get to the exit but you need to explore to find it. Remember from the previous post that there's a limited number of rounds, so you're trying to get to the exit before you run out of time (and pick up as many points as you can along the way). This more-or-less worked, it's a game. But there ended up being a fairly optimal search pattern you could follow to have the maximum chance of finding the exit, and this tends to feel unsatisfactory no matter the outcome: if you find it that's unexciting because it's to be expected, and if you don't find it that's unfair because you did the best possible with the information you had. And if you're trying to get a high score, then that's determined by whether the map randomly lines up the highest scoring opportunities with the correct search pattern. If not, you'd have to keep restarting until it does (which some players are going to do to eke out an advantage no matter what but I try to avoid privileging too much).

I started experimenting with other goals. I tried having multiple options, whereby you could win the game by completing any one of them. This has several advantages over a single goal. It suggests different categories players can choose to compete in to extend the longevity of the game - completing a specific goal, or getting bonus endings by completing more than one simultaneously. As a designer I can try to balance the goals such that when you're failing one of them you're likely to be close to succeeding at another - e.g. if you've searched the map and not found the exit then at least you might know where all the megacorps' territories are, or if you've completely failed at exploring then you've likely had many opportunities to [redacted] the [redacted].

Even with these balancing factors I kept running into the situation where one mistake or unlucky roll can prevent you from achieve your goals no matter how cleverly you've played up to that point. Weirdly this felt both really bad and really good. These situations made great exciting moments that fit the mood of the game, they weren't a rough edge I wanted to smooth off. But if it went badly, then the gameplay was telling you to quit and restart, which at that point stopped fitting the mood. At 868-HACK's scale it flowed really well to crash and restart, and I would have liked it to work similarly, but with the game being a bit bigger and having a few different elements in play it just.. wasn't.

So I stepped back to think about what makes sense in the story of the game. You've returned to the life of crime you left behind, risking everything on one last hack to save everything you value the most.. you took your best chance.. it didn't work out. You got so close but you realised you couldn't make it. What do you do now? You could try anyway, going out in glory like some kind of hero. But no, you want to make them pay. You want to do as much damage as you can on your way down.

Game design is about making the thing that's coolest to do line up with the strategically optimal move. (Or most exciting, narratively appropriate, etc., you get it.) I had been thinking the goals were absolute: this is what you must do to win the game. I had thought that was narratively appropriate: this is what the hacker values more than anything, enough to bring them back. But it's more interesting to be dynamically evaluating - if you've had a bad run and now there's only one option that gives a 1/16 chance of making it.. if the goals are absolute then there's no choice, you just take that chance.. but maybe you take the option that has no chance BUT hacks them up good / gets a cool item / etc.

Brief historical diversion: when I made 86856527 (which became 868-HACK), I'd been playing a lot of roguelikes (Rogue, ADOM, Nethack, Crawl..) and I thought high scores are a waste of time, a distraction from what's cool about games: exploring a world and having adventures. I'd also been playing a lot of board and card games (Race for the Galaxy, Dominion, euros) and I thought scores are a great mechanism, a clever abstraction that can enable what's cool about games: deep subtle competition. Basically I believed that scores were a good thing for boardgames but somehow a bad thing for videogames so I was resistant to putting them in mine. It's probably fair to say that the videogames I was playing just didn't have very good scoring (despite their strengths in other areas). Fortunately I got through my resistance, and with 868-HACK found the maybe-novel idea of putting something like a board-game-style scoring mechanism into a roguelike.

(These days people even call Balatro a roguelike. Not my fault ok.)

Back to the topic: I have a game with a scoring system, and narrative goals. I've been resisting assigning scores to the goals, because they're the thing that you really value, more than mere score! But maybe I have to learn the same lesson again twelve years later, and put some numbers on them. That's what makes the formal program-mechanical perspective of the game match up to the cool story in those 1/16 risk situations — the character is thinking about whether their chance of success is worth it versus just smashing things, the computer program is evaluating whether the number is bigger than the other number, the player is thinking about whether their chance of success is worth it versus just smashing things.

No comments:

Post a Comment