Quick description
Slightly longer project description
How did I do it?
One of the biggest challenges was creating a flexible quest system that could handle dependencies without hardcoding every interaction. I developed a data-driven approach using ScriptableObjects that allowed me to design various new quests without creating additional code. The system tracks quest states, prerequisites, necessary objects and interactions, and outcomes through a centralized manager that other systems can query.
The dialogue system utilizes the Unity Event System to allow NPCs and enemies to trigger conversations based on game state. This decoupling made it easy to add new dialogue options and conditions without modifying existing code.
The project follows a modular architecture with clear separation of concerns. Core systems (dialogue, quests, inventory) are built as independent modules that communicate through events and interfaces. This made the codebase maintainable and allowed for easy testing of individual systems.
This is what I learned. This is where the project was shown.