Roll20 Blog

Behind the Scenes of the Charactermancer

Written by The Roll20 Team | Jan 25, 2019 8:00:00 AM

When we launched the Charactermancer in June of last year, we were looking to help players quickly get a character formed and charge into their games. With the recent “Charactermancer Levels Up” update, we’ve started in on leveling functionality for the tool. But there’s so much capability possible with the Charactermancer– not only different game systems beyond what we’ve offered thus far, but even more creative uses for this powerful information arrangement piece. We sat down with the core designer of the Charactermancer project, “Winget,” to talk about how we got to where we are and what’s in store for the future.

Roll20: How did the Charactermancer tool become your project to head up?

Winget: Steve (our lead developer) was moving into more of a leadership role for the whole development team and as such doing less code writing, and this project had been on his plate for a little while. He’d laid the basic groundwork for it. But it was really incomplete– just barely gotten started on. A few of the functions were in place, but I actually kinda ended up going back almost to the drawing board. After doing a decomposition on the whole project, I realized how much of the structure would have to change.

Hit the jump to keep reading...

Roll20: Even to that point the production team in particular had given a lot of input to figure out the scope... What specifically made you realize you’d have to look even wider?

Winget: Initially it was designed to be a very straightforward set of steps; “from this slide you go to this slide,” and so on. There wasn’t much wiggle room to be dynamic. And I started to think about, “Well, what if you had a class that doesn’t have spells? Are you going to have to walk through a spell slide every time?” Doing something different, like editing an item– which is something we’re planning on doing with the Charactermancer as an example... I started to think that things like that having predetermined steps was going to be too rigid, and we needed to be more dynamic.

_Winget (left) hanging out with his dog, Frank (right). _

Roll20: From the initial launch of the Charactermancer until now, what do you feel particularly good about in the first two versions of this?

Winget: I like a lot of the new features that got added after the level 1. By the time we had written all of the steps for the first version, we got a much better understanding about what the next steps were. New things like repeating sections... we originally had thought we’d be able to do without, but now I think that’s a really good and powerful feature. Features like that have made the Charactermancer more exciting for other programmers.

Roll20: That transitions nicely to talking about what Roll20 community programmers are going to be able to do with the Charactermancer... what are you excited for in those gates opening?

Winget: I’m really interested to see what other people do with the Charactermancer. The original concept was just to make a character-builder, but you could use it for a lot of things, particularly when you need to present a player with a series of choices... which is not something the original character sheet does well. And now something like version upgrades, where previously you had to handle it automatically, but now you have the ability to ask the user questions about the changes you’re making. This could make upgrading sheet versions more interesting and potentially a better experience for the end user.

I’m waiting for someone to make an item shop with the charactermancer... which is something I’d love to do, but I haven’t had the time to think it all the way through myself. But I know someone else will end up trying something like that.

The Charactermancer gives before-and-after leveling with the recent update.

Roll20: When designing the Charactermancer, how do you go about taking chunks of text rules and forming them into something more computational?

Winget: You’re thinking about the rules like, “oh yeah, it works this way here, here, and here so it must always work this way.” And then OH NO here’s an exception and it’s a really big exception that makes this whole thing way more complicated. You end up going down a trail and then there’s a feature that’s going to be not supported or a new expansion... It’s definitely a trial-and-error process.

Roll20: Thus far much of the focus been on 5E D&D. What’s the future for other game systems?

Winget: Pathfinder character creation, not leveling, is already released and was actually a central thing I thought while designing the Charactermancer. Making a character for Pathfinder is such a process. To do more of that automatically, to be able to take a little bit of that off the user’s plate... I think doing that for any system that’s numbers heavy can benefit a lot.

Roll20: We’re currently discussing updates for the Charactermancer later in the year... any teases for the future of the tool?

Winget: The first step is to go back and start supporting some of the more complicated features that we don’t yet support. Right now I’m doing the background work to remove and replace “class features.” One of the things that’s been really difficult is stuff like warlock eldritch invocations, which you’re supposed to be able to replace every time you level up. A bunch of things like that to match rules more closely.

Look forward to this being a useful tool outside of character-creation. Being able to make a sword, and then adding properties to them. Utility-type things. Being able to convert your player character into an NPC or maybe even vice-versa. But those are things that are way down the pipeline.