The Future Proof Podcast 022
Gregory Avery-Weir 0:22
Hey, and welcome to the Future Proof Podcast. This is the podcast we do every month where we talk about what we've been doing, stuff we're planning to do. I'm Gregory Avery-Weir.
Melissa Avery-Weir 0:33
And I am Melissa Avery-Weir. One of our big projects is working on the Rosette Diceless supplemental book. So it's a combination of existing supplemental material that's on the website, plus a bunch of new articles we're writing. And it's going to be published in book form, as both ebook and paperback. And so Greg has been working on an interesting article: sort of revamping our XP system?
Gregory Avery-Weir 1:03
Yeah, just kind of giving additional options for for experience points, because something that we noticed, playing in our home game--we've been playing for years now--and we've got characters that have built up a whole lot of experience points because you get a certain amount every game. And there's a certain point in, in the game where your characters kind of built out as much as they need to be. Especially because this isn't--doesn't tend to be a game where you get like astronomically powerful, you just get more versatile. And so there's a certain point where it's like, "I got enough stuff."
Gregory Avery-Weir 1:35
And so this little piece is like, here's a few other options for things you could spend XP on or different ways you could do XP. And so like one of the things that I wrote up is, you could spend it on sort of shared properties, stuff that different characters have as a group. So maybe you're a group that's like a team that's got a base. That's, you've got stuff in your base that you can share and work on. Or maybe you're, you know, members of a trade union, and so there's there's resources of like education or allies or something like that, that you have that you can share among characters. And that way you're kind of building out relationships in a more kind of concrete and crunchy way than just the ties that are already in place.
Melissa Avery-Weir 2:22
Yeah, I think the shared stuff is really interesting. I haven't gotten to play a lot of systems that have this sort of thing. But I know that like, the World of Darkness type systems can have the idea of having crews or bases are like various sorts of shared things. And I really liked that idea, even if I haven't, you know, myself played in a campaign that did that. It seems cool to kind of have this like, you know, "leet" group that you're part of, that's like doing cool stuff.
Gregory Avery-Weir 2:52
Yeah. And it's, it's also kind of influenced by one of one of my favorite, like, weird games that no one's ever heard of called Conspiracy X, that's where you're sort of playing X Files characters, basically. But in that, that game assumes that you've kind of got shared a kind of shared headquarters with with resources that you're managing.
Melissa Avery-Weir 3:11
Gregory Avery-Weir 3:11
And then the, the other approach for things to do with XP, that, that aren't in the base book is to let you get resources with XP. Resources are--can be things like items you have, like, especially good tools or weapons, or they could be like, reputation or, or information on someone. And normally you kind of get those every session. But we're, this this piece has some, some paragraphs that are like, hey, this could be a way to spend XP to get extra stuff or maybe you only get resources through XP and not through normal beans.
Gregory Avery-Weir 3:48
So just, this piece generally gives help for her folks to to twist to the way that the XP thing works in one way or another.
Melissa Avery-Weir 3:57
Gregory Avery-Weir 3:57
Meanwhile, you've been working on kind of a more general advice piece that, that's got a, I guess fewer big new rules and more like, oh, here's something we've learned about how Rosette works.
Melissa Avery-Weir 4:12
Yeah, so we, you know, it's depending on the background of who's running or playing a game of Rosette Diceless, people have different ideas of what a Conflict looks like. For a lot of us, if you come from a D&D background or any sort of, you know, crunchy, sort of combat heavy or combat centered, role playing system, you tend to think of, you know, how, how long is a turn, right?
Melissa Avery-Weir 4:38
Like, is it six second--
Gregory Avery-Weir 4:39
Are you doing something every... Yeah, just real short actions.
Melissa Avery-Weir 4:42
Right, like, "Do I have time to swing a sword? Can I walk 10 feet?" Like if these are kind of the first questions that come to mind, then that tends to be how you design your Conflicts. And so, Rosette Diceless is designed to accommodate both that sort of rapid fire scale of combat or quick negotiation or whatever that looks like, as well as sort of broader scale like, "I'm doing an investigation," and that is the Conflict is finding answers or finding whodunit or whatever. Kind of a broader scale thing where a turn might take an hour, or it might, you know, five minutes or something that's not at sort of fighting scale.
Gregory Avery-Weir 5:24
And you use the the same rules, regardless of the size of the Conflict, like turns progress the exact same way.
Melissa Avery-Weir 5:32
Exactly. And so it's kind of like what is the feel of a Conflict? What are how do you negotiate Goals and Consequences when you're dealing at those two different scales? Because it can be it can be a little tricky. When you're doing an investigation plot, an engaged investigation Conflict, to decide what the Goals are, because the players don't know yet what the Goal--you know, it can be trickier to suss out what that Goal is, or the Consequence and so on. Yes, exploring that idea, proposing some different scales, medium scales. So in addition to like, what about an investigation? What about a, what about a fight? But also like, what about like, a large scale war?
Melissa Avery-Weir 6:14
Right? Like, what if you want to play something that is, like truly zoomed out? Like, is that possible? What does that look like? What does a turn look like? So sort of, sort of exploring those ideas and offering up some suggestions for, for folks to explore.
Gregory Avery-Weir 6:31
Part of the thing that used to there is the fact that like, if a turn takes a day, that doesn't mean that everyone else is doing nothing during that day. It's just when it's a person's turn, it just means that they're in the focus of the game.
Melissa Avery-Weir 6:44
Exactly. I think we talked in the base book about when it's not your turn, quote, unquote, you, you might be called on to kind of help spotlight the player whose turn it is. What does that look like at that larger scale? So yeah, it's should be a fun piece. It's, it's hard to keep it short, because there are a lot of different ways that you can love different scales and examples to run at. So it's a good piece. I think it's, it's hopefully going to be useful advice.
Gregory Avery-Weir 7:10
Melissa Avery-Weir 7:10
So on a more technical level, we've been working on a bug that has been sort of plaguing us for a handful of years on Exploit: Zero Day, I think.
Gregory Avery-Weir 7:23
Yeah, for a long, long time. So Exploit: Zero Day is a web based game. So, so all the the systems you're hacking, and the, the puzzles you're solving, and the people you're talking to: you're doing so on just a website. And that's actually, we've actually kind of got two account systems there. We've got the main Zero Day account system, then the forums are integrated into it because they have things like avatars and, and ways to communicate between players.
Gregory Avery-Weir 7:51
And for a long time, we had an issue where because we were letting Discourse our forum system handle avatars you would get a mismatch between your handle in EZD (in the game itself) and your username on Discourse. And so when the Exploit: Zero Day web page would put up an avatar, it would go, "Hey, Discourse, what's the avatar for this handle?" And if those two things are mismatched, then that avatar wouldn't load, which is fine. Like, okay, there's a missing image. Like, that's not a big deal.
Gregory Avery-Weir 8:25
But every time that happened, we would get a notification error tracking system that's like, "Hey, an image failed to load that was loaded in asynchronously." And and that's just been a thing that we've constantly been putting off. Like, we can just ignore this. But at some point, it's like, no, if you're ignoring something every time you should just fix it so that it's not not distracting you any longer.
Gregory Avery-Weir 8:47
And so I added another little bit of integration where every time you change your handle on Exploit: Zero Day, it will contact Discourse and say, "Hey, update the Discourse handle." And so that's, that should be out soon, I need to do some cleanup on accounts that we know are mismatched and fix them. And then we'll be ready to put that out.
Melissa Avery-Weir 9:10
So to put this kind of in, in perspective, like, just thinking about, like the life of a developer, and just like how stuff goes, every Sunday morning at 9am, Greg and I get on a call. And the first thing we do is we look through our error logs, our error system, and we go through all of our sites, all of our games, and say, like, what new stuff has come in in the last week? And do we, like, how can we research these and fix these? I think this error, this issue has been in place since at least 2016. Probably earlier, probably since we had a forum, right?
Gregory Avery-Weir 9:46
Melissa Avery-Weir 9:47
And every single Sunday morning, we have to look at that issue, see if anything weird has happened. That like is outside of what we have been looking at for the last five years. And then go, "Nope, still the same. We'll get to it eventually." Every week. And so it's fine, right? Like, it's not a breaking issue, but from like a process standpoint, and just like... Why do we keep looking at this when we can fix it?
Gregory Avery-Weir 10:14
Yeah, we actually save time.
Melissa Avery-Weir 10:16
Yes, we save time. And so, you know, it was legitimately not a priority. And then we decided to just go ahead and fix it. So I'm glad it's gonna get gone. We have another one that we'll talk about next time, probably, that it's been lingering for about as long that is gonna get fixed. It's just these literally just these two issues every single week. So that's cool.
Gregory Avery-Weir 10:38
So, so that's a kind of a minor, small little level of effort, but turns out to be worth it. But there are sometimes there are upgrades that are much bigger deals that have the chance of... They take a lot of work and have the chance of breaking more things.
Melissa Avery-Weir 10:54
Yeah, we have, you know, Exploit: Zero Day as a web game, as, as Greg said, so it runs on web technology 100%. And it runs on a framework called Django, like "Django: Unchained" the movie, but not at all like "Django: Unchained" the movie. It's, it's a web framework for Python. And it has upgrades, it goes through versions, just like any piece of software. And we do our best to keep up with the smaller upgrades of that, because they don't tend to be too risky. But when it gets to the bigger upgrades, then you're looking at like, some serious hours, and it's easy for that to fall out of our sort of maintenance cycle.
Melissa Avery-Weir 11:34
So every month, we look at our apps and our servers and stuff and we say, you know, what maintenance needs to be done? What little things need to be upgraded? Security patches, stuff like this. And the bigger those upgrades get, the more they tend to be kind of separated off, we'll be like, well, this is going to take too much time. So we'll make a separate task for it. And then we'll come back to it when we have time and want to allocate to it.
Melissa Avery-Weir 11:56
So this is a tough one. This is one that has sat for a little while, and so we finally, finally I said, well, let's, let's at least do it for Exploit: Zero Day. Like, I feel like if you have a game about hacking, you can only let it get so far behind. Just like philosophically, as well as for everyone's safety.
Melissa Avery-Weir 12:14
So this is an upgrade from Django, 1.10 or 11, whatever the latest version of Django 1 is, to Django 3.0, which is pretty big. I'm having to work through a fair amount of code, fair amount of database changes, etc. And it's one of those things where like we have, we have a lot of code tests, we have a lot of automated tests that I can run to say, "does this basic system work?" And that is a lifesaver, like that has made the whole thing possible. If we didn't have those, and we were doing this major upgrade, it would easily double the amount of time because I wouldn't know if stuff worked at all. And then we'd have to manually test it over and over and over again.
Melissa Avery-Weir 12:56
And so I think this is an interesting contrast on when we opened up Majesty of Colors, which is in Unity. And we were like, we're gonna do some new features to it. Do we upgrade from the 2018 Unity to whatever numbering system they're on right now?
Melissa Avery-Weir 13:14
And the answer is no. These are absolutely not. There's no way unless something is fundamentally broken that can only be fixed by upgrading. And you must have it. No way do you upgrade.
Gregory Avery-Weir 13:26
We, we don't have real good automated testing capabilities in Unity just because of how it's a real-time simulation. Unity itself is kind of notorious for being unreliable when it upgrades. Sometimes upgrades just break stuff for a while.
Melissa Avery-Weir 13:42
Gregory Avery-Weir 13:43
And yeah, just not, not, not worth it like it is in, in Django.
Melissa Avery-Weir 13:47
Yeah. So I have a colleague at my day job who is a game developer, who was like, "You know, I did an upgrade from 2018 to probably one of the 2019 versions, and like, all my UI stuff broke!" All the like, text, like the UI layer stuff, that whole system changed, or he was, he was maybe using some third party plugin and all of its stuff changed. Like, something fundamental. It's one of those things that's like, is the horror story, the horror story that everyone tells about upgrading from version x to version y.
Melissa Avery-Weir 14:18
And so, you know, everything has that, right? And so you do have to, like, do your own research and determine if you would actually be impacted by it. But it is definitely a strategic decision. And it's very tempting to assume you should upgrade.
Gregory Avery-Weir 14:33
Melissa Avery-Weir 14:33
Because that's kind of... I mean, it's not the wrong thing to do. In the sense of like, there are probably security enhancements. It probably gets you like--we definitely would have had a better time doing iOS development, if we had upgraded. There are specific flags I was going in and manually changing because we were on an older version of Unity. But how much time was that worth?
Gregory Avery-Weir 14:56
Melissa Avery-Weir 14:56
So it's definitely a strategic thing. And I think--I have no easy answers. But I do think it makes for an interesting, an interesting point to raise on how web development--at least for me--feels a little easier in that regard, because I have a better sense of the scale of problems I might run into.
Gregory Avery-Weir 15:13
Yeah. So you can look forward to seeing some of those changes going out soon within the next couple few weeks.
Melissa Avery-Weir 15:21
Gregory Avery-Weir 15:21
And you can find all the stuff that we're doing at futureproofgames.com. If you want to follow us on Twitter, you can do so at @playfutureproof. On YouTube, we are Future Proof Games. And we just put out a, one of our newsletters for the company. If you want info in newsletter form or just pictures of Melissa's cats, you can join that at futureproofgames.com/newsletter. And if you are a member of our Exploit: Zero Day newsletter, we didn't automatically transfer folks over. So if you want news updates on EZD, or any of other other stuff, you're going to have to sign up again.
Gregory Avery-Weir 16:02
And then you can always hit us up with questions or comments on our blog or on social media. Our theme music is "Juparo" by Broke for Free, which is used with permission
Transcribed by https://otter.ai