A fully functional, terminal-based Dungeons & Dragons 5th Edition Character Creator, written entirely in pure Java.
Project Nox is more than just a character generator; it is a testament to my technical growth.
I initially wrote this software as a self-taught passion project during my first months at university. The original codebase was functional but relied heavily on procedural intricate code. After completing my first semester of Computer Engineering at the University of Padua and securing a 30/30 in Computer Science Fundamentals, I decided to put my new skills to the test.
I completely tore down the old project and refactored it from the ground up, transitioning to a strict, scalable Object-Oriented architecture.
I believe in the "Growth Mindset." If you want to see where I started and appreciate the architectural leap, you can view the original legacy code here: View v1.0 Legacy Code
The current main branch reflects clean code and advanced OOP principles:
- Strict OOP Architecture: Deep refactoring to ensure proper Encapsulation, Inheritance, and Polymorphism. Classes like
Race,CharacterClass, andBackgroundare now highly modular and easily scalable. - Polymorphic Rule Engine: Leveraged method overriding to dynamically calculate complex D&D 5e stats (AC, HP, Initiative) based on the interaction between racial traits and class features.
- Java Serialization: Engineered persistent state management, allowing users to save their generated characters as serialized objects and load them in future sessions.
- Robust CLI Controller: Implemented an interactive terminal interface with strict input handling and validation loops to prevent crashes and ensure a seamless user experience.
- Clean Code & Javadoc: Fully localized the codebase to English, standardized naming conventions, and documented public interfaces using professional Javadoc standards.
To run Project Nox locally on your machine:
- Clone the repository:
git clone https://github.com/turettagiacomo/dnd-character-builder-java.git
- Navigate to the source directory and compile the Java files:
cd dnd-character-builder-java/src javac App.java - Run the application:
java App
Developed by Giacomo Turetta - First-Year Computer Engineering Student.
This project is an independent, unofficial fan-made software and is not affiliated with, endorsed, sponsored, or specifically approved by Wizards of the Coast LLC.
This work includes material taken from the System Reference Document 5.1 (“SRD 5.1”) provided by Wizards of the Coast LLC and available at https://dnd.wizards.com/resources/systems-reference-document. The SRD 5.1 is licensed under the Creative Commons Attribution 4.0 International License available at https://creativecommons.org/licenses/by/4.0/legalcode.
Dungeons & Dragons, D&D, their respective logos, and all Wizards titles and characters are property of Wizards of the Coast LLC in the U.S.A. and other countries. ©Wizards of the Coast LLC.