6 years
On May 1st 2014 I started working on a character generation software for the german RPG "Splittermond", which by that time wasn't published yet but I had the chance to playtest it. I choose Java as a programming language, because I was very fluent with it and it allowed me to develop applications that would also run on Linux (my preferred OS).
In September 2014 Anja and I had been in Denmark for two weeks, in a cozy house at the coast with a nice view on a fjord . It wasn't planned like this, but it developed into some kind of code camp, since we had much time at our hands and could work closely together. Since then our yearly vacations to Denmark always include coding, in addition to just relaxing.
In October 2014 Genesis 1 was released to the public. It looked at lot different than today. It also included a synchronizing mechanism to the cloud service my employer just launched (and buried in the meantime).
2015 I decided to not only support Splittermond, but change Genesis into a program that could manage characters from multiple roleplaying systems. I added functionality to add notes, images and other attachments to characters. You could also manage characters not natively supported by Genesis, but use Genesis to execute external character generator applications. This all resulted in a new user interface.
Instead of having a long character sheet, I changed the character view to tiles which could be clicked to open new windows, rearranged or changed to a short overview of the most important data of a specific aspect.
While we added new supplements to Splittermond, we also started working on a new natively supported RPG: Space 1889 (Ubiquity). In October 2016 - two year safter the initial release - Genesis 2 was released.
2017 consisted of improving the native support for Splittermond and Space 1889 - and the beginning of a third natively supported RPG: Shadowrun 5. It also provided a new feature: print templates for customizable character sheets (for SR5 and Splittermond)
While we had help from Pegasus and an artist friend of us that donated some icons, Shadowrun 5 wasn't very successful. The rules for Shadowrun are very complex, the application struggeled with a lot of problems plus there already were established tools like Chummer 5 and Hero Labs as competitors. Genesis 3 with Shadowrun 5 support was released in October 2017. It had our first attempt with an auto updater, which caused a lot of problems. It also came with a way to enter custom gear for Splittermond and Shadowrun 5 - something that has been dropped in the meantime, because it consumed to much developing resources.
In 2018 we decided to drop the tiles concept we were using in favor of a new look, inspired by the Windows fluent design. It lead to heavy redesign of all user interfaces. Not all parts of the application had been converted: Shadowrun 5, which wasn't really used by anyone, got kicked, as got the editor for custom items and the print templates.
Being a fan of Coriolis, we added supported for this RPG as in our fourth installment of Genesis during the summer of 2018. We also made Genesis multilingual. Genesis 1-3 had been german only and starting with Genesis 4 in October 2018, we added english language support where available (not for Splittermond). Unfortunately for me as a player, but fortunately in terms of workload in Genesis, Fria Ligan does not publish new supplements for Coriolis that include new rules. And not having much users also, the Coriolis part of Genesis doesn't require much attention.
Genesis 4 also marked a milestone in the way we build Genesis. Up to Genesis 3 you required Oracle Java 8 being installed on your machine - newer Java versions would not work, since Oracle dropped relevant components. To still be able to deliver an application you could use out-of-the-box, we needed to convert Genesis into a new modular Java application and bundle it with a custom tailored Java runtime. To get there we moved Genesis to GitHub, where we would be able to build on all 3 major desktop OS platforms.
In 2019 we decided to make a new attempt on implementing Shadowrun. When Pegasus provided us with an early CRB PDF and illustrations, we started working. We were able to reuse some components of our SR5 support, which reduced the required efforts - and in the same time we learned where we failed for SR5. From all systems implemented so far, Shadowrun really is the worst - mostly due to the possibilities to modify gear and yourself (via augmentations). Not a week passes without me cursing SR for its complexity.
In October 2019 we officially released Genesis 5. A few months later an alpha version of a tool was released that allowed packaging a Java application into operating specific formats.
We also added support for an auto-updater again, this time updating only the RPG modules, not the slowly changing wrapper application. This all together resulted in a new major release: Genesis 6 - most likely the last major release of Genesis for a long time, since modules are way more important now.
A look ahead
Since 2016 we added native support for a new RPG every year. This will end (Not that I wouldn't be eager to work on other systems). Most of the time I (Stefan) am the only developer and time is a limited resource.
For 2020 I have 3 big goals:
Reimplement Splittermond.
There is a lot to be learned from the generators from later RPGs that could improve using Genesis for Splittermond.Support all upcoming supplements for Shadowrun 6
Unlike supplements e.g. for Splittermond, SR supplements not only include new data, but always provide new rules, that need to be taken into account in the generator.Provide an online character storage
I'd like to be able to sync my characters from one machine to another and access a character online. This will require a Genesis 7.
I hope you will go this journey with me.
