PCGen Needs You!
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
Hi, I could possibly help with data entry!
Jump into the discord and chat with the data team.
Hate to say it, but if you guys want to attract more people to add data you’ll have to make adding data more user-friendly. Consider some kind of native editor, cause writing text files simply won’t cut it for everyday folks. :/
Good luck with that. I brought the idea up in the Access subreddit and then was ridiculed by people in the PCGen Discord for it (they didn’t know I was part of the Discord).
I also brought up an updated UI and was given the answer of “UI is hard”. As though coding were an easy thing.
If there were a program or Access database that could Allow people to auto-generate the code using options (Rules System->Entry Type [Feat/Class/Archetype/Rule/WHY]->Text) I’d happily bang away at a keyboard for a few hours to help out. I have to learn an entire coding language to help out? Ehhhhh…suddenly I’m less interested.
Putting what limited coding talent you have to work making an ancillary program which would make it easier to get less- or unskilled volunteers to volunteer to do the drudge work thus freeing the major coders up to work on major releases?
Are you mental?
I don’t know coding, so this suggestion sounds great to me. It would make it easier. Would it also speed things up?
I’m primarily a Javascript developer and don’t know Java so can’t help dev on the application. I’m interested in building a web-app browser based version of PCGen so just thought I’d put that idea out here.