First things first, thank you all for playing Humanity Walks Into a Bar! We’ve been getting a lot of positive feedback and critique over the past days, and it’s been really awesome 😀
We’ve already uploaded the game on GameJolt and Itch.io and we’re doing small bugfixes, balance and performance improvements there, in the post-jam version. If you already played the jam build and liked what you saw, don’t forget to give it a try in one of these other platforms!
So, let’s talk some game design.
We had a bunch of things we wanted to try when diving into this Ludum Dare. A bit of background: @vexille666, @caua_fs and me (@lipedal) are Luderia, an independent developer based in south Brazil that’s been in standby for a little over 2 years now. We work together at a larger company now, but the indie spirit had been itching for a while and we thought this Ludum Dare would be a nice way of blowing off some steam.
One of our desires was to make a “little computer people” simulator. We’ve always been fans of games such as Dwarf Fortress, The Sims and Peter Molyneux’s works, and we never got to make anything like those.
When we saw the theme was One Room, we decided it would be fun to cram a god game inside a single room. Perfect way to keep the scope within our capacity. “Humanity meets inside a room” would be the tagline, and Vex quickly arrived at the joke setup: Humanity walks into a bar…
We had a name, of all things. Humanity Walks Into a Bar. What do they do?
We wanted to make them “behave” first of all. Walk around, fight, reproduce, etc. That settled, two options appeared: The first one was putting some kind of danger inside the room (like spikes, a pit or something), and prompt the player to somehow save as many creatures as he could. The second one was to try a concept from a few days before: creatures have a different color each, and when they meet they have a child whose color is the mix of her parents’.
We always try to go for the game mechanics and core systems of tension first — which would make the spiked room the obvious choice —, but we were in the mood for trying something different this time, so we went for the second option.
The toy statement was: You watch colorful little people live, have kids and fight, toss them around, and see how your screen looks like after some time. The game would come after we had that set up.
There’s one line of thought that helped us find the design at this point: It’s easy for us to brainstorm a game in terms of several events and scenarios, and harder to think of only a small set of systems that make these situations emerge. We wanted to avoid the former, when defining how the critters would behave. What I mean is, saying “They just walk, fight and reproduce” is tighter and potentially better than “They will do all sorts of stuff, they will drink beer if they see beer, interact with what furniture they come across, protect their loved ones in situations of danger, etc”. We use to think in terms of several singular narrative events, much because that’s the way we perceive our consumption of games. But it’s been safer for us to try and find a couple of systems that work together and open up a larger set of scenarios. Aaand we just had 48+ hours.
After a good night of sleep, we defined the core behaviors.
Our little people would walk around randomly, and engage whenever they were close. When engaged, there would be 3 different outcomes: they would either be repelled by one another, fall in love and have a baby, or fight to the death. They would also die of old age.
The thing that regulates this behavior is a curve representing their “fertility” over time, or their perspective in life or something like that. Two fertiles make a baby, two infertiles fight, anything else makes them repel each other. The actual implementation is a little less binary than that, but that’s the idea.
We wanted the behaviors to talk to one another: two creatures repelling each other would change the state of the board, potentially making one of them have kids with a third party, kids which would probably get into a fight as soon as they became adults, and so on. Although each particular individual was simple and predictable, Humanity as a whole acted as a fluid organism, scaling to a bar full of people loving and fighting in a couple minutes.
We still didn’t have the “game” though. We had something simple in mind, should all else fail: You watch colorful little people live, have kids and fight, toss them around, and try to get as many of them in as little time as possible.
A step forward from seeing how your screen looks like after some time. But it still didn’t sound compelling, and didn’t seem to fit well with the player’s interaction. At this point, we made eggs and little kids explode when the player tapped anywhere near them. Some tension at least: you want to get more people fast, but you can’t tap like crazy or you’re going to lose your young ones.
As it happens, tension alone doesn’t make for a good game. We noticed the winning move was not to play. The worst part of it was we weren’t using the colors for anything else than watching new colors pop. A sad waste of resources.
Meanwhile, Vex already had people engaging with each other, and Cauã was making good progress in the art and visual effects! What started as an unpretentious toy was getting so pretty we grew attached to it, and wanted a more gamelike loop for people to invest in and come back to.
Enter the notebook. Mainly in the first half of any project, I resort to good old pen and paper to explore design solutions that may be hiding under the surface. It works great: sometimes I spend a whole week searching for a solution while making other things, and can’t get to anything. But spend a day on the notebook, writing in bottom gear, and all alternatives open up.
The process is basically trying to come up with the questions you’re trying to answer, and propose a series of possible answers, trying to be as free of preconceptions as possible. In Humanity’s case, the obvious answer I got was: we were making a game about breeding colors, we were giving the player the tools to manage that and making them get good at it, and not using that in any way.
I don’t think I arrived at the best gameplay Humanity could have, but it fits well with the constraints we already had imposed on ourselves, and the time we had to solve it. As much as I liked what we ended up with, I feel like growing the toy without any care for the game may have come with its own issues.
The new game statement was: You watch colorful little people live, have kids and fight, and try to guide their paths to have the most different colors by the time the bar gets full.
It was now a game about interfering on these creatures’ lives when you could take decisions better than them. It was about saving species from extinction…
… or playing the mad scientist type and go for eugenics.
That’s something that we aimed for and achieved to an extent: allowing the players to set their own goals and make the judgement about what is a win state. Of course, for us the real win state is getting as close to maximum colors as possible. But as far as the game is concerned, every path you end up taking with Humanity deserves a congratulation in the end.
After several tests we settled for 100 colors, to have a good amount of granularity and see how far would the players get. We found it weird, though, that scores used to hover around 85% of max, however you played it.
We ended Sunday with something that we considered finished, but lacking polish.
Something was still weird about the game loop: you only discovered it was about getting as many colors as possible after the game was over, in the score screen. By Sunday night, I thought that was a cool thing. By Monday morning, not so much. It was all very abstract and loose until you finally saw your final score. Playing again didn’t help, because you still wouldn’t know anything for sure until 4 or 5 minutes in. We felt like we had failed making a barely enjoyable game out of our pretty little toy. My roughly assembled UI wasn’t helping too, as it made Humanity “too gamey”, without the good parts of being gamey.
Since we started documenting the development process, we expected a dark cave of sorts to our “hero’s journey”. A low point before our climax. What we didn’t expect was that it would come during work hours on Monday, make us anxious about the deadline, and have no conclusive answer. No good way to make the game fun as hell, without starting from scratch or spend an extra couple days in implementing new mechanics. Just embracing the toy also wasn’t a very rewarding conclusion to our weekend journey.
As it turns out, there was still one small change that could be implemented and make a huge difference in how players perceived Humanity.
The color indicator! It was a wild guess at first, but we soon realised it completely changed the way people would interact with the game. It was now possible to assess your game state easily, and make more informed choices if you were going for a high score. As the bar-as-in-place gets full of people, the bar-as-in-HUD gets full of colors!
Me and Cauã had argued a bit about the HUD in the previous night. I wanted to make things quick, and he wanted to make it beautiful. He likes to think of UIs that fit the environment and the game’s fiction. So during our last rush on Monday night, he learned what he had to learn to make a diegetic UI, and put it to practice. It worked as a charm in maintaining the diorama aspect of Humanity Walks Into a Bar intact, and made the color indicator work without any further explanation.
In the last hour before submissions finished (11 P.M. here in Brazil), we noticed yet another game-breaking issue we hadn’t noticed until then. As the colors filled in the bottom of the room, we were caught by surprise: kids were not taking into account their parents’ colors.
Blue + Red = Red? Green + Green = Orange?
Guilherme searched the code and found out that kids were being born at random. Since Saturday afternoon! We never had babies working properly, and still we believed in the game and were going to publish it without noticing that.
Luckily, that was quick to fix. Remember the score always being near the 85% mark? As if colors were spawning at random? The side effect of the fix was that now the score made complete sense, going from 1 to a lot depending on how you played it.
So that’s how Humanity Walks Into a Bar came to be! It has issues mainly regarding feedback on the critters’ behaviors and the results of player actions, but we’re proud of what we managed to make. We’re in a real hurry at work, but Cauã and Vex will also try to make post-mortems regarding art and programming respectively.
We hope you like Humanity Walks Into a Bar, and vote on it if you can We’re updating the game with fixes and balance changes in both GameJolt and Itch.io. Eggs don’t crack as easily now, and Vex fixed an endgame issue that kept you from finishing it unless you were really good at it. We also have dying folks turning into ghosts, and a neat screenshake when you click! So if you like what you see here, make sure to give the latest version a try 😀
Thanks for all the love, and have a great week!