Wednesday, May 20, 2020

Dice are Statblocks

Much like using playing cards as maps, and crafting using concepts this system is made in response to a problem. In this case the problem was: statblocks are annoying, and they represent a lot of work for little return. Both the time the DM spends fiddling with AC and Attack Bonuses, and the module real-estate spent on statblocks, could be put to better use.

This system is about grabbing a handful of d6s, rolling them, separating them into horizontal rows, and having each of those rows represent a monster. A row of d6s tells us everything we need to know to run a monster, we just have to find uses for all the pieces of information the d6s provide to us.

The key to making an efficient system means recognizing when a resource can serve multiple functions. In this case, the d6s are going to serve as both a measure of enemy health (hit dice come to mind) and as an "attack pattern".
In order to do this, each d6 is going to represent a part of that enemy (for example, a claw, head, or tail) with a health stat and an attack/damage stat. You can read a row of attack/damage stats as an "attack pattern".

(NOTE: This current methodology of reading dice applies best to Into the Odd, as it doesn't have to factor in chance-to-hit or attack rolls. This is what I'm using in my sci-fi Into the Odd-ish game.)

DAMAGE AND PART HEALTH: When a player deals damage to the monster, compare the damage to the Part Health. If the damage is equal to or higher than the Part Health of one or more Parts, that part has been destroyed: remove the die with the highest Part Health that is lower than the damage. If no parts were destroyed, subtract the damage from the die that has the highest Part Health, then turn the die so its Part Health matches the new result. This'll change the attack pattern, and that's good. Enemies tend to change their behavior when they get hurt.

(Optional Rule) Flinching: if a player ends up destroying the part that the enemy's about to use to attack before the enemy's turn, the enemy loses their turn. Adds a dark-souls-like poise feeling.

INITIATIVE: If you're rolling up multiple enemies, just use the top-down order of their stat rows as their initiative.

EXTRA NUMBER: Open real estate. Use this how you wish, or don't use it at all. When I tested my zombie game, I use this as the "headshot number": if a player rolls exactly this much damage against a zombie, it dies instantly. In a different test, this number instead represents enemy soldiers' primary weapons, consulting a d6 table. You could also create a rudimentary d6 monster AI table and use the "extra number" to determine which PC it attacks, etc.

DOUBLES: Special attacks, abilities, statuses, etc. This one is optional. I like to have a d6 table on hand so I can make enemies with doubles into something special. This kobold has two 1s in a row? It's a shaman! This zombie has two 4s in a row? It has a mutated bile-spit attack! This supersoldier has two 2s? It's a demolitions specialist! And so forth. This can be used as an easy way to distinguish an enemy from the pack.

Within a module, an entire statblock could feasibly be condensed down to this:
Zombie (X), where X is the amount of dice.

EXAMPLE: I roll up two zombies, each with 2 HD.
Zombie #            1           2
Part health        25         34
Attack Pattern  44         51
(looking at these two statblocks, I think up some 'personalities' for the two zombies. zombie 1 attacks consistently, but has differing part healths, so I'll say that it's a former soldier with some body armor covering certain areas. zombie 2 has very differing attacks, but consistent part health. I'll say that zombie 2 is missing a leg and loses its balance, so the "5" attack is when it throws its whole body weight at the player, and the "1" attack is when it has to recover its balance.)
-My players roll initiative and win: they go first.
-Player 1 swings their brick-on-a-stick at zombie 2, and rolls a d6. Result: 2. The slash only cuts apart the tissue in zombie 2's tumorous torso, dealing superficial damage, but reducing the strength of that part. I rotate the part die so that the "3" of part health becomes a "1". This has an effect on the oncoming attack: what was once a "5" has become a "3".
Zombie #            1           2
Part health        25         14
Attack Pattern  44         31
-Player 2 fires their shotgun at zombie 1, and rolls a d10. Result: 8. The force of the blast destroys the first part (the "2") and has enough damage left over to destroy the second part (the "5"). Zombie 1 is killed with a single blast.
-Zombie 2 then acts, and attacks player 2 with a slam from a now-weakened torso, dealing 3 damage.
-The round then ends, and the enemy attack patterns update. The die at the front of the enemy stat line gets shifted to the back. Zombie 2 now looks like this:
Zombie #              2
Part health          41
Attack Pattern    13
-My players roll initiative again. Player 1 wins initiative and goes before the enemies. Player 2 loses and goes after the enemies.
-Player 1 attacks with their brick-on-a-stick. Result: 4. They smack one of the zombie's arms so hard that it flies off.
Zombie #               2
Part health            1
Attack Pattern      3
-Zombie 2 now acts, and goes for one last attack, flopping towards Player 1 and dealing 3 damage.
-Player 2 now finishes off the zombie with the butt of their shotgun, rolling a d4. Result: 1. Zombie slain.

Sunday, May 10, 2020

Crafting with Concepts 1: the System

time to leave reality behind for a little bit

The Issue

Crafting systems are untenable in most games because recipes and ingredients are specific. In order to build a Thermal Engine, you need a Combustion Core and an Engine Block. This requires you to remember/record the specifics of the recipe and locks the players into seeking these very specific materials. This is usually fine if you're dealing with a single crafting recipe, like if it was a quest goal, but an entire crafting system built around this level of specificity would be difficult to manage.

The Solution

Instead of using specific materials, think of using concepts instead. What do I mean by concepts?
Thinking back to our Thermal Engine example, let's not have it specifically require a Combustion Core and an Engine Block. Thinking on the gameworld logic of the crafting recipe, let's say that it instead needs (something very hot) and (some kind of machinery).
So instead of:
[Thermal Engine = Combustion Core + Engine Block]
We get:
[Thermal Engine = HEAT + MACHINE]

Here we've broken the individual ingredients down into intrinsic, thematic concepts. This allows us to turn a piece of information that would have to be formulaically memorized/recorded into a piece of information that is simple enough to intuitively make sense. It also gives the players a lot more freedom to craft what they need using the things they find. Now players could use such wild and wacky things as a canister of lava, a fire elemental heart, or a tiny baby sun instead of a combustion core to fulfill the [HEAT] requirement.


This system makes the logic of salvaging much easier to handle as well. Instead of salvaging something down to specific parts, break things down into concepts. Concepts "stack" much better in the inventory (and the brain!) than specific materials, and so this avoids the tedium of recording and tracking large amounts of different crafting materials.
-A Thermal Engine would salvage into [HEAT + MACHINE].

Crafting a Crafting System

Craft a conceptual crafting system that fits your game or world. Boil your game world down into a collection of concepts that fit thematically. Now, any item your players could want to craft or salvage can be made up of one or more of those concepts.

-For example, a scifi game about building machinery and robots might boil down to:
and a recipe for a Heat Beam might be [ENERGY+COMBUSTION+WEAPON].

-A game about frankenstein-esque biomancy might boil down to:
and a recipe for a Mobile Cranial ObServitor might be [BRAIN+EYE+LEG].

-A game about building arcane spells might boil down to:
and a recipe for the ritual of Beckoning Blessed Celestial Intelligences might be [STAR+BRAIN+HOLY].

This will likely be part 1 of a series expanding on this base system.

Thursday, April 30, 2020

The UVG Digital DM Screen

I may have made a thing

It's just about finished. You can find it here.

This post is... a very big thing for me. I didn't realize how difficult it is to actually finish a project that's been this important to me for so long. My copy of the UVG arrived and holding it in my hands was the tipping point, irrefutable evidence that this is a real thing.

On the UVG

The UVG was the project that gave me the first glimpse of what science fiction was capable of in the world of TTRPGs, and it continued to push the limits, moving the goalposts over and over again. Onboard the Stratometaship, I got to witness the UVG evolve every step of the way, until it became what it is today. And now, with this, I have an opportunity to bring my own little piece of science fiction to the landscape of TTRPGs.
my ancient foe returns in material form

Some other takeaways:
-It is truly fascinating to work on developing a digital tool for a project as it evolves. There were some sections that were, for lack of a better term, a real pain in the ass to deal with (here's looking at you, The Near Moon) that I now see in their final, illustrated form and cannot help but be astounded.
-An immense thank you to Luka for giving a relatively unknown newbie a chance. (also- if you have the chance to work with Luka Rejec on any sort of project, take it. He's an absolute joy to work with.) Thank you to ExaltedFuneral for believing in this project enough to support it!
-This project ends just as it began - as an expression of appreciation for a setting that captured my imagination when I was very new to this community, and continues to hold it.



My Soapbox on Digital Tools

And now, an aside on digital tools. I see discussions every so often debating their merits, or whether they are truly necessary. I hear people say that face-to-face, pen-and-paper is the best way to run a game, and I cannot help but agree, but-
not everyone has a house or apartment where they can run a game. Not everyone has their friends close enough geographically to show up to a game in person. Not everyone has the space to spread out a sheaf of papers. Sometimes your friends are busy. Sometimes you're busy. Sometimes the only way you'll get that game in is to run it off your phone at a crowded Denny's.
That's what digital tools are for.
They break down the barriers between the idea of running an awesome game, and actually running it. They make more games happen.
I'm not an economist, I can't tell you if having a digital tool made for your game is a good financial decision, or whether it will actually make you money. I know I'm shooting myself in the foot by saying that. But what I can tell you is that it will allow more people to enjoy your game. People who otherwise wouldn't. People like me.
There's a reason why I have a passion for digital tools, after all. I found them at a time when the local game stores were closing down one by one, when my prep time slipped away, when schedules drifted apart. That bit about running a game at a crowded Denny's is true. I ran it off a digital tool I had made the weekend previous, it was a blast, and it wouldn't have happened otherwise.

Here's hoping for the future of games, of digital tools, and of us, the sentient beings who use them.

Monday, April 27, 2020

A Return to the Blog

Hey, folks!
It's been a while.

After (possessed by the unlimited and characteristic hubris of humankind) I tried to create my own website with blog functionality, I have decided to return here. Although the attempt to make the custom site have all the same functionalities of this site was a useful learning experience, it was taking a lot of time and energy that could have been used to make ridiculous rpg stuff, which was the kind of thing that inspired me to make this blog in the first place.
So, to here I have returned.
And now, this place shall be filled, once again, with life.
New posts are being constructed, old unfinished posts are being dusted off, and the spores of late capitalism (spam bot comments) have been excised from these tarnished halls, that our works may begin anew.

It's been a while since I've been part of the blogosphere, so if there are active blogs and folks that I have missed, please let me know! Tell me about the exciting things you are doing!

More posts will follow,

Tuesday, July 2, 2019

New Website!

Sorry I haven't been posting, have been adjusting to a new job and dealing with personal things. Now I get to show you one of the things I've been working on under the hood: I've made a website from scratch. It provides many different functionalities that Blogger cannot (like a navbar) and is currently missing some things that Blogger provides (like a Blogroll [I'm going to be working on an entire web page that will function like a Blogroll and showcase other people's blogs.]) Here it is, in its current version. I will continue to tinker with it until the end of time, most likely. If you see any weird visual bugs, or have suggestions for improvement, send me a PM or an email. Contact info is under the About page!

Thursday, May 23, 2019

Beneath the Canals Generators: Phase 1

Here are the unstyled forms of the generators for the original Beneath the Canals zini.
Some of these generators are interdependent, for instance, if you set a time of day using the "determine time" generator or set an area using the "generate a room" generator, the probabilities of the encounter table will shift accordingly to suit that time and/or setting.
Additionally, the item generator allows you to "save" the item with a name you have given it, and it will then display a list of the items you saved. It's not a true save though: if you refresh the page, the list will reset. This is why I've called this post "phase 1". We plan on developing further on this functionality as the project continues.

Tuesday, April 30, 2019

Histories Upgraded

As a practice exercise, I translated the Tracery code from the Twisted Histories bot into JavaScript so those of you who aren't on Twitter can experience the madness!