I started this post some time ago, but never released it for one reason or another. I wanted to explain what I have been doing, since there was a big gap of silence after the release of Productive Game- Trees 0.013.
After I finished 0.013 of the Tree Timer, I started moving in different directions and then eventually burned out. First I started working on improving the Options UI, so that the UI objects scale correctly and it would be easier to add more in the future. Due to an issue with the task icon code that I thought I had fixed, I ended up losing that work.
I was planning on coming back to it, but decided to do something completely different instead. I started working on Productive Game 3 - Text Adventure. With PG3 - Text Adventure, you use the points you gain from your daily activities to advance in a text adventure. In its finished state, users should be able to create their own text adventures, and share them with others. Basically, I modified the Yarn Spinner code so that I would be able to determine which text nodes had been visited. I then added a really rudimentary productivity system where you basically just press a button to add a point, and then when you visit an unvisited node, it would take a point away. I could also add yarn stories by simply dropping them into a folder, and then when the program started, it would automatically add the story. Your progress is always saved and you can also switch between stories.
I was planning on releasing that prototype, but I felt like it needed a better productivity system. However, I learned a lot of things creating the first two Productive Game prototypes, so I decided to take what I learned and make something better.
I decided to start working on what I called the "Productive Game Core". I wanted to make a Productivity System that I could use as a solid foundation in order to jump start my progress on any future Productive Games. I wanted PGC to be a modular system that I could build once, and then propagate the updates to all of my Productive Game Prototypes, and any potential fully realized Productive Games in the future.
I also wanted to be able to keep track of work time. I have sometimes used the Toggl application in order to keep track of work time, so I thought I would see if I could interface with the Toggl API. I created a successful login application. Feeling confident that it was possible, and that I roughly knew how to interface with the Toggl API, I then moved on to working on the Productive Game Core. I streamed some of my work with the Toggl API, but I finished offline.
I wanted to build the Productive Game Core correctly, from the beginning. One thing I've never done right, is the way that I stored information on the hard drive. I've mostly been using Unity PlayerPrefs, with or without PlayerPrefsX, but if I was going to store work time information, I needed to potentially store a lot of data, and I needed a robust system in order to do that. I was able to make some simple storage tests using FileStream, and was able to transfer my own simple data in Productive Game 2 - Trees, to a different computer. But that's not a very robust system, and I couldn't find a good answer on what kind of system I needed to use. I researched using SQLite, but it seemed intimidating and with my lack of confidence, that it truly was the best system to use, I didn't pursue it at that time. I streamed some of my work on Productive Game Core.
I also tested out billboard sprites in the tree scene, to see how they would look compared to the fixed row I had previously. I had been playing Doom and Doom II, and that compelled me to try it. Initially I had decided not to use billboard sprites, because I liked the orchard like appearance of the fixed, straight rows, but after trying it I decided that it did look better. In the future, I plan to add an option that people can toggle to switch between them. I streamed working on it, but I think I finished off-stream.
After I did all this, I noticed the bug in version 0.013 of PG2, so I created a "fix" and released version 0.14, with the billboard sprites feature. This was documented in the last post.
I have now begun work on trying to get a working SQLite implementation for Productive Game Core. I'm still in an early stage, but I'm making progress. I don't yet know if SQLite is the best method for handling my data in Productive Game Core, but I'm going to try to take it to its logical conclusion so that I may know with certainty.