Notice:  The WebGL build (Browser) will forget user data every time a new version is uploaded.  For this, and other reasons, the standalone builds for Mac, Linux, or Windows are recommended.  The browser version is only recommended for testing or temporary use.  If you get stuck in First Person Perspective, the "Enter" button or Right Mouse button will toggle the cursor.

Notice for Version 0.0013:  This Windows only build closes to the System Tray Icon instead, of quitting normally.  In order to quit the app, select "Quit" from the System Tray Icon's right click menu.


A timer/pomodoro/timeboxing app that creates a tree for every successful timer and can optionally upscore a "habit" on  

Feedback is appreciated and questions are welcome.  Questions and feedback can be posted in the comments below, or e-mail/twitter/discord/however.


(not a comprehensive list)

  • Tooltips - Hovering the mouse over most UI elements(buttons, check boxes, etc.) will show a tooltip that gives more information.
  • Logging - It keeps track of total trees, as well as trees per session, and keeps a history of each session.   I use Sessions as Work Sessions to keep track of how many trees I make in a single work day, but you can use them however you want.
  • Forest View - Clicking on the Tree on the main page opens a view of your forest.  Clicking that forest will put the game into a First Person perspective.  Pressing the Right Mouse Button, or Enter Button will toggle the cursor when in First Person view(Esc key also works, but not in the browser version).
  • Adjustment UI - Press Plus and Minus buttons to add or subtract trees, per session, if the count is wrong.
  • Habitica Syncing - If you enable habitica syncing it scores a habit for every successful tree.
  • Habitica Login with username or API user id - Can login to habitica using username/email and password, or api user id and token.  Users who login with facebook or google will need to use the API User ID and Token.
  • Offline Habitica syncing - When a connection with Habitica cannot be established, and the user has successfully logged in previously, the habit upscoring is saved until connection can be reestablished, and then all of the upscores are sent at one time.  A button indicates green when connection is good and red when connection cannot be established.
  • Extensive error reporting for the Habitica connection - Error messages inform the user why connection cannot be established, in most cases.   Will also inform user when connection has been reestablished, etc.
  • Windows System Tray Icon - When the timer is active, the tree icon is in color.  When the timer is stopped, the tree icon is grey.  Hovering your mouse over the tray icon will show a message that says "Timer is running", or "Timer is stopped" respectively.  Double clicking the icon will bring the app to the forefront, if it is minimized or hidden under other windows.  Right clicking on the icon will show a menu that lets you either start/stop the timer, or exit the app. - Notice:  The Exit button on the window, will minimize the program.  To fully exit the program, you must quit from the system tray.  Future versions will give the user options to change this behavior.


This app collects no information.  It only saves some data to your device.

If habitica syncing is enabled and "remember me" is checked, it  saves your Habitica API UID and Token to your device.   And uses it to communicate with habitica.  It never saves your username or password.

Even with Habitica syncing enabled, tree counts and history are all saved on your local device, so they cannot be shared between devices.  However, the data is saved in a global location for your user account on your device, so different versions on the same device should all use the same data.

Version numbers don't indicate feature completeness or stability.  They are only a build number.  0.012, for example, is build version 12.  I actually create many builds with the same version number, but only after extensive testing do I upload the build here and move on to the next version.


I've been thinking about how to use video game technology to make daily life more rewarding for a while.  In order to accomplish this I have been merging elements of Productivity Applications and Video Games and calling them "Productive Games".  ProductiveGame 2 - Trees is the third attempt, or prototype.  Every attempt has been an experiment.

It takes some inspiration from the Forest App for mobile devices.  I created it because I don't like to mess with my phone while I'm deep in work, and the chrome extension of the Forest app had no audible alarm when the tree finished.  I also wanted to add it as a non-steam game in Steam.   It grew organically from there as I kept adding features that I decided I needed or wanted.  I am the primary target audience, because I know that I can't expect anyone else to find it useful, or want to use it, if I don't.  However, I am always open to suggestions and ideas, and would like to make something that everyone can use and find useful.


I have many ideas about features I can add and things I can do, but I'm not sure when or if I will follow through with them.  There are some minor features I would like to add.  Things like making the session reminder, or tooltips optional.  Setting a custom message on the forest screen.

I would also like to polish and refine the UI some more.

Probably make an android build and put it on google play, eventually.

Most of my dev logs for the project can be found here

I keep track of a lot of the bugs, features, etc. through Trello here, but it's really only  meant for my eyes only, so it may not make a lot of sense to someone else.


0.14 - Bug fix for Windows System Tray, and billboard sprites

0.013 - Added Windows System Tray Icon

0.012 First Person Forest, Continuous Mode, and Bug Fixes

0.011 Now with 100% less cursing

-I removed a message box in the forest screen that had a reference to a joke that contained a curse.  It was brought to my attention that is inappropriate for some audiences, so I removed it.  I may add the message box back later, with the option of creating your own message.  For now I've just removed it.

0.010 Initial Public Release


Download NowName your own price

Click download now to get access to the following files:

ProductiveGame 2 - Trees-0.012 17 MB
ProductiveGame 2 - Trees-0.012 - - No Tray Icon 13 MB
ProductiveGame2-Trees-0.012-Linux-32bit.tar.gz 18 MB 15 MB

Development log

Leave a comment

Log in with to leave a comment.