Oct 9, 2023

Stars of the VTT Galaxy: #8 Sven Werlen a.k.a. Dorgendubal

10 min read - Published: a year ago

Greetings Forge community, and welcome to the eighth edition of our Stars of the VTT Galaxy series. This regular interview series is meant to shine a light on the already bright stars that make up our community of Bazaar Creators.

We are pleased to have had the opportunity to speak to an incredibly talented developer within the Foundry VTT community. This developer makes tools that help Game Masters prepare and run their games in Foundry VTT, making it easier than ever to find the assets you've uploaded and get them to work creating an adventure. He also integrates a cloud-based reward service, allowing users with the appropriate Patreon subscriptions to drag and drop their favorite maps and assets into their Foundry VTT games.

We are proud to present our interview with Sven Werlen (aka Dorgendubal), developer of the Moulinette series of Foundry VTT modules.

Our sky consists of many stars. Each of them illuminating our planet. As you can guess, the stars are you. Yes, it's you, the great content creators who, in your own unique way, shine on our worlds. Thank you for being part of our heavenly sky and weaving the fabric of our Community.
Let's meet today's star.

Introduce yourself. For those who don’t know what you do, what would you describe yourself as doing for a living?

Sven: My name is Sven Werlen. I'm living in Montreal, Canada. I have mostly worked as a software developer for the past few years, and am now an IT manager.

I'm also the creator of Moulinette since 2021, a service that provides tools to bring together creators and dungeon masters.

What’s one random fact about you?

Sven: Ah, interesting question! Not related to roleplaying or development at all... I was born and lived in Switzerland for 28 years and therefore I served in the army (for 240 days obligatory).😊

Can you tell us a bit about your programming background, and how you developed the skills of the great developer that you are today?

Sven: I studied computer science and immediately loved programming. I'm also a big fan of Linux and open-source in general (since ~ 2000).

I spent a lot of time developing tools, plugins, and all kinds of stuff that would help me prepare game sessions (even before starting to use VTT). I always worked in IT and development. That's where I learned most of what I know today.

How did you get started with TTRPGs? What is/are your favorite TTRPG(s)?

Sven: My aunt gave me one of these "Choose Your Own Adventure" books when I was 13. It was actually part of a series of books that describe the rules of what I discovered to be a roleplaying game. It's called Dragon Warriors.

Then, later, I discovered another "real" roleplaying game called Middle-earth Role-Playing.                                                                                                                                      

I started to get interested in more complex games to finally find Rolemaster.     This is definitely my favorite TTRPG and I still play and do game sessions of Rolemaster with my friends. (But I occasionally play other TTRPGs, like Pathfinder or Warhammer).

This was 30 years ago... And I never stopped playing. It's scary to think about how many hours I spend preparing and playing TTRPGs.

Rolemaster Fantasy Role Playing

And how did you end up getting into developing modules for Foundry VTT?

Sven: During the pandemic (and actually even 1 year before), it became more difficult to meet with my friends (because of kids😊), and we decided to start a Pathfinder campaign on Roll20. This is how I discovered VTTs.

But when Foundry VTT was released, I saw the flexibility that it brought (compared to Roll20), especially for technical people like me. We immediately switched.

And I started to implement modules and hooks to help me automate some boring actions or preparation steps.

Where does the inspiration come from in the work you do? Or perhaps, your “muse”?

Sven: It initially comes from my own needs. I'm a lazy Game Master, and every time I'm confronted with a boring task, I prefer to spend time trying to automate it or build an app for it (sometimes, it is not even worth it).

Then, when I start sharing the work (module, app, etc.), and other people have an interest in it, I get a lot of amazing suggestions.                                                      

Most of my inspiration comes from that.

So that's the thought process that went into creating Moulinette and its family of associated modules?

Sven: The idea of Moulinette came from the lack of user-friendliness in Foundry VTT for browsing, searching, and using assets.

I have quite a collection of maps and tokens I bought from multiple creators in the past years. Unfortunately, it's not very well organized and it always took me minutes to find something.

So I implemented a small module that would index all the assets in one folder and provide a UI for searching by name and then quickly use the result.

Moulinette’s Interface.

Moulinette and its various modules have a huge focus on importing Patreon content into your Foundry VTT games, with support for just about everything you can have in a game. Was the goal always Patreon integration, or did it start as a Foundry VTT tool and evolve from there?

Sven: No, I never had the Patreon integration in mind.

In the first few months, other people started using it and suggesting improvements. One day, a creator (Baileywiki) contacted me about the possibility of using it to distribute paywalled content. I loved the idea and started thinking about how to implement it. I knew I had to implement it server-side and start learning about Patreon APIs (I already had some experience with cloud development).
After that, the success came essentially from the first creators who trusted the solution and from their patrons spreading the word to other users.

So Moulinette is basically always growing in terms of TTRPG creators getting onboard. How do you take in creator feedback for the Patreon integration? What kind of issues have you had to weigh in setting it up, in terms of complexity, the pricing model, etc.?

Sven: Yes, I'm very lucky to have a community of users spreading word of mouth and soliciting their favorite creators to support Moulinette.

When I onboard a creator, I spend time understanding their workflow. This is how I find out improvements to be implemented to support new use cases and content types.

Sometimes it requires a lot of effort (Moulinette Marketplace, Discord integration), and sometimes it's pretty simple (support other audio formats).

Regarding setting up, it's my favorite part. Understanding how creators work is very interesting and helps me find steps or processes I could automate for them.
I have the chance to be able to automate boring tasks for myself. It is even more rewarding if I can offer automation to other people.

Do you have any major goals with the Patreon integration?

Sven: Patreon integration is pretty complete. I don't have plans for extending it further.

I'm rather working on other integrations to support alternatives for creators (like Discord, Ko-fi, or SubscribeStar). This would help them not to be too locked in with one platform.

And any major struggles with integration? Any major complaints with the Patreon integration you’re seeking to resolve?

Sven: Yes, Patreon integration is not very easy. APIs are not well-documented and not very reliable, unfortunately. And Moulinette Cloud is depending too much on this integration. This is also why I need to work on alternatives, just in case.

But I don't want to complain too much about Patreon because this platform is also a good part of Moulinette's success.

Graphic Representation of Patreon Success

How can people interested in offering your integration to their supporters get started?

Sven: Creators can learn more about the service on my online documentation. It features tutorials and videos from creators using the platform.

They can also check compatibility to see if Moulinette supports their use cases.

How do you prioritize which features and improvements to work on next for Moulinette?

Sven: I evaluate how difficult it is to implement (and to later support it) vs. how many users could benefit.

And I sometimes also prioritize based on how fun it is for me to implement it.

It's a good way to learn new technologies, for example, Elastic Search, MongoDB, Azure, etc.

What are some of the key challenges you've faced in developing and maintaining Moulinette?

Sven: It has to scale without requiring too much support.

I try to make it as user-friendly as possible and write documentation to limit the need for assistance (and the frustration of not getting it quickly enough).

I also try to not create a dependency on Moulinette. I don't want creators to rely solely on Moulinette or users to be forced to use Moulinette and rely on my servers. (This is why my modules are open-source and offline indexing is available).

Default Moulinette's Interface

If someone is interested in contributing to Moulinette, how would they go about doing so? Do you have contribution guidelines?

Sven: Unfortunately, no. I don't have guidelines. A developer could download the source code, test a change locally, and then submit a pull request.

But I should definitively write some guidelines and dev docs to encourage this.

Are there any upcoming features or updates that users can look forward to?

Sven: Yes, I'm working on supporting other types of assets.

Up to now, I only implemented non-VTT-specific assets (like images, and sounds). But I got a lot of requests from creators and users to support journal articles, actors, or even macros.

I already implemented a first release for local indexing and I'm now extending Moulinette Cloud to support these. There is so much potential for a cloud search for structured assets.

Moulinette Cloud

How easy or hard is it to keep up with updates to Foundry VTT?

Sven: It is not that complicated because I avoid being too coupled to Foundry VTT's internal features.

Moulinette relies on official APIs, doesn't overwrite internal classes or functions, and follows guidelines on how to extend features using hooks. Most of my code base doesn't have to change and only Foundry VTT specifics sometimes require rework (like how to create a token after drag and drop of an image on a scene).

I spend maybe 1-2 weeks adapting the code after a major release. Hopefully, this will be the same in the future.

The biggest dependency Moulinette has is with the FilePicker API.

Can you share your vision for the future of Moulinette within the Foundry VTT? Are there any long-term goals or exciting developments you can hint at?

Sven: My vision (and objective) for Moulinette is to be the place for players to search for the assets they are looking for.

And then, to integrate tightly with Foundry VTT, people won't have to spend time on extra steps (download, import, organize, sort, adapt...).

Do you have the opportunity/time to play games by yourself? If so, what game systems do you play? We think it’s unnecessary to ask what VTT do you use?!😊

Sven: Yes, I play almost every week with a group of friends (and my wife). I can't even consider stopping it.

I use Foundry VTT, of course. We just started a new campaign using Rolemaster, after 5 years of playing 2 campaigns of Pathfinder 1.

What features or what kind of improvement would you like to see further developed in Foundry VTT?

Sven: Foundry VTT is already amazing, and there are so many modules that can be used to extend it.

The only feature that I'm missing (from Roll20) is the ability to manage the fog of war. I'd like to decide (as GM) what is visible or not on a scene, especially when playing TTRPG.

Are there any other projects or initiatives you're currently involved in or planning to work on in the TTRPGs or software development space?

Sven: I have a few other modules but I don't have much time to support them anymore. My TO-DO list for Moulinette is too big.🙂

Do you have anything you want to say to the greater TTRPG/VTT community?

Sven: Yes, I'd like to thank the TTRPG/VTT community for the work and effort spent on developing all those systems, modules, and tools that have improved my life as GM so much!

I'm always amazed to find all the resources and support I need.

What advice do you have for aspiring developers who are interested in contributing to the Foundry VTT or creating their own modules and tools?

Sven: Do not hesitate! Get started by downloading modules and looking at how they have been developed. It's much easier to learn with examples than trying to build one from scratch.

And develop the tools or features you're missing... There is a great chance that you're not alone.

What are your plans for the future in general?

Sven: In a few years, I would like to be able to open a place where people can meet, discover, and play TTRPGs. Especially to attract the younger generation and give them an alternative to cell phones or online games.

It's more a dream than a plan.

Hey, dreams do come true!

Thank you so much for your time Sven, it was an awesome interview.

Sven: Thank you for doing this and having me! It was a pleasure to meet you. Don't hesitate to reach me out if come to Montreal.😊

Moulinette Cloud
Moulinette Patreon
Moulinette Marketplace
Sven Werlen GitHub - Moulinette Tiles
Moulinette on The Forge