GDquest has started a new kickstarter campaign to create a professional tutorial for Godot, focused on 2d games.
"Learn to create 2d games with the award-winning, Open Source engine Godot 3. Free daily tutorials on Youtube during the campaign!" "You will learn to create your own top-down game inspired by Zelda"

Simple project time tracker plugin.

RossRoss Posts: 199Member
edited October 2016 in Resources

Updated to v1.1.0!

Hey all. I've seen a couple people lately ask for a way to track the time they spend on their project. I came across this plugin, but I wasn't happy with how it worked, so I made my own. You can get it here.


Quick Feature List:

  • It's simple and unobtrusive, just one little button in the top toolbar.
  • By default It only counts up when the editor window is active, pausing and resuming if you alt-tab back and forth with other windows. There is an option to toggle this off so it always counts up.
  • It lets you manually pause and resume it, reset it, and add and subtract time.
  • It has several other options to customize how the widget displays. (see screenshot below)

Here's a screenshot, with the dropdown menu open:

Click here for a fullscreen view of it.

I hope it's useful to someone!

Feature requests are welcome, though I most likely won't do anything big and crazy.

Comments

  • WhyAreLessWhyAreLess Posts: 7Member

    Cool stuff! This is great for events such as ludumdares and other stuff. Thank you :wink:

  • RossRoss Posts: 199Member
    edited October 2016

    @WhyAreLess Excellent! You're welcome.

    I've updated it a bit this morning with some new stuff.

    • Added a confirm popup when you click "Reset Time", so you don't do it by mistake.
    • Fixed a bug with manual pausing and window switching.
    • Added an option to ignore window switching and run the timer all the time.
    • Added a right-click to pause/resume feature.

    Other feature requests welcome!

    I would like it to detect when you play your game from the editor and keep counting up while you do that, but turn off if you switch to a different application, but I haven't been able to find a way to do that. If anyone has any ideas about that, let me know.

  • RossRoss Posts: 199Member
    edited October 2016

    OK, it's in the Asset Library now, if anyone uses that. It does cut down installation to a three-click process, which is pretty nice.

    I added more features today! Thanks to Remi's requests. They are not in the asset library version yet; I want to polish it a tad and see if anyone else has feedback before I put up an official new version.
    Here's what I added:

    • An option to hide the seconds display, so it's less distracting.
    • For an even more distraction-free mode, the option to only show the time when you mouseover the widget.
    • A little icon to make it more clear when it's paused. Especially useful for the mouseover-only mode.
    • An option to disable the fancy, gently pulsing, pause animation, for those who are concerned about CPU usage or just don't like the animation.
  • KioriKiori Posts: 201Admin

    I think this is great, I haven't tested it fully yet though.
    Here is my take:
    Maybe you should make "show time on mouse hover" the default.
    Also, in that regard, maybe you can make the widget area contract and expand on icon vs. time display.
    I like the icon showing though, it's exactly what I would have done. :smiley:
    I would change "add time" to "Change Time", "Mod Time" or something akin, since you can + it or -it.
    "Add Time" is very programmer like, but ppl who are new to dev in general might also use it.

    An interesting feature would be the option to save your total time somewhere.
    Maybe json, maybe xml, maybe plain text. And maybe with the option to get total time count and other statistics.
    But perhaps that's beyond the scope of a simple plugin. Though since you asked for ideas... :tongue:

    Great job, something like this was long overdue for the community. :+1:

  • RossRoss Posts: 199Member
    edited October 2016

    Hmm . . . Hm hm hmmm. Yeah I'll think about changing the default. The current ones are my personal preference. Having to mouse over it to see your time seems like pointless extra effort to me, though I can sort of understand why you would want it that way. I kinda like the idea of it showing the timer icon when you first start it though, I think that would lead people to click on it and then they would see all the options. If I do that maybe I should make it start paused though. Hmm.

    Expanding and contracting I've thought about. It does make a lot of sense with the mouseover-only mode. I think I will do that.

    Yeah, the name of the "Add Time" button is something I fussed over for a while. It is a bit programmer-y. I decided that the tooltip about negative values was enough (or if people actually read the readme), and adding time was the more common use case. It's not perfect though. Maybe I could add a sub-button that toggles it between add and subtract. I'm disappointed with the default "Spin Box" too, the arrows have a huge delay between clicks.

    The total time is saved in the "time.sav" file, though it's just stored as an int, not something legible. I could change that. I have thought about tracking other statistics too, like tracking how much time you spend in each panel could be cool, but I think that is beyond the scope of EditorPlugin, or at any rate beyond the scope of my knowledge. And yeah, haha, a bit overkill. It's not like this is a super accurate time tracker or anything. If you want something like that, get RescueTime or something.

    Thanks!

  • RossRoss Posts: 199Member

    Boom, it's collapsible. How's that for compact.

  • RossRoss Posts: 199Member
    edited October 2016

    OK, I changed the "Add Time" button. It's still a little bit weird I guess, but I think it's a lot more intuitive and faster to use this way.

    And I decided to call it version 1.1.0 now. I don't have any other changes in mind. I submitted an update to the Asset Library version, so that should be up to date in a day or so.

    In other news, in my fervor to make slick editor plugins, I made a fork of Kubuczek's Group Manager plugin so I could polish up the layout and improve the UX a bit. It's an awesome plugin! It totally removes all the hassle of using groups: remembering their names, which scenes are in them, if any of those scenes have the right methods to group_call, etc. But some of the weird UI stuff really bugged me, so I went in and fixed it. You can get my version here: https://github.com/rgrams/GroupManager Of course all credit goes to Kubecz3k, I basically just put things in boxes.

  • KioriKiori Posts: 201Admin

    @Ross
    You could add pictures to your github fork so we know what you changed. Nice work though.

  • RossRoss Posts: 199Member

    @Kiori Good point, done.

Sign In or Register to comment.