I began work on the Habit Engine in September 2013, and continued to work on it in my free time. The Habit Engine is a client for Habitica.com(formerly HabitRPG.com), created in the Unity Game Engine. Habitica is a web application that treats your life like a video game, giving Experience Points and Gold Points for positive habits, completed dailies, and completed todos, and taking away life(or health) points for negative habits, and uncompleted dailes. Gold points can then be spent on in-game gear or custom rewards.
My goal with the Habit Engine is to leverage the power of the Unity Game Engine to expand on the ideas in Habitica and make it more game-like and more engaging and more rewarding, thereby making it a more powerful tool for productivity and behavior modification.
Currently, the client allows the adding, checking off, and plussing/minussing of tasks and custom rewards. Some sprites are supported. Life and experience are shown. Many features that exist in Habitica are missing.
There were some serious setbacks in development. For months the client was unable to communicate with habitrpg.com because habitrpg changed their certification to a kind that Unity's fork of Mono did not support. After much waiting and frustration I was able to submit a pull request of a patch I found on the official Mono fork, to Unity's Mono source code on github. A few versions later and the client was finally able to communicate with habitrpg.com, again.
Another set back was the GUI system in unity. I originallly used OnGui, with meant the UI had to be hand programmed and all elements would be called twice per frame which caused the system requirements to be higher. Unity has since release uGUI which solves many of these issues, but I have yet to update the client to use the system as I have been working on the Productivity Game Prototype.
You can find more posts about the Habit Engine at http://www.productivegaming.com/search/label/HabitEngine.
Source code for habitengine can be found at https://github.com/fragmental/habitengine
No comments:
Post a Comment