Inspiration
Being in the D&D club at my school we often have to spend hours converting a character idea onto a sheet usable for a campaign. After facing this issue head on for years we decided that there must be a more efficient way to make a character.
What it does
Essentially the Ai takes the input prompt of a short and even vague character description and outputs a character sheet ready for use in a campaign.
How we built it
Through the use of open ai's gpt-3.5-turbo we are able to access a large language model capable of understading human speech. By exctracting keywords and the better judgement of gpt we were able to create a framework of data points. The second part of the project used the data points gathered from gpt and ran them through multiple formulas to determine specific ability scores, proficiencies, etc. With this info PyPDF2 was then used to format and fill out the final character sheet.
Challenges we ran into
Unfortunatly most of the challenges we faced were due to the shortcomings of python itself. Using the open ai API was a struggle at first but proved to be a powerful tool as the project progressed. Besides the initial hurdles the remainder of the project went smooth and according to plan.
Accomplishments that we're proud of
Integrating the Ai portion of the project with the algorithm/PDF maker was a task that both my group mate and I worked on. A bulk of the time and effort was put into this and we are cery happy with the result.
What we learned
Ai is a really complex web of information and was confusing at first but through hours of research we figured out how to tailor prompts to fit the specific needs we desired.
What's next for D&D Character Ai
Hopefully we can expand D&D Character Ai to be more than just characters. Having NPCs and monsters apart of the Ai would allow us to use it throughout a campaign. And with such little effort needed on the side of the user, you could even be able to use it on the fly during a session!
Built With
- openai
- pypdf2
- python

Log in or sign up for Devpost to join the conversation.