TableTop Tracker is a Unity application designed for Warhammer 40k to help tabletop gamers organize and track their gaming sessions.
TableTop Tracker is a Unity application designed for Warhammer 40k to help tabletop gamers organize and track their gaming sessions.
Having trouble loading the game? Play directly on Itch.io
During development, I encountered several technical and design challenges that tested my problem-solving skills and pushed me to learn new concepts.
I struggled to get the names to save correctly using PlayerPrefs. Hence they would not display correctly on the main page. I had to debug the PlayerPrefs to ensure it was saving and loading the names correctly.
I had to implement a system to enforce the game rules, such as turn counter and score maximums and implement ways to prevent players going above or below these limits.
Using unity is what i was most comfortable with, but I could have used other languages or frameworks to achieve the same result. I should have considered using Flutter(Dart) or a C# Framework for a more robust solution.
I should have created a more detailed plan and requirements before starting the project. This would have helped me to stay on track and avoid scope creep and would allow me to add more game rules and features as it proggressed.
The interface could have been more intuitive with better visual feedback. Adding clear indicators for turn progression, score limits, and input validation would greatly improve the user experience.
Implementing a more modular architecture with separate classes for game rules, player management, and UI would have made the code more maintainable and easier to extend with new features. As my current script is a bit of a monolith and could be broken down into smaller, more manageable components.
Using PlayerPrefs was a quick solution, but implementing a more robust data persistence system (JSON files) would have provided better data management and backup capabilities.
I should have implemented more comprehensive testing, especially for edge cases like maximum scores, turn limits, and invalid inputs to ensure the application behaves correctly in all scenarios.
If I was to revisit this project, I would rebuild it from the ground up using a more robust framework like Flutter or a C# desktop framework to allow for better cross-platform deployment. Key improvements would include: implementing persistent data storage; designing a more intuitive UI; adding support for multiple game types beyond Warhammer 40k with customizable rule sets; integrating syncing so each user can have their own instance;