I'm a big fan of the Paranoia 25th Anniversary Edition comedy tabletop RPG, and I regularly act as a game master for that game on Roll20 with my regular play group in-between other tabletop RPG campaigns. However, there wasn't any good character sheet for that game system on Roll20, so I decided to make one myself.
I'm really happy to say that Roll20 has accepted my work as-is and published it, and now anyone with a free Roll20 account can use it for their own games! You may also look at my source code, which was released under the MIT License.
The current version only covers the Troubleshooters core rulebook, but I may add compatibility with the other core rulebooks as well (Internal Security and High Programmers), although not in the foreseeable future.
Indeed, like most software development tasks, my original work estimate turned out to be much, much longer due to various unexpected issues I kept running into. What I thought would be a simple HTML form with a few dice roll buttons embedded into it turned out to be almost a month-long project.
Here are a few points of particular note.
Roll20's technical documentation, while very detailed, is really frustrating to use as the menus don't work properly for some reason, and search engines constantly return links to the community-maintained wiki instead.
I have been told after the fact by one of the major wiki contributors that actually, the wiki is more up-to-date than the official documentation, which copied it. That might be true, but as a developer, I simply cannot rely on the wiki for future compatibility.
Paying to give?
Only users with a Roll20 Pro account can test character sheets. Now I've seen a bunch of scummy pricing tactics in the software industry, but having to pay to contribute free content to a private corporation is a little insulting to say the least.
That also meant that I had a deadline of 1 month from the beginning of code development in order to avoid a subscription renewal, which caused me a lot of needless pressure during a hard period of my life despite the relatively low cost of said subscription.
Dealing with editing errors
Paranoia 25th Anniversary Edition is a great game, but the books suffer from multiple editing errors, and no official errata was ever released as far as I'm aware.
Therefore, before even starting design work, I had to double-check everything in all 3 core rulebooks to find potential contradictions and identify unclear rules. In some cases, I even had to track back rules from Paranoia XP Service Pack 1, the main core rulebook of the previous edition, to figure things out.
Character sheet, or character sheets?
There are 3 official character sheets for this game in total, and all of them suffer from multiple usability issues, both on paper and for a web adaptation. I had to find design solutions to all of them first, as even though I only completed the most important one for this release, I had to consider future compatibility as well.
There already was a character sheet for Paranoia XP on Roll20, which is very similar to the official one from Paranoia 25th Anniversary Edition, but it was unusable as a base due to various bugs and design issues.
Standard web development technologies... almost
id attribute is prohibited on all elements, which causes a lot of headaches.
I also ran into a lot of major CSS compatibility issues that were hard to diagnose and solve. Sure, I could have just set everything to
initial and build my own thing over it, but I didn't want to reinvent the wheel.
UPDATE 2021-02-14: Roll20 has just announced an update that will remove some of the HTML limitations I experienced. That will give me a lot more flexibility for future iterations if I ever attempt to do so in the future.
Roll20's macro system and localization system are very crude, and there's a bunch of important stuff that requires really idiotic workarounds to implement, and some of them aren't behaving correctly anyway.
For example, I had to request two d20 results for some dice roll tests and add them together, even though I only needed one and had to discard the unnecessary addition. Oh, and the whole formula was 350+ characters even though it barely did beyond performing 2 integer additions.
I had to cut some content I wanted to implement in order to be legally compliant with the license for personal use provided by the original rulebooks. I tried contacting the publisher about this, but they didn't really seem to care enough about this particular edition of Paranoia anymore unfortunately.
I also had to cut even more content because Roll20 is not designed to store and send private information beyond whispering chat messages between users.
Test automation was not really an option, as the required investment is simply not worth it.
Overall, I'm very happy with the results despite the unexpected time sink it became, and I hope that other fans of the game will enjoy it!
Post image: © 2009 Chris Quilliams
I'm a big fan of role-playing video games, especially Japanese-style ones, but there's a big restriction these games have: players have limited abilities to create their own stories in them due to programming restrictions. When I discovered tabletop role-playing games, having this restriction lifted…
As I am continuing my personal journey into deep learning research and development, I wanted to try out PyTorch, a machine learning framework with GPU acceleration primarily designed for the Python programming language. However, I couldn't find any good introductory resource online for it. So I read…
For about 2 years, I was not able to install any new software on my PlayStation Vita, for seemingly no reason. I could make new purchases from the PlayStation Store, but the download would always fail, and only on my Vita. No issues whatsoever with my PlayStation 3 nor my PlayStation 4, but for some…
"Everything must be done now. Let's re-use existing proven solutions and build over them so we don't waste time." And thus, people will look at the top 2 or 3 most popular solutions they already know about or can easily find on the Internet, compare them, pick the best one, and maybe add or change…
Go is a popular board game that has been played for thousands of years. However, the rules have not been standardized yet, so while the basic rules are the same worldwide, many rulesets have been developed that are still widely used as of this writing. The current position of the International Go…
See all of my articles