Hoard
Hoard is an idle browser game, similar to Cookie Clicker, albeit with a fantasy twist inspired by my love of Dungeons & Dragons, and fantasy as a genre. I came up with it while I was working on refreshing my knowledge of web design and related technologies, and thought it would make a good way to test my knowledge and build more advanced experience of the field. I'd also made some nice progress bar animations and I wanted to include them in something!
I built the initial proof of concept version in pure HTML, CSS, and Javascript, however I soon found this approach lacked flexibility when anything needed to change, as all the values were hardcoded into the files. To fix this, I adapted the project to use Flask with Jinja templates, which are filled using data imported from a MongoDB database. This new approach means that if any changes need to be made to any of the components, I can update them in the database and they will be passed through to the app. It also drastically reduces the code required, as Jinja allows me to use loops to create all the quests, minions, and store items without having to individually code each one.
In addition, I have added user account support, including the storing of preferences such as profile pictures, display names, and page themes. However, this is my first attempt at building this kind of feature, and I'm certain there are many areas for me to improve upon, which I intend to do once I have learned more about it.