I made a small game a while back. I made it in C++, since well, that is how things get done, and all was fine. Until I wanted to change stuff in it and it all just became complicated (my code was a bit of a mess). So I tried out Unity, Unreal and Godot, and in the end settled on using Godot.
So here it is. A small math puzzle I made when thinking of ways to help my daughter with her math.
The game is a bit more complex than it needs to be (implementation wise), but I wanted to test making a networked game. So this game is running in a browser but has a server backend (also written in Godot) that is running on IBM Cloud Engine and that in turn has a database/API written in Django-REST on pythonanywhere. In theory, this should all scale pretty well if that would ever be needed 🙂
If you feel like playing it, just log in with whatever username you want and a password. If the username doesn’t exist a user is created. Else you just get an error so you have to chose another name. Then select a game and play. The highscores are live, so your see how you are doing compared to everyone else that has played.
Moved the "Show All" checkbox to a menu
Added a "Stay on top" menu item
Fixed github issue 25 - Deleting of creation date
Added version information in Mac Build / Bundle
Added ability to change what character is used for "NOT" in search
Add a due: or t: if using a rec: without any due: or t:
* Undo/Redo support
* Bug: Search string could not include multiple spaces
* Qt 5.15.0
* Added possibility to remove duplicate lines (the mobile client I use for todo.txt has started adding doublets)
* Bug: Title not updated when automatic refresh
The new rec: feature has been a great addition to how I use my todo-lists and I am using it quite a lot. Probably a bit more than I should be, but it’s nice with reminders “sneaking in” to the todo-list like they do using this feature, as I am not a very big fan of reminders popping up in my phone.
I though just thought of a little use-case I would like to have for things I want to be reminded of, but not all the time. Like for example working on Todour. I don’t have a schedule for it and I don’t want one, but it would be an idea having it pop up a bit randomly (I have lots of small projects that I would like to have like that).
Anyway, I added the “p” (as in procrastination) to the rec: key just now in my development branch and it’s actually pretty neat. Example:
Work with +todour t:2019-01-30 rec:15p
This line will show up at 30/1 due to the threshold and the rec: switch will create a line just like this one when I cross out this line. The new date in t: will now be the finished date + 1-15 days. So somewhere in the coming 15 day it will pop up again.
I don’t know if this is actually useful, and it’s completely non-standard of course, but it was easy to do and now it’s there to be delivered in the next version.
This is the first Linux build since 2.02 that gets distributed. There is a debian package and a .tar.gz on the download page. I have been using a Linux build all the time since 2.02 and it is working very well, I have just never bothered learning how to do a .deb packaging. Now I did 🙂
Note that if you are updating, this version will automatically check for updates ca once per week. If you’d rather not have that happen, there is a setting to turn that off.
Added a Show All checkbox that shows the contents of the entire done.txt as well. Good for checking old stuff. Note searching will be slow if you have a big done.txt file
Added possibility to use a tray icon. When the application is closed and tray icon is active, the application is minimized to tray instead. To quit, use the menu in the tray.
Added support for coloring due: tagged lines depending on date.
Added support for same shorthand with due: dates as with thresholds. Thus due:+2d will set the due date to 2 days from now. due:+3w is three weeks from now and so on.
Title now shows how many rows are shown of total entries
Checking for updates is now more visible (and selectable). Of course, no data is ever sent. Just check a version.
Added a ‘hidden’ feature of procrastination. Either use due: or t: with the usual shortform and ‘p’ and todour will change the date to a random number of days up to the number you specify.
Example: t:+10p will put a date in the coming 10 days. And it will also add a ‘+procrastinated’ tag, so you know you maybe shouldn’t procrastinate the task again 🙂
Thought I’d perhaps explain thresholds a little bit.
Using the threshold determines when to show a task or keep it hidden (or optionally to sort it as an inactive task so you can see it but it’s sorted last and looks different).
So a line that is
2018-07-03 This is my task that won’t be shown until next year t:2019-07-03
Will be hidden until 2019-07-03.
Since it’s not so fun to have write these dates, it’s possible to use relative shorthand. So entering
2018-07-03 This is my task that won’t be shown until next year t:+1y
will have the same effect. Todour will replace the t:+1y with t:2019-07-03. You can use “d” for days, “w” for weeks, “m” for months and “y” for years. No combinations are possible though as I couldn’t see any need for them. Let me know if I am wrong 🙂
I added a different kind of thresholds as well. I am not sure if any other implementation supports this, but I wanted it so you got it 🙂
See the below example:
2018-07-03 This is a task with a +project tag
2018-07-03 This is a task that has a threshold of that +project tag t:+project
If you turn on the option of respecting thresholds for projects and contexts, the second line will be hidden until all lines with the +project tag have been checked or removed. This makes it possible to create dependencies between tasks, making tasks stay out of the way until something else is done.
Possibility to see the dates (selectable in settings)
Thanks for the bug reports and suggestions.
Privacy & Cookies Policy
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.