XaiJu
kakaroto
kakaroto

patreon


State of the KaKaRoTo 2020

Hello all Patrons and Patronesses!

This is my first "State of the KaKaRoTo" type post, and I think I'll start doing one every year, as a way to catch you all up on the year that just went by and the plans for the year to come. It is inspired by Brandon Sanderson's own similar yearly post, and I think that's a format that would work well for me considering my numerous projects and the way I like to write.

Be prepared that this will be a long post, so if you don't care to read all of it, I think just the TL;DR version below will be enough along with the conclusion at the end. If you'd like to know how 2020 was for me, then there's a detailed breakdown of everything that happened and my journey through the year, otherwise, if you just want to know what I have planned for 2021, then there's also a breakdown per project of what my current plans are.

A TL;DR please?

Let's get the summary out of the way first, then I can talk about life, the universe and everything.

The past year has been an incredible year, and for many reasons, it was incredibly bad as well as incredibly good. Other than the COVID situation obviously, it was a special year for me because I actually started a business and became an entrepreneur, but it's also required a huge amount of work, which has taken its toll. I've always created projects and worked hard on them (though not for such an extended period of time), but for the first time, I had actually decided to start a business out of one of my projects, and the result was The Forge. With it, came a ton of stress and responsibility, but thankfully, it also saved me from bankruptcy and I'm happy to say that it's working out quite well for me right now. To be fair, what actually saved my hide was Patreon itself, as my revenue from it skyrocketed with the pandemic as more people turned to playing online, discovered Beyond20 or Foundry and decided to support me. I cannot emphasize how grateful I am to all of you, who have truly been my salvation and a bright light in a very dark time of my life.

Unfortunately, my ADHD translates to my projects too and I kept jumping from one project to another ("oh, cool new idea, I'll do that too") and I eventually ended up with quite a large collection of projects, and I'm having a ton of difficulty juggling them all.

I've been in denial for a while, and I made a decision a few weeks ago but didn't really dare say it out loud because it would make it real... but it's time to face the truth: I simply cannot keep maintaining all of my projects.

The decision that I've come to is that I will officially abandon all of my Foundry VTT modules, in order to better concentrate on my other higher priority projects. This doesn't mean that these modules will die (some might), but rather, they are open to be taken over by someone else who might have the time and the motivation to maintain them long term.

Spreading myself thin and lack of time is one reason, but my lack of motivation is another major reason for abandoning all these projects. As I unfortunately don't have a gaming group anymore (again, caused by lack of time), I'm not an active user of my own modules, so I can't find the motivation to work on them. The little time I have free and that I can dedicate to module work ended up in the last few months being entirely spent fixing the modules after a Foundry update broke the API. Handling the user's support, unbreaking modules, handling incompatibility with other modules, bug fixing and adding support for weird/special case features that people have asked for and that I don't care about, has become unfortunately a chore, and a big factor of stress in my life, and all for modules that I don't even personally use anymore and that I don't have time to handle. That's the reason why I'm abandoning my modules.

At the same time, I have been working on another secret project which I actually find quite exciting and which I'm announcing here today : Integration between The Forge and D&D Beyond!

You all know how much I love the D&D Beyond platform and this is something I've always wanted to do, but I only started this project back in August. I've been trying to go through official channels to get this approved by D&D Beyond as an official partnership, which is why it's taken so long. I still don't have official written confirmation and I don't know if I will get it, but I have received enough input from them to make this announcement and start working a bit more on this project. The plan for now is that once I work out some backend issues I'm trying to solve with the integration, I'll have a closed beta for my Patrons before making it public. For more information on how it would work, check out the video above and read the related section below.

So what will I focus all my efforts on this year? Well, I still have a lot of projects and a ton of things to do for each, but here are my 2021 priorities :

With such a short list, I can actually find a way to manage it without burning out (I hope). Of course, you notice that my 12 Foundry modules aren't listed, and I've also dropped R20Converter from that list. I'm not actually abandoning R20Converter though, it's still one of my projects and I'll keep maintaining it, but I just don't consider it as a priority anymore, especially considering its stability and low maintenance needs (I know there's a couple of fixes needed with the recent dnd5e system update which broke movement speeds for example, and I will get to that eventually).

So 2021 will be focused on having a saner quality of life, giving plenty of love to Beyond20 and keep improving The Forge, with the addition of a new marketplace in the Bazaar and the integration with D&D Beyond coming soon.

You call that a TL;DR?

Brevity is the soul of wit... and I'm both soulless and witless! Yeah, I'm not good at being concise, deal with it! :P

Seriously though, the TL;DR of the TL;DR is basically : Thank you everyone who have supported me and trusted me over the past year, I'm unfortunately dropping support for all my Foundry modules, I'll concentrate all my efforts on The Forge and Beyond20, as well as my own health, and I have a new exciting D&D Beyond integration project that is coming to The Forge but which will be open to my patrons as an early beta while I work out the implementation. I'll announce the availability of that beta most likely next month.

A year in review

As noted above, this has been a pretty crazy year for me, and I want to do a review of it, see how things evolved throughout the year before I talk about my future plans. Overall, it's a year that started rather badly for me, and then I was in a sort of trance trying to get The Forge off the ground. I spent a lot of effort into making that project a reality and a success and then juggling it with my other projects, until I found myself forced to take a break at the end of the year because the burnout had finally caught up to me. That's basically all you need to know, but if you care about the details and me chatting about how my life was spent in the last 12 months, I've outlined it below, otherwise skip to the plans for the coming year.

January:

At the start of the year, I was in a 'sabbatical' state, as I had stopped working about 9 months before because I felt I was nearing another burnout with work and I needed to take the time off. I was also starting to think a bit about my future, whether I wanted to keep working as a software developer or find something else for me to do. I was always going to be writing code, but as a hobby rather than as a career maybe. I had been working on my novel as a hobby for nearly a year at that point, and I was really enjoying writing and I thought "maybe, I can just keep writing stories for the rest of my life" (but I wasn't deluding myself, thinking that I could make a living out of that, I think that I'm an ok writer, and I'd been learning a lot during the year, so I knew how not-good I was, but I'm no professional writer). I had however been stuck on my novel for a little while and I decided to try something new, so I participated in a contest about Climate Change, and wrote a short story (which won 8th place), which I finally released last month (for those who read it, I hope you enjoyed it!). Writing short stories was really cool because it's easier to plan the entire arc and write it and spend time polishing it without getting bogged down by the scope of an entire novel. I had also written another one about Artificial Intelligence which was pretty cool, but before I could polish it, I had moved on to something else (The Forge). That second short story was in the top 8 as well of another contest (judged by editors from the space and time magazine), even though it was still a draft, and I wish I had had the time to polish it too, but that was right around the time I became too busy to spend time revising it. If anyone remembers the novelette I released in 2019 called Kill The Human, the AI story was basically the same story condensed into 2500 words. The most interesting aspect of it was that I tried to do a writing exercise in which the entire text was 100% dialogue, with no narration, no action beats or dialogue tags and I think that worked out quite well. I assume I'll have time this year to revisit that and will publish it as well once it's ready.

At the same time that month, I released a bunch of updates to my modules as well as R20Converter, but I had also worked on improving Compendium support in Foundry by adding recursive imports and exports of linked entities and folder organization, and it got pretty close to completion but that project was never released. Unfortunately, towards the end of January, I realized I had miscalculated the savings I had and how much I needed to pay in bills and mortgage, etc.. and found myself in actual financial trouble and panic had started to set in. Patreon was providing me with about 300$/month at the time I believe, which wasn't enough to survive on, and I needed to find a solution to my problem and fast.

February:

Strahd is dead!!!! I had my last D&D session with my group, who had finally reached Strahd and defeated him! The two year long campaign was done and it was a blast, though I feel like the end was a little anticlimactic as one of the players had to leave the group, and so we rushed things a bit in order to conclude the campaign within the 4 hours we had. It was still a lot of fun and while I wish I was able to make Strahd more of a challenge for them and stretch that final battle longer, we all enjoyed the game. With my campaign finished, that freed up a lot of my time as well, which was usually spent prepping for the game, so I started working on the Forge full time.

The Forge at the time had already been a project that I started doing. I had actually started it back in September, but I did a proof of concept, had some talks with Atropos about it, and then it was put on ice for a bit while I worked on other stuff. Early February I realized that the project which I thought I'd have enough time to do and finish before Foundry's release was actually much bigger than I estimated, and I would never get it done on time, so I threw myself at it fully.    It was very important to me to be ready before Foundry's official release (which had been announced for May 22nd) because I wanted people reviewing Foundry to not be able to say "the complexity of setting it up yourself can be a problem and some people will just not be able to use this software". My original purpose in starting the project was "make using Foundry easier for everybody, and take down any barriers that would prevent someone from switching to it"; I wanted every single TTRPG gamer to see the light and be able to enjoy and use this VTT. I even planned for it to have a free tier as its main offering but eventually I realized that it wasn't a viable business model, at least, not one that I could afford, and with my own lack of funds, that shifted my focus a bit into making it a profitable business so I would have some financial security and wouldn't have to suffer another crisis.

My own rather bad mental distress (I'll spare you the details) and financial panic at the time is probably what made it work, because in less than two weeks, I moved The Forge from the proof of concept I had to a functional service and was ready to open The Forge for its first closed beta here    (I believe I started on February 8th and I opened the beta on February 18th).

When I said that I threw myself at it fully, I mean it. To achieve what I did, I was working non stop, from waking until I slept, fueled by pure adrenaline, doing 18 hours or 19 hours nearly every day, I lost about 10Kg (20 lbs) within that month, but I got the site to a usable state, ready to take on new users.

Back then, as the panic started to slowly creep in, I was in the middle of a Beyond20 update, so I first had to find the time to finalize the Beyond20 release that I had been working on and so Beyond20 v0.9 was released on February 14th. Getting that release out had helped me get rid of that nagging feeling of 'having left something on the stove', so I could put Beyond20 out of my mind and concentrate fully on The Forge.

March:

In March, I released another Beyond20 update, the v1.0 release which added the quite popular Discord integration feature. I remember thinking that it wasn't something that would be useful, but someone had asked for the feature and I found a way to do it so I thought I'd give it a try. The response to that was quite unexpected, because people loved it and it became a much used feature. At the same time, The Forge was officially announced by Atropos and went into public beta! It didn't change the payment model which was "free for patrons at the $5 tier", since I didn't have a system for processing payment yet, but the existence of the project wasn't a secret anymore, and I was ready to take on more users.

The problem is that as the public beta opened, I was receiving a lot of feedback and seeing a lot of problems that I had to deal with and fix, and as the service grew, the issues grew as well because handling 10 users at the same time is not the same as handling 100 users. I kept thinking "as soon as I release, I can rest", so I forced myself to keep going at the same rate. I was still doing 18-19 hours, though it wasn't every day, but most days it was about 16 hours of pure intensive work, because I didn't know if I could be ready for release by May 22nd which was Foundry's own public release date.

The month of March was also when the pandemic had really started to set in and a lot of people turned to playing their games online. It was the month where my patrons had suddenly doubled, and I had finally breached that $1000/month revenue from Patreon which was definitely a huge help. So far, I hadn't realized it was due to the pandemic, because I didn't know that many other D&D related creators were also seeing a similar increase, so I thought that all the new pledges were from people who wanted to use/try out The Forge.

April-May:

In April, a few things happened: I released Trigger Happy, as well as Beyond20 v1.1 as well as updates to Furnace, Trigger Happy and Polyglot, and I started streaming my dev sessions for Beyond20. With the amount of new Forge users I was getting, I realized that my original design was not scaling correctly, but I was also having problems with my server provider, so I redesigned some things and moved the servers from one datacenter to another.

I had also started forcing myself to do a bit of work on Beyond20 every day or every few days as a way to mentally rest, and that had seemed to work rather well actually, but I couldn't keep it up for long. I usually have a very hard time switching between multiple projects, so I will usually concentrate on one, until I'm done/satisfied, then move to the next project, I can't really juggle them all without it taking a lot of effort and mental energy.

May was pretty hectic, as The Foundry release date was set to May 22nd. I remember having a lot of doubts about whether or not I would release The Forge at the same time as Foundry. I considered keeping The Forge as a public beta until I was finished with all the features I wanted (the Game Manager was the one closest to my heart), but I realized and was convinced by others that it made more sense to make my release at the same time, because The Forge was usable and was working. Yes, it had some missing features, but it was stable, and labeling it as 'beta' would give off the wrong impression that it wasn't actually usable. So I worked on adding the payment processing system. I wanted to have some very flexible plans, but it got so complicated that I had to cut it all down and make a simplified system, and I was ready to accept payments   and label The Forge as officially released  on May 21st, just in time for the Foundry release on the 22nd.

It didn't have everything that I wanted but it was stable and good enough that I could ask people to pay for the service without feeling like I was cheating them, so I was able to release it. Yes, I'm done! Now I can finally rest!

June-August:

At that point, I was in a better mental state, I was able to pay my bills, and that was due to my Patreon blowing up. But the stress and the amount of work actually didn't decrease that much.

After the release, it was time for me to catch up on Beyond20 which had to be put on pause while I worked on the Forge release, and one decision that was made was that I needed to change the way it was written from python to javascript because the longer I waited, the more complicated it would be, and the choice of language was hindering development and started causing more problems than it was solving. The python to javascript conversion took a long time (and was boring) but once it was done, Beyond20 was in a much better state, and that allowed me to start working on some more new cool features, such as adding support for the digital dice, and it was an increase in the number of contributions as well. On June 2nd, I released Beyond20 v2.0, our biggest release yet, and a few days later, I released v2.1 and v2.1.1 because of course, it was so massive that it was bound to have bugs that we missed in testing :)

Another important milestone in June is that I spent two hours doing rituals and got two new familiars. Their stats are rather low, and do they consume a lot of materials but they are amazing in battle. Have a look : https://streamable.com/pmjw89

Anyway, in July I attempted to get help to prevent burning out, up until then, I was still doing an average of 16 hours of work per day, 7 days a week, mostly getting everything into a good working state and answering everyone's issues. A lot of that time though wasn't spent coding like in the beginning, as my Discord servers had become quite active and simply catching up to everything was taking hours of my time every day. I think I probably have some form of OCD, because it was impossible for me not to read every single message and answer everyone. Thankfully, I had some people there to help me, so a big shout out to Aeristoka, Alarich, Kevin and Nick for not only being early adopters and helping shape and improve The Forge from its early stages but also taking care of a lot of the tech support and the time consuming job of moderating and helping out in the community (Aeristoka has also been a major help in both Beyond20 Discord support as well as adding features to Beyond20).

I was feeling guilty for not giving enough attention to my Foundry modules, and so I did one big push where I updated all of them at once, making them work correctly on 0.6.x and I started lowering the number of hours I was working every day. I also remember posting about it on Patreon, basically asking people to not be disappointed in me if I'm not actively maintaining my modules, and that was so I could stop feeling pulled down by the guilt of basically, what I considered "not doing enough" (at least, not for my Patrons, which I considered as independent of my Forge customers).

I was trying to work less because my productivity had started to go down and I was worried I would burnout (remember that in January, I was on a sabbatical, still resting from a previous burnout), that meant that I lowered my workload to about 12 hours a day, and I also decided to start taking my weekends off. I still woke up every morning with my heart clenched and stressing about whether or not anything happened during the time I was asleep, and so I'd wake up and rush to the PC and check all my messages. I remember that first weekend of July, I had worked 4 hours on Saturday and 5 hours on Sunday, but it was mostly just Discord and server maintenance but I didn't write any code, and I was so happy that "I didn't work this weekend", until my wife reminded me that I basically did 11 hours during the weekend and it doesn't count as "not working". It's funny to think about that now.

I also hired Zlatan in July (zgrimshell on Discord) who helped with the social media parts for The Forge and getting the word out about the service. I would be sad any time I saw a user of Foundry struggle to make it work and they just can't configure their network and they actually don't know that The Forge exists as a solution to them. There were too many "oh my God, why didn't I know this existed before!" so getting people on board before they wasted a lot of their time was the goal and I think Zlatan did a great job of that. Hiring him was a whole other experience though, as I had to learn how to "be a boss". I don't really know if I learned that, but I definitely learned stuff about myself, and about how hard it is for me to let go of my control (remember the need to read and reply to every discord message, even when the person already received a response from someone else). So there was a lot of effort from my side to try and not micromanage the team, as well as try to concentrate on the code rather than on the support, and to better organize things because running around like a headless chicken doesn't work very well long term, so I had to slow the pace down and manage things in a more organized way.

In August, I finally pushed a new update to R20Converter which had an entirely new User Interface! I knew for a while that I wanted to change the R20Converter UI, but I never thought I'd know how to do it, but as I was discovering Vue and learning to design The Forge's site using Bootstrap as well, I realized that I just needed the right tools in order to create a usable and beautiful UI, so I spent my time learning Vue by designing the new UI for R20Converter. I also finally got a build for Mac users, so it was all just easier to use!

At that time, I had also been in discussions with the D&D Beyond team with regards to their upcoming features and how it would affect Beyond20, and during one call, I proposed doing an integration with The Forge, which was received positively, so I started working on my Forge<->D&D Beyond integration proof of concept which I've submitted to them for review.

September-November:

In September, Kevin joined the team as well, and that had helped me let go a little bit more of the discord support server, because there's a difference mentally for me between "someone will probably answer the user" versus "I have someone who is assigned the task of answering the user", so with someone on the payroll who isn't volunteering and whose job is to answer support questions, that helped me let go a little of that pressure.

I did another R20Converter update, and a Popout update and even a blog post I wrote about hacking the Intel ME firmware to hijack the USB controller, then in October I did another massive Beyond20 update as well as updates to a few modules. I've also released two new modules, which were basically code that I used for The Forge, which I thought would be useful to the larger community so I extracted it and made it into modules. The two modules (Dlopen and VuePort) were only library modules, so they weren't immediately useful to users, but I know a couple of developers working on their own modules which would depend on them :)

October 7th, there was a major service disruption on The Forge. I woke up to find out that the service had been down for about 7 hours. That was my worst nightmare coming true, and it hit me pretty hard. After fixing everything, and figuring out what happened, and then reading everyone's reactions to it on the Discord server and on our forums, it finally hit me : I had set unrealistic expectations for myself and I forgot just how amazing this community is. In all of the messages received, and all the people reporting the service was down, I hadn't seen a single angry user, everyone was understanding and accepting of the situation, and I still remember receiving an email from someone basically saying "hey, I was affected by the disruption, I don't want a credit for it, but I just want to tell you that we love you anyway". That "near worst case scenario" event (well, data loss would be a worst case scenario) helped me immensely as it lowered my stress levels considerably. I realized that I had been so stressed, constantly, all the time, I would wake up and jump on my phone every morning while still in bed, trying to see if anything urgent required my attention, or if there was any issue, before my eyes could even focus on the text. I am human, while I can strive for perfection, I have to accept that perfection is unattainable, and there will be issues, and there will be unsatisfied users, and that's ok, as long as I do my best, I don't need to kill myself on the task, because even if things go badly, people are understanding and they don't expect me to be super-human. That helped me refocus and lowered my stress, and as funny as it sounds, after the service disruption, I was more relaxed somehow. I didn't decrease the amount of work I was still putting into this, but I was able to enjoy my weekends a bit more, lower it slowly to 2h of work on weekends mostly.

With the adrenaline that was keeping me coding, and also the sheer size of the Forge user base which required so much of my attention, I felt like my productivity went down a little, but I was ok with that, because I had finally accomplished something that was very important to me: By the end of November, I had added the Bazaar UI as well as the Game Manager and User Manager features to The Forge.

Those were the very first ideas I had and around which I designed The Forge and I wanted to have them in my very first release, back when it was still a closed beta, but other more urgent things also kept taking precedence, but I was very happy to have finally implemented those, and I'm very proud of the result.

By that time, I had also finally received a D&D Beyond confirmation that The Forge integration was something that would be great and I received a verbal OK to proceed, so I could spend more time on it without the risk of all that effort being wasted. So my target for December was to do and release that D&D Beyond integration along with the Bazaar marketplace.

December:

December was actually a pretty hard month for me. I started it with "I need to add the marketplace to the Bazaar since I promised some creators they could soon sell their content there, and I need to do the D&D Beyond integration and I need to finish revamping my infrastructure to more easily scale up" so I went into it with a mindset of "this month, I'm going to be working intensively, just like those first few months at the start of the year".. I released yet another Beyond20 update, then I made some progress on the D&D Beyond converter, and then... nothing. I had spent an entire week making zero progress, and only realized the state that I was in when I noticed it was Sunday, and I had thought I was going to be done with a specific task "by Sunday" (of the previous week). I realized then that my planned "intensive adrenaline fueled extreme coding month" had started with me spending an entire week staring blankly at the screen and not having written a single line of code. Realizing that, a few alarm bells rang in my mind and I understood that my body was telling me "you're done". So I stopped. I forced myself to stop. It wasn't easy.

Any time I was spending away from the PC felt wrong, like I was doing something illegal. I didn't know how to watch a movie, I didn't know how to watch a tv show, I didn't know how to just sit down with my wife and have a chat, because I had spent nearly every waking hour for the past 11 months glued in front of a screen, so any time that I wasn't in front of my PC, felt wrong. I remember once looking at my hand and wondering what was wrong with it, and I realized it was that it felt unnatural for it not to be holding a mouse. That almost seems comical, but that was actually quite scary.

Somehow my "only work 12 hours per day" still ended up with me waking up, working, then going to bed.. so I'm not sure how I was calculating those 12 hours, but I was still working all the time. I think probably because after I was done working on The Forge, I would work on my other projects, or just spend the day chatting on Discord with users, or on The League of Extraordinary Foundry Developer's Discord.

So I forced myself to stop completely, forced myself to catch up on my tv shows, and do other activities rather than work, but mostly, I forced myself to stop thinking about me "doing something wrong" by not being on the PC and available. I forced myself to not read up all the discord messages, deciding to trust in my moderator's team (welcome Oshy to the team by the way!) to handle everything for me and ping me if I'm needed. I had also started stressing because all those features that I felt had to be done by the end of the month, I knew that there was no way to finish them, so I started re-evaluating: why does it need to be done by the end of December, what happens if it's not, etc... And I realized that it was all deadlines that I had somehow set upon myself and thought that they were written in stone, when in reality they were pretty much random, and also, quite unrealistic.

By the way, joining The League as one of their Ring Masters (thanks for having me!) was really great. I know that it added a lot of work to my plate, but it gave me ten times more in helping me stay grounded and keeping my sanity in check. Participating in the League's initiatives made me remember that, besides being "CEO of The Forge", I was also "KaKaRoTo, the Foundry developer" and a part of the community, so I spent more and more time hanging out with the group and chatting and helping out and receiving help in return as well. Big props to Cody, Zeel,   Calego,  JDW,  and all the others for the work they're doing there, and for all the help in brainstorming ideas with me, and improving the Bazaar's public API (which is being used by some people outside The Forge as well now).

Throughout the year, there was also a lot of stress with regards to Patreon because I always feel like the fact that people pledge monthly, it means that I need to provide new content every month or I'm disappointing you (I believe I touched on this subject in the past). I don't remember which article I had read, but I found something that basically just says that the people pledging on Patreon will usually simply want to support the creator. It doesn't matter if they produce content consistently, it doesn't matter if the content is free or paid, or if they get early access, etc.. it's all just generous people who like what someone does and who want to show them their support. I know this isn't everybody, but that's the majority of users and that's the "spirit" of Patreon and what makes those patrons stay subbed for extended periods of time. That helped take down that wall of guilt I kept feeling any time I opened my patreon page and saw that "oh my god, I still haven't posted any new update this month".

On December 20th (D20 Day), The League had the D20 Hackathon event, in which I participated. I don't think I was quite ready to code for any extended period of time, but I made the effort for the event, and worked on Beyond20, bringing native rolls support to Foundry. I never finished that feature (got about halfway there, I should make some time to finish it sometime soon though) but I had a lot of fun and I think that this is what I want to do for the future, basically just hackathons (more or less). So while I said I'm abandoning all my modules, and that's true, I don't think that I'm completely done with module development. I'd be interested probably in doing the whole "oh, I have an idea, I'll implement it, then release and leave the module to be maintained by someone else" so I don't have to deal with the support, bug fixing or adding new features that may not be as interesting to me as the initial challenge of implementing the cool idea I had. Those things I listed are the boring part of a project, so there's also no guarantee anyone would actually want to take over a project, but we'll see what happens there.

The year to come

So that was it for my year. If you've read through that, then you can guess why I said it was an incredible year, and you can also understand why I said I want to prioritize my health for this year, and why I had to make the decision to drop support for my modules.

The projects that I still have a lot of passion for are The Forge and Beyond20, so that's what I want to concentrate all my efforts on for this year and I hope that makes the majority of you happy. If you're not actually interested in that and wanted to support me for the FVTT modules, then that's fine if you stop pledging to me, I understand. I wanted to do one round of bug fixing and adding features and releasing an update to all my modules before announcing this, as a "this is the last update I'm doing for you", but I seem to feel a mild panic when I think of having to go through that, so I made the decision to basically abandon the modules "effective immediately" with no last update.

My health

My health is going to be a big focus for me this year. I think everyone would agree that if I just simply burnout, it wouldn't be good for anybody, so I need to pace myself. I'm going to do a few things for that. First, forcibly limit the number of hours I'm spending working, and force myself to have hobbies, and activities that are away from the PC, trying to get back to a life that doesn't revolve around work. To achieve that, I am also going to be hiring some more help. I think that so far, I've seen The Forge as basically a "solo project that generates revenue" but I think I will have to shift my perspective and actually start to view it as a 'real' company, where I'm CEO/CTO, and I'll be hiring people to take care of various tasks for me so I can stop stressing about them and be able to lower my own workload. I'm struggling a bit with the concept of going from "managing a project" to "managing a company" but I'm slowly coming to terms with the fact that there are just so many things that need to happen, that if I want to stay on top of things, then I need help. The costs associated with hiring help are also pretty substantial and scary, and I certainly don't want all the efforts and sacrifices that I did in the last year to be just so someone else gets a salary, instead of me, so I have to be careful in how I approach this.

There is also a very large portion of my time that is spent on "administrative overhead", whether it's researching tax laws, looking for incorporation rules and its pros and cons, taking care of VAT registration/reporting (oh, there's the Brexit thing, I had to re-register for VAT with the UK independently, which tooks hours/days of research to understand the situation, the requirements and fill out the paperwork, etc... ), taking care of emails I receive, or making executive decisions, handling payment related issues, or whatever else that isn't about writing code.   I've often found that it would take me 8 hours in my day just to take care of "today's issues" (email, discord messages, server maintenance issues, admin overhead, etc..) before I can start working and by then I'm already too exhausted to be doing any meaningful work. I feel like I probably spend a lot more time on this admin overhead stuff than on code, and I actually truly hate that. I'd be happy if all I did was write code and not have to deal with managing a company at the same time. I am therefore also thinking of hiring a business manager/administrative assistant to help me with those tasks, that should at least help me mentally so I enjoy what I do more and lower my own frustrations.

Taking care of my health will also include eating better, exercising, and just taking care of my physical and mental health. Those 10 Kg I lost during the months of February/March, I gained them again and even gained another 10Kg on top of them, once that adrenaline has burnt off and the stress took over.

The Forge

My second priority for the year is to work on The Forge itself. I have a lot of great ideas of where I want to take the platform, and there is a lot of work ahead. You can actually follow the roadmap on the forums here, but one thing that isn't mentioned there is the D&D Beyond integration since I've kept that a secret up until now. First of all, I'm super excited about that as it's something I always wanted to do but never really had the time for it (and Sebastian from VTTAssets was already handling that set of features), but the plan right now is to try to quickly improve some of the scaling-related infrastructure changes that I need to do, then add the ability to do one-time purchases on The Forge in order to buy/unlock premium content and open up the marketplace in the Bazaar so creators can start offering their content, while I continue working on the D&D Beyond conversion and integration with The Forge. Knowing how I suck at making good time estimates, it might take longer than I'm expecting, and I vouch not to stress over it and work myself to bone in order to fit everything into this arbitrarily set deadline! Beyond that, I think I'll want to take a short break from adding features, and concentrate on polishing the site's content and existing features before I move on to adding the Time Machine feature of the World Builder tier. So I don't know when the Time Machine feature will be available, certainly it will be this year, but I think probably the latter part of the year.

There is also another super secret project I've started for the Forge which I'm keeping a secret for now until it's ready to be announced, but let's just say that it involves a partnership with Evan from DEATH SAVE DEVELOPMENT and I think it's going to be pretty exciting once we announce it! :)

D&D Beyond Integration

The current plan is to be done with the marketplace in January and continue the D&D Beyond integration work in February and be able to release it as an early beta to my patrons. It would be done in a very similar way as how I first launched The Forge's closed beta : free to my patrons at the 5$ tier. Once it's stable and I'm happy with the results, I'll release it publicly, and I expect that each rule book or adventure would have a one time purchase associated with it, which would be a small percentage of the full D&D Beyond source material price. As an example, let's say Curse of Strahd costs $25 on D&D Beyond, then the "Foundry-ready content" could cost $5 on The Forge. You would still need to have bought the content on D&D Beyond of course, but then you would buy the prepared adventure in Foundry's world format, with everything prepared for you already. I expect the rules books would all be available and sell for a lower percentage as they'd be rather straightforward but adventures would become available most probably at a slower pace, because I'd need to be hiring people to make those maps Foundry ready (add walls, lighting, tokens, map notes, create playlists maybe, etc...) and that will take a long time and a lot of work to make that into a polished and professional job.

For anyone wondering, there wouldn't be the ability (at the beginning at least) to purchase those without a Forge subscription, due to technical limitations. But once purchased, you could export a backup of your world like any other world. Because I am not a licensed distributor of Wizards of the Coast content, I simply cannot distribute that content, so the import has to happen through your D&D Beyond account which would download the content on the server on your behalf then convert it and merge it with other custom data. A user without an account does not have storage space on the server in order to download and convert things, and trying to work out a way to allow it seems complicated at the moment, which is why it's not going to be doable at first.

In the video demo I posted, you can also see that the rules books are converted as worlds at the moment. I already have it working where they get converted as compendiums instead, but due to Foundry's rather limited compendiums support, it looks really bad (either everything in a single pack in a jumbled, disorganized mess, or with having each folder as a pack, makes it even worse looking at the compendium sidebar). I want to have it come with a sleek new interface to explore the source book's contents, and have a good organization of all the entities, making it easier to navigate and import content from the compendium.

Long term, I think a character builder and some character sheet automations might be in the plans as well, we'll see :)

Beyond20

Finally, let's talk about Beyond20, my other baby project that is very dear to me. I think that I'm not giving it enough attention (though nobody has ever complained!) and I wish to work more often on it. Seeing this past year in review actually made me realize that I have been doing a lot of work on Beyond20, with frequent and massive updates.

I don't really have a specific roadmap for Beyond20, other than continuing to fix the bugs on github as well as adding some new features that people have requested. I know that the combat tracker synchronization is something that was half implemented and never finished, and I need to bring that feature to Foundry as well. One of my issues when it comes to adding new VTT options (like combat tracker) is that it can be pretty hard to make it work for all VTTs that we support. For example, it would be easy to make a monster's data sent over to Foundry and imported as a standalone actor, but Roll20 doesn't have a public API or documentation to use so it would be hard to do the same for Roll20 and I don't want to have all new features be Foundry exclusive for example. That's one of the reasons why there was never any import option in Beyond20, and that it doesn't synchronize anything other than the HP. Figuring out how their internal API works and making use of it shouldn't be too hard (I love reverse engineering after all), but it would be time consuming unfortunately.

One Foundry feature though that I've worked on during the D20 hackhathon was to add native Foundry rolls, so instead of seeing the nice Beyond20 rolls message in the chat, you would see the native rolls messages, as if you rolled from the character sheet itself. The advantage of doing it this way, is that it would allow Foundry modules to function with Beyond20 rolls too. As an example, you could cast a fireball in Beyond20 and see a fireball measuring template automatically placed on the scene within Foundry. The plan for that feature is to be part of the Beyond20 compendium module itself and to be a setting that you would enable directly in the module settings in Foundry.

One thing that I'd really love to do this year as well is to update that video demo of Beyond20!!! It's still showing version 0.1 from May 2019 and I never seem to get the time to actually update it! Same thing with the screenshots and doing a little spring cleaning in the website/FAQ/etc... It's all boring stuff though, so I keep procrastinating it.

R20Converter

There's not much to say here honestly, R20Converter has been pretty good and stable for a while now and requires relatively little maintenance. There's a few small bugs that I need to handle, like the movement speed stuff that broke with a recent dnd5e update, and random punctuation (".") that get inserted in NPC's actions descriptions.

In terms of actual features, one that I've been meaning to do for a while is a de-duplicator of assets so the resulting world has as small a size as possible. At the moment for example, a character would have an avatar.png and a token.png which could be two files with the same content, and the same token image is duplicated however many times the token appears in a scene. That's bad and I want to get that fixed.

The second main feature I'd like to do relates to non dnd5e games. I don't want and don't plan on doing actor conversions for non dnd5e games, but I think I can improve the resulting conversion by matching actor names with existing actors in the system's own monster/bestiary compendiums. It wouldn't be a real conversion from the roll20 data, but assuming the monster wasn't homebrewed/modified in the Roll20 campaign, then it should be even better than a converted actor. This of course wouldn't work for Playable Characters, but for most NPCs/monsters, that would make the conversion pretty good.

Modules?

Well, I said already that I'm abandoning all my modules, but I don't think that I'm abandoning module development in general, so there might still be some new module that pops at some point during the year, but I would just expect that once I release such a module, I would not maintain it long term, basically release it to the community and let someone else take it over if needed.

Writing

This has its own little section, but there's not much to say really. If I'm able to lower my number of work hours per day and have a more balanced and healthy work/life split, then I'm hoping I'll also be able to find the time to get back into writing. That would also probably help me mentally because it's a fun exercise, but I'm worried that it would still be pretty tiring because it requires effort and concentration.. but we'll see :)

Conclusion

That's pretty much it. A long and difficult year but one that was also a successful year for me with a lot of great accomplishments and I'm overall quite happy with it, though I wouldn't do it all the same way if I could. I am expecting this year to be great too, with a lot of cool stuff planned, but I will most probably be working at a much less frenetic pace, and hopefully everyone will remain as patient with me in 2021 as you've all been in 2020.

Thanks again for everyone who has supported the work of this humble developer. Thank you for saving my hide and for motivating me to keep working on these amazing technologies. I have to say that I have learned so much this year about so many technologies, and that makes me happy.

Also, if you've read this whole thing... congratulations! :)

KaKaRoTo

State of the KaKaRoTo 2020

Comments

Very excited to see what you do with The Forge and DnDBeyond integration. Currently using Roll20 but anxious to switch to Foundry, and your solution for The Forge would get me to switch to your subscription in a heartbeat.

Finn Lynch

Totally get the need to step away from commitments, I've had to do it too in 2020. πŸ’œ

G$$


More Creators