Today we talk with Cody (aka CSwendrowski), to hear about his perspective now that he works directly for Foundry Gaming, and take a sneak peek at the direction the team is going with the upcoming Version 9.
This article is paired with an AMA (Ask Me Anything) at the Foundry Reddit. Questions for Cody? Find the AMA link *HERE*
FHub: We’ll start with the first question on everyone’s minds: What’s it like to work with Atropos and the team?
Cody: It’s a pleasure! There were some initial learning curves of working as a team for sure, but the Foundry team is all very talented, and I am glad I can lean on them for their respective spheres of expertise. If there’s a tough community question, Nath has it handled. If a Content creator needs help, I can punt it to Matt, and so on. Atropos is a talented developer who is always showing me new ways to write and organize the code. Foundry is a huge codebase, and even months in I have only delved into a fraction of the systems. Having his guidance into that deep sea has been great.
FHub: How did you get started with tabletop RPGs? Do you run any games currently?
Cody: My very first TTRPG experience was back towards the end of high school – a friend ran a short-lived campaign of “One Piece D20”. We spent over an hour talking to an NPC about cooking rather than follow any of the plot hooks, which means I got a pretty traditional experience! My class had an Iron Golem companion, which due to bad balancing won the session 2 PCvPCvNPC brawl tournament and earned the Moose-Moose fruit. That companion was the birth of the Iron Moose, a brand that’s stuck with me ever since.
These days I run and stream a campaign in the 13th Age system on behalf of the publisher, an offshoot system from the writers behind D&D 3.5e and 4e. I like the system because it strikes a good balance between having rules to form a story framework and not being so heavy as to be clunky. It actively encourages players to be an active part of the story without taking the reins from the GM. My players are currently trying to defeat (or tame!) a giant living dungeon that strikes at cities to form ever growing inner-dungeon-layers, which has been a lot of fun to find and build maps for. You can check out our stream every Monday at 7pm – 9pm CDT at http://twitch.tv/pelgranepress
FHub: How did you get into programming?
Cody: I started programming when I was 13 years old! I was playing a game called Second Life, which was a sandbox-style game that had its own scripting language based on Lua powering all the user-created objects. Some of these objects had scripts that kindly declared their variables at the top of the file, so young Cody discovered he could adjust some vehicles to have a top speed 100x higher than default. This frequently broke said vehicle, but I was hooked by trying to figure out how to modify things and make them my own. I was lucky enough to have some kind mentors to start me down the track of self-learning, and then was able to take some basic programming classes my Freshman and Sophomore year of high school. I’ve never stopped programming since then.
FHub: You have authored quite a few creations of your own over the years. What module or contribution are you most proud of and why?
Cody: Clearly 1000 Fish! Joke modules aside, NPC Chatter is probably the one I’m most proud of – not due to the complexity (it’s pretty simple), or it’s ease of use (it’s just a library, no UI), but because of what it brings to the table – a new kind of ambience that fits perfectly alongside Foundry’s ambient sounds. Wandering through a marketplace feels so much more alive when you see NPC’s bartering and hear the sound of footsteps and wind. I’ve been pleasantly surprised to see several creators pick up the module and use it in their creations. One day, I hope to be able to plug it into GPT-3 to autogenerate new unique NPC chatter.
FHub: Let’s talk about Version 9. What can you tell us about the direction Foundry development is going and what features are you most excited about?
Cody: The big one, of course, is that we’ve changed how we talk about our releases. No longer do we use 0.8.X – we use Version 9. This was an effort I led, and I am glad Atropos trusted me to steer the change of such a pivotal part of the software. There were several technical benefits that Foundry enjoyed as part of this change, and I think developers will be pleased to find they can now declare their modules compatible with all of Version 9, something they couldn’t do under the old versioning. So far, we’ve seen good benefits from the new clarity the versioning brings as well, and I hope that continues.
Although plenty of people are excited about Card support, I am personally excited about the potential feature of Keybind Management. Foundry has grown a lot, and so have the number of modules. It would be great to have a centralized place to manage what keyboard shortcuts do what.
FHub: Bonus question: Some developers make modules that are lightweight and do just one thing, some make suites that can modify multiple functions in the application. What, in your opinion, makes a module ‘good’, versus ‘not so good’?
Cody: I personally try to keep my modules small and modular – in my experience, it makes them easier to manage, and gives users more control over what they include in their games. There’s a lot of value in “feature pack” modules however – you can gain a lot of cool inter-connectivity that is harder to achieve if the modules are separately distributed.
It’s very subjective to say what modules are “good” or “bad”, but for my table, I prefer modules that are written such that they don’t leak out and impact other modules. Namespace your CSS rules and you’ll keep me happy!
FHub: You also run Iron Moose Development, a prolific module and system design team for Foundry. What’s it like starting and running your own Patreon as a creator for Foundry?
Cody: It’s a lot of fun! When I originally write modules, I write them for me and how my table would use them. Releasing them and putting them out to users always blows me away with how many interesting and varied ways people play TTRPG’s. Incorporating those workflows to help them out is fun and rewarding, although I’ve certainly had less time for that than I did before – all of my creative juice goes into Foundry Core these days, which is helping users at a completely different level! I’m a big fan of Open Source, so when I started down the path of trying to make working on Foundry my job (success, although in a different way than I imagined!), I wanted to come up with a monetization setup I felt good about. I arrived at an “early access” program – Alpha users could get the WIP builds and give feedback as I built a feature. Beta users get 2 weeks of early access to a final build, then the release goes live and free to everyone. Once a project starts wrapping up, the whole thing goes Open Source as well. This resonated well with others, and I now work with Asacolips, who provides PBtA and other projects via the same Patreon to give our Patrons a little more bang for the buck.
FHub: If you could say one thing to the Foundry community, what would it be?
Cody: I enjoy Foundry because I can tailor it for my own personal use. Everyone has their own preferences, and I think that should be encouraged and supported, which is part of why some modules aren’t part of core. Even the most popular module, Dice So Nice, isn’t useful for everyone – some systems don’t use dice! I would encourage everyone to support each other and not get dragged into arguments about the “best” or “right” way to run Foundry or a campaign.