PCGen Needs You

PCGen has a critical shortage of contributors.

The release and development of 6.08.00 has been slow and may be the project’s last. It will come with fixes and pathifnder 2ed support. The lack of volunteers has brought development to a slow crawl, both in terms of the programming and the addition of materials. Many of the experienced team members can no longer regularly contribute and there have been few new additions. If you use and enjoy PCGen and can contribute, I encourage you to help. Open source projects only continue existing because of regular contributors.

This is not about making people feel guilty to get help. This is about facts. Without contributors, bugs don’t get fixed, features don’t get added, books and materials do not get supported. PCGen represents an enormous effort in terms of man hours and once stopped it is unlikely to start again.

To Volunteer

Details follow below. There are three teams, the programmers who implement features and provide fixes and the data entry team. To program you should know Java, the GUI is written in Swing and moving to JavaFX. The data entry group requires no special knowledge and is written in a domain specific language. The most important thing is just showing up. The support team that handles organizing and keeping everyone moving in the same direction, fielding customer support, and general user facing actions.

If you’d like to help …

Join the discord and ask to help in the volunteers channel. Mention @LegacyKing or @GearsandCogs, and which of the teams/positions you could help with. We will try and help you get started.

Feel free to clone and look at the git source code for PCGen. The README includes dev instructions. We take PRs here but use a separate bug tracker.

Why support PCGen?

Open Source With Many Features

Anyone anywhere can get PCGen, you just download and run it anywhere Java does.

It is and will always be both free and open source.

It supports many rule sets like D&D 5e, Pathfinder 1e, Starfinder, etc… Most official books are supported, but also third party and homebrewed content.

It allows user modification and extension. That means you can add custom classes, monsters, spells and other campaign materials without needing to program (requires the domain language).

You can modify it as you like, hopefully you send a PR when you do.

Competition

Making tools to create characters according to pen & paper rules is a very niche market. There isn’t a lot of incentive for new entrants into the market as it has high complexity and low demand. If new ones did, I don’t see them being open source. To my knowledge, the main alternatives would be Hero’s Lab and platform specific apps like Pathbuilder on Android or iOS.

I am not experienced with the competition so I can’t make a full list of pros/cons. There are several glaring cons:

These are mostly closed source products, so you are stuck with whatever is provided. It may be high quality like Hero’s Lab but it is dependent on the author entirely.

Some of these require one time or ongoing payment. This is great for supporting development but leaves some in the world behind who cannot afford it.

Android and iOS specific apps are proprietary and if your group has a mix of devices, your favorite app on one may not be on the other. It is good to have a unified experience as a group.

What Do Volunteers Do?

The primary requirement is simply being willing to help, most else is secondary and can be learnt. Existing members can help answer questions you have on the project but they can’t give you a crash course on programming. There are tutorials on how to enter books so that should be smoother starting. You should expect to invest a portion of your time learning the code, some basic team process as you make contributions.

There are three basic teams.

Dev Team

To make the most contributing here you should be a person with programming knowledge & some experience. Knowing Java would be a great plus but experience with related OOPs would be fine (i.e. C++, C#, etc…). Nice to haves but not essential would be:

have knowledge of Swing/JavaFX for UI

have worked with git before

basic knowledge of Tree structures

experience debugging & tracing programs

Data Team

These are the people that input book rules into the domain specific language (DSL). You don’t need programming knowledge, it is more of a data entry role. There are videos and documentation explaining the formatting of information in the DSL and you’ll spend most of your time editing text files. It isn’t the most fun, but without these heroes there’s just an overly complicated Java UI.

Support Team

These are the people that maintain the website, various wiki’s, keep everyone organized and on track, answering user support questions or troubleshooting. You don’t need programing knowledge, this is mostly a customer oriented team.

Thank you for your time.

Yours,

PCGen Team