We have been playing a lot of Stardew Valley recently, and wanted to 100% the game. In order to do this, one of the things we needed to do was craft every item in the game. As there are over 140 items, and the in-game system of telling you what items you had crafted was a bit clunky, we decided to create an application that made the process of keeping track of everything a bit easier.
What it does
The program lets you tick off boxes on whether or not you have 1) obtained the recipe for an item, and 2) crafted the item itself. There are multiples tabs to navigate between sections of items that have a common theme with one another, and there are two buttons: save and load. Once you have finished adding which items you have the recipe for or crafted, you can click the 'save' button. Then, when you close and relaunch the application, if you click the 'load' button, all the information previously inputted in your last session will load in, and you can continue where you left off.
How we built it
We used python 3.8/3.9 and the module tkinter for the GUI.
Challenges we ran into
The first challenge we ran into was learning how to use tkinter, since neither of us knew how to use it before the event. We spent the majority of the first night learning it and creating the basic user interface, as well as the page-navigation system. On Saturday, we had a very difficult time trying to get the 'save' and 'load' buttons working, since we were getting thrown all types of errors, and basic tkinter commands weren't working with the objects we were creating. Eventually, we made a breakthrough, and were able to implement them correctly early Sunday morning.
Accomplishments that we are proud of
We are glad that we were able to actually finish the project in time, with all of the intended features we wanted. In particular, getting the 'save' and 'load' buttons to actually work, so that the application would be much more useful to a user, was something we were very proud of. In addition, this is a program that we can actually use, since we plan on going for 100% in Stardew Valley during the rest of quarantine.
What we learned
We learned that tkinter is really, really painful to use at first, but we were eventually able to create some pretty cool stuff with it.
What's next for Stardew Valley "Craft Master" Achievement Tracker
We're hoping to maybe expand the application to include other types of achievements for the game. For example, there is an achievement to cook every recipe in the game, and we think that the code we wrote would lend itself really well to creating a GUI for that achievement.