June Game Project — They Were Roommates

Every month of 2022, I am trying, as part of both my PhD project and my all-purpose general game development, develop if not a whole game for game development, a project start, such that I can make playtest prototypes. This is a sort of report of the process throughout the month.

They Were Roommates (temporary name, change this) is a game about getting all your bags in order and finding a solution – any solution – to getting a room where you can all spend the night for a con, even despite any inconveniences.

You ever go to a convention? A travel-from-your-home, get-a-hotel-room, spend-the-weekend, indulge-and-experience-and-relate kind of convention? In my experience, every con has sort of more or less the same kind of stuff, even if there’s an emphasis. You’ll find videogames at an anime con and anime at a gaming con, if you know where to look (usually near my table where I’m selling it). The general mish-mosh of interests mean that even at non-furry cons, there are some furries.

I started this month looking at some avatars for a game design that I kind of liked. After consideration though I jumped through some hoops and put that design onto a backburner (in part because I have some ideas for a different game using those pieces).


Week 1

Alright, I’ve been thinking about this since I started exploring Century Golem, a hand-builder game. I got into it, I like it, and that put me looking at other hand management games. Back in 2017, a real corker arrived, called Fantasy Realms. Engine is simple – you’re drawing cards, adding them to your hand, and you’re trying to sculpt the best 5 card hand. That’s all there is to it. Looks like a good engine, let’s see what I can do with that.

What goes into Fantasy Realms? It’s 53 cards, which each have a unique mechanic that either gives specific bonuses or specific drawbacks. You play until you hit the end of the game, everyone reveals their hands, and you find out who did the best job of sculpting their hands. Some cards may just have a huge drawback to them, and then some other card may turn off that drawback, and some cards may explicitly call out other cards in a set to generate a higher score, like poker hands.

Playing my own game, Murder Most Fowl I’m a big fan of individual discard piles, or the tactical decisions that can come up when someone has control over where they discard things. I can think of three very rudimentary card behaviours, in a sort of top-down way:

  • Count effects. These cards can look at symbols on your other cards, or specific names and gets you a bonus based on that. As an example, maybe a meerkat who likes to be around other meerkats. The count can be one — there may be a single specific card the card reacts to.
  • Ignore effects. These cards can ignore the rules of another card, like a vegan lion that can ‘ignore’ the way a shy deer doesn’t like rooming with big predators.
  • Blank effects. These cards mean that every card in your hand that qualifies, they make go away. So this can be things like someone whose presence fixes a problem with a room, or a room can have a trait like ‘second bathroom’ that blanks drawbacks on (say) aquatic characters.

Some cards are going to have just straight up drawbacks — there will be some characters who ignore the drawbacks. A straight up junk card needs to be a particular style, I don’t want it to be that cheap rooms are bad rooms, just that they lack for things.

That’s our basics of our engine.

Week 2

Okay, now let’s look at the gameplay loop. First up, I want to diagram the kind of play board I’m seeing.

This may look like it can be useful for anything but I want to make sure it’s got a ‘flow through’ to it; rather than something like the radial deck design of Murder Most Fowl where the deck is surrounded by discards, I want the single large discard to make it clear to every player how close they’re getting to the end of the game. It should reacte a sense of urgency.

The gameplay loop is

  • Take a card from the draw area (the areas numbered 1-5) or the draw deck 
  • Replace it with a card from your hand
  • Put a card from the draw area into the discard
  • Replace the discarded card with the top card of the draw deck

I’m not wild about this as written out, though it achieves what I want. What I want is to make sure there’s always cards going through from the draw deck to the discard, even a little bit at a time. It can’t be a line, because I don’t want the last card to necessarily be the one going to the discard.

Week 3

Okay, that’s an engine, all I need to do is come up with 52 cards, then, right? Well, here’s where I wanted to address something I know I sometimes struggle with, which is I don’t want to make my cards too procedural. It’s a problem I have where if I design a game where there are, say, five variables with three choices, I’ll usually just make each of those possible combinations. Games like You Can’t Win and Murder Most Fowl are these kinds of very procedural games.

I think that these systems can be very sterile, even if they’re easy to balance. See, if all the players have the same pieces, then it’s not my fault if any one strategy is too good; as long as each piece has counterplay, then it’s all about the shuffling of the cards to keep them distributed right. The simplest way to balance any game is to give all the players the same pieces, then randomise them.

What I want to do for this one though is to ensure the cards have personality, and that means I want to make sure the deck is not so smooth or procedural. I want to have to try and solve questions of ‘why is this like this’ and ‘why do these people not get along.’

The drafting solution means that players are going to try and ‘force’ strategies – it’s okay to have things be wonky and lopsided, because players will always have a wide variety of cards to potentially save a hand with wonky bits in it.

In order to do that, I decided to randomise up my list of card potentials.

First, I decided how many attributes I wanted. I made a list of letters A-Z, then I fed them into a procedural calculator to get every unique combination of letters. Repetition was allowed in this stage. That gives me a range of inputs like AAA, AAB, AAC, AAD, and so on. Great big list.

I then used a Rand() function in Excel to sort these and picked the first 52. That was my collection. I then made a table where I could convert each of those letters into a trait. Then, I deleted all the duplicated traits – all the sets like AAB became AB… and I checked out the list I got.

And that means I have a big pile of characters and things described with three simple words, who each need a mechanic. They have traits that let me concoct mechanics, and identities, but now this means every card gets to be a little bit artisinal without needing me to generate each one ex nihilo. It also means I get to see ahead of time now how commonly distributed some things are without necessarily having to make that choice ahead of time.

Week 4

And then productivity got sunk because of Stuff. Hey, I gotta respond to the realities of my situation.

This one didn’t get to playtesting, but I did still get a large portion of what I consider ‘the work’ done. What I was hoping to have by the end of the month was a real example of a card face, with some stand-in art. No luck this time, but I did make an example of a fast-design template:

This is a table in Word. The tables let me divide abilities up. After some revision I decided I want two values – one, the overall points the card is worth, and the other, what they contribute to the room’s cost.

And… that’s where this project has to stop, for now, because it’s 6pm of the night this goes up. This post is going up in 7 hours, and I can’t get it done from here, especially with the other things that have happened… and that’s gotta be okay.


Back to top