Thursday, November 1, 2018

Doing NaNoWriMo my own way

NaNoWriMo is something I've been vaguely aware of for several years now. I've seen it mentioned online, and my brother even participated in it once.

If you're not familiar with NaNoWriMo, it stands for National Novel Writing Month. The goal of the event is to write about 1600 words every day during the month of November. If you keep up your pace, you will have written a 50,000 word novel by the end of the month.

I've never had a huge appetite for literature. I rarely make it past the first hundred pages of a book, and have very little interest in writing fiction. But I do program. And there are projects that I've wanted to work on, but never gotten around to. So, instead of writing a novel, I'm going to spend every day in November working on a programming project.

Introducing, HamBot.

HamBot will be a Twitch chat bot intended to be run from a Raspberry Pi on your home network.

Twitch chat bots come in two basic flavors. There are chat bots like the StreamLabs chat bot that you run from your personal computer. The other flavor is a bot hosted and run by other people, like NightBot. The benefit of a hosted bot is that it is always on, even when you are not streaming. The downside is that you relinquish a lot of control. A streamer friend complained to me recently that the chat bot she uses has no way to export data, such as channel quotes or stream currency (fake internet points by viewers the longer they watch the stream).

HamBot's goal is to provide the benefits of a hosted solution, while leaving the streamer in full control of their chat bot. HamBot will be "hosted" on an inexpensive Raspberry Pi that a streamer can connect to their home router, do a bit of configuration, and then leave on 24/7.

The main design problem here will be to make installation and administration user friendly to the average streamer. This is the main thing I intend to solve by the end of November. HamBot itself will not have many advanced features. Those are fairly easy to add once the basic installation problem has been solved.

If you like, you can follow along here: https://github.com/haydenmuhl/hambot

Sunday, March 11, 2018

Fate and the Elusive Mental Conflict

This post assumes familiarity with the Fate role-playing game. The rules are available to read online for free if you'd like to learn more about it.

One part of Fate that has never sat well with me is mental conflicts. I love that the game supports a combat mechanic besides the typical brawl, but I've never been able to figure out where it would actually fit in to a game. Even when watching examples of mental conflicts in actual play videos, they felt off in a way I couldn't put my finger on, until recently. I think the key to all this is that we're applying the wrong mechanic. Instead of using conflicts, we should be using contests.

Let's look at a concrete example. Reddit user ParamedicAntic posted a thread with an example of a mental conflict between Spider-Man and Aunt May. The background is, Peter agreed to volunteer at the soup kitchen with Aunt May, then forgot and promised Mary Jane that he would spend time with her. Aunt May calls Peter to ask where he is, and the conflict ensues as Peter tries to get out of his obligation at the soup kitchen.

Right away, something feels wrong. As this phone conversation drags on, Spider-Man is going to be filling up his stress and consequence boxes as Aunt May guilts him into coming to the soup kitchen. Those consequences are the same consequences that would get filled if Spider-Man were in a fist fight with the Sandman or Doc Ock. This seems entirely incongruous. How could a phone conversation with Aunt May be as damaging or debilitating as getting body slammed by a super villain?

The short answer is, it wouldn't be, and we can turn to the rules to see why. Here's how the Fate Core rule book describes a conflict.
In a conflict, characters are actively trying to harm one another. It could be a fist fight, a shootout, or a sword duel. It could also be a tough interrogation, a psychic assault, or a shouting match with a loved one. As long as the characters involved have both the intent and the ability to harm one another, then you’re in a conflict scene.
That last sentence is the key. The characters involved need to have "both the intent and ability to harm one another" for this to be a conflict. I don't think Aunt May wants to hurt Peter. She just wants him to come help her at the soup kitchen. Peter doesn't want to hurt Aunt May, either. He just wants to go spend time with Mary Jane. No intent to harm means it's not a conflict.

So, let's look at contests instead.
Whenever two or more characters have mutually exclusive goals, but they aren’t trying to harm each other directly, they’re in a contest. Arm wrestling matches, races or other sports competitions, and public debates are all good examples of contests.
This really describes the situation perfectly. Aunt May and Peter have mutually exclusive goals (where Peter will spend the day), and they aren't trying to hurt each other.

If that's the case, then what is a mental conflict? The key ingredient is intent to harm. This could take a lot of different forms. The most obvious would be a direct insult ("You're ugly"). Maybe it's a lie ("I never loved you"). Maybe it's the truth ("I am your father"). Maybe it's poking an old wound ("It's your fault your partner died"). It could be destroying a beloved object ("No, not my collector's edition Fallout bobble head!").

I think the neat thing about this is that it also removes the need to strictly divide mental and physical conflicts. In the middle of a fist fight, you could decide to smash the bobble head instead of going for another punch. You could also have a conflict between something like a barbarian and a politician where one side is physical and the other side is mental. The barbarian is trying to smash his opponent's face, but the politician attacks by saying things like, "Your friends are already dead and it's your fault."

I think the culprit here is the use of the word "conflict." In colloquial terms, Aunt May and Spider-Man are absolutely in conflict with each other. But they're not in a Fate conflict, because they lack the intent to harm one another. I think by carefully inspecting the characters' motivations, it will allow us to better utilize the contest mechanic, and have richer conflicts by including mental or psychological attacks into what might otherwise be entirely physical brawl.