1. MasterPlan
  2. News

MasterPlan News

Streaming MasterPlan Development!

[h3]Yo, 'sup!
[/h3]

Development on MasterPlan is going pretty well - the next update will be mainly quality of life improvements and bugfixes, like improving support for IME text entry (for languages that require it, like Japanese or Chinese), as well as fixing sound issues.

In particular, though, I thought people might want to watch or ask questions while I'm working, so I decided to stream the process. I used to stream regularly, and decided to try to get back into it! I'll be starting at 2PM Pacific, tomorrow afternoon, 3/25/21.

[previewyoutube][/previewyoutube]

Feel free to come through and see what I'm working on, if you're interested!

v0.7.0 - A Massive Update

Hello, everybody!

Update News


It's been nearly a month since the last devlog update here. Apologies for taking so long, but I've been working away relatively quietly on this until I've had something substantial for you all. Now, that time has come, and so I've updated MasterPlan to v0.7.0. Huzzah!

Anyway, this update is a fairly meaty one with quite a few new features! I'll iterate through some of the major additions and changes below.

[h2]Re-write![/h2]

I rewrote a large portion of the core logic that handled display and movement of Tasks in MasterPlan; the end result is a nicer codebase to work with, and some optimizations. As an example, depending on how many Tasks you have on your plan, your GPU's VRAM usage may drop considerably (from ~5GB on some plans to 200mb!). In other words, I was doing some things extremely wrong and I had no idea, haha.

As an aside, some other changes will cost a bit more VRAM than previously (particularly Note Tasks, as text rendering for Notes has been altered to be more optimized for less CPU usage, but a bit more VRAM usage in return). MasterPlan currently does not free VRAM, which makes this a memory leak. This can be solved given some time. In the meantime, though, restarting MasterPlan periodically if you notice your VRAM being consumed drastically would help alleviate this issue.

Another change that is slightly noticeable is that Tasks now move and expand more fluidly, making their previous instantaneous movements seem stilted in comparison. It's a very minor change, but it's noticeable if you look closely.

[h2]Tables![/h2]

Tables have been added into v0.7.0 and were a suggestion of a user here on the Steam forum (thanks for the suggestion, @jim_hatama!). Since their inclusion, I can't really imagine going back to a time without them!



Tables are much more condensed (and immediately readable!) than a list of checkbox Tasks, but they serve a similar purpose. Tables are generally made for situations where you have to do one task multiple times for multiple events, like making the same set of animations for multiple characters in a video game.

There are three possible states for a cell in a Table - completed (a checkmark), not completed (an empty O), or skipped (an X). You can use a skip (which is placed with right-click) to indicate that a particular task is not to be done, and so it doesn't contribute to the total number of Tasks to complete. In the previous example, an NPC in a video game might not need all of the animations in a Table, and so you can Skip those animations for that specific NPC.

Each cell that is not skipped (whether completed or not) adds to the total number of Tasks to complete at the bottom-left of the window. While Tables aren't numbered, they do contribute as a sub-task just fine, allowing you to easily use a Table within a list of Tasks.

Please feel free to try out Tables, and see if they can help you plan more easily.

[h2]Multithreading![/h2]

The process of downloading sounds and images from the internet and loading GIFs is now multithreaded! Now you don't have to wait as MasterPlan will automatically do this in the background. This also extends to the process of loading your project, which can be quite a bit faster now, if you have images you download from the Internet on your plan.

Downloading time-out times can also be tweaked from the project preferences, in case you're dealing with a server that's a smidge slow on the download.

[h2]Timers, timers, timers![/h2]

Timers now have more options, enabling you to make Timers that are recurring, timers that count down until a specific date, timers that trigger daily or weekly, and even timers that are stopwatches.

Timers can now also trigger Tasks that they are connected to (either through neighboring, or through Lines). This can be useful if you have a series of Tasks that you have to do every day, for example, as a Timer can clear those Tasks for you regularly as long as you have MasterPlan open.

In the future, it would be good to allow Timers to trigger retroactively, even if MasterPlan isn't open, but that's a feature for another update.

[h2]Non-latin characters![/h2]

MasterPlan now supports non-latin character entry! It's not perfect, though; custom font display has a ways to go, and adding all non-latin characters makes general text entry slower. I've optimized some where I could to combat this, but there's still some more things I could do to simplify this even more-so. Also, custom fonts still look busted, haha - please be patient as I work on the font loading and text rendering aspect of things.

___

Thank you very much for sticking with me through this update! Please let me know if anything got wrecked here. It would be wise to back up your projects prior to loading them in the new version of MasterPlan, just to ensure no data is lost. Also, there were some changes to keyboard shortcuts - please check them after loading MasterPlan up again.

(As an aside, this update is right in time for 7DRL 2021, so if you've been looking to try making something for it, why not try planning it with MasterPlan?)

Best regards, and good planning!

- SolarLune



___

[h2]Full Changelog[/h2]



  • Added basic support for non-latin / foreign character entry. Note that you have to specify a font that has the characters you'll be entering (as the default one only has latin characters).
  • Tasks now open, move, and expand more smoothly.
  • Completely reworked the Undo system; should be slightly more optimized (and is simpler in the code-base, as well).
  • Completely rewrote a large portion of the Task update and drawing system; may be more optimized, but it is now primarily simpler in the code-base.
  • Tables have been added. A Table is a grid of checkboxes you can click to toggle them, with customizeable, reorderable headers on the left and top indicating names.
  • Downloading images / sounds are now multithreaded.
  • Modifiers (left ctrl, right ctrl) are now left / right agnostic.
  • Now ONLY Check-box Tasks display Sub-Tasks as contributing to their own completion, not any other completable Tasks.
  • Added a Daily mode for Timers (so a Timer can trigger every Monday, Friday, etc).
  • Added a Date mode for Timers (so a Timer can trigger on a specific date).
  • Added a Stopwatch mode for Timers.
  • Added a repeatable option for certain Timer types.
  • Timers now can trigger neighbor Tasks when they run out. The effect of the trigger differs depending on the Task type - Completable Tasks change their completion level, while Whiteboard Tasks change their colors. Timers start or stop when triggered, naturally.
  • Timers who are neighbors to Lines can now trigger the Tasks those Lines are pointing to, and so on.
  • Added a Rectangle tool for Map Tasks.
  • Themes are now global instead of per-Project.
  • Qutting MasterPlan by pressing the window's [X] now prompts for a quit.
  • MasterPlan now always confirms when quitting, not just when the current project has been modified.
  • Added a keyboard shortcut to quit MasterPlan (Ctrl+Q, by default).
  • Added an optional border around the window (specifically for borderless mode if you want a bit more flavor).
  • Added shadows for UI elements.
  • Map Task type background has been slightly improved, is now a bit transparent.
  • Various minor visual tweaks and smaller bug-fixes.
  • Added shortcuts to teleport the camera to each end of a line, in sequence.
  • The splash screen no longer takes nearly as long as it previously did to disappear. (~2.5 seconds -> ~0.75 seconds)
  • Adding shortcuts for incrementing and decrementing Progression Tasks.
  • Triggering Checkbox Tasks that have SubTasks will now trigger those SubTasks.
  • Timers no longer pause when adjusting their values.
  • Count-down timers can't be started if their value is 0.
  • The grid dot background is now slightly transparent.
  • Added rebindable shortcuts for previously hardcoded window-related functions (window size setting, fullscreen, showing FPS, taking a screenshot).
  • Added rebindable Shortcuts for creating specific Task types.
  • The "first / main" editable element in the Task Edit Panel for each Task type is now Focused by default.
  • Project Volume spinner now goes from 0 to 100, rather than 0 to 10. The volume is also now more naturally distributed audibly.
  • You can now hold Shift to select all Tasks between the currently selected one and the top or bottom of the stack with the corresponding shortcuts.
  • Messages that display at the top-left last for a much shorter period of time (7 > 3 seconds).
  • Timer triggering defaults to off now.
  • Images now load in at their original aspect ratio, but the size depends on the zoom level. This means that images and GIFs should generally always be wholly visible onscreen when loaded.
  • The option to reset images now is in the Task Edit panel.
  • Errors in the message log at the top-left now show up as red.
  • When Project resource auto-reloading is on, MasterPlan will now reload a file if the size OR modified time differs from what is cached in the project. (Previously, this was just based on the file being modified after the time when the resource was loaded.)
  • Fixed up image and sound auto-reloading. It's no longer experimental, though it's still defaulted to being off.
  • Sound Tasks now show the length of the sound and the current position of the playhead.
  • Subtask bracketing tweaked to use different colors and is now slightly thicker.
  • Adding some basic logging to the project loading process to help diagnose any issues with it.
  • Map icon changed from a map to a thumbtack pin.
  • Cloudy theme outline darkened to increase readability.
  • Removing option to save sounds playing in the project settings; feels like a setting there wasn't really a use case for.
  • FIX: Drawing on Whiteboards is no longer chunkier than intended (the resolution has been increased).
  • FIX?: Incrementing a Progression Task's current value no longer increases the maximum if they're the same.
  • FIX: It's no longer possible to undo a project that has just been loaded.
  • FIX: Textboxes now don't take key input immediately after they're visible. This means you can now assign individual keys to shortcuts effectively (i.e. I to create an Image Task, and not type I immediately when the Task Edit dialog appears).
  • FIX: Task swapping now is undo-able properly.
  • FIX: Adding a new task or deleting Tasks now properly moves the entire stack below it. This works if Tasks are selected across multiple stacks.
  • FIX: You can no longer paste characters into Textboxes that don't allow those characters.
  • FIX: GIF Animation has been reviewed and fixed up. Animation frames should now be displayed more accurately (though not perfect in all cases, yet). The timing has also been tweaked to properly display GIFs that lack timing information and rely on default timings.
  • FIX: Newlines are no longer sometimes overwritten in Textboxes.
  • FIX: Slight basic improvements with regards to textbox usability.
  • FIX: Whether timers are playing is now properly saved in the project plan.
  • OPTIMIZATION: General rendering of Tasks.
  • OPTIMIZATION: Cut down VRAM usage for Task editing considerably. This number can account for roughly 80% of the VRAM used for Tasks. (In testing, a plan that previously had 284 Tasks, most of which were Checkbox Tasks, used 1084mb of VRAM. Now it uses 204mb).
  • OPTIMIZATION: Text rendering for Notes is now rendered to a texture, which is then rendered to the screen. This increases VRAM usage for Notes specifically, but is faster than rendering text directly to the screen. Work still remains to be done in this area, as there are still VRAM leaks in this regard.


First Steps After Early Access Launch - Devlog #1

First off, wow!


Thank you all so much - I really appreciate the fantastic response I've gotten so far from everybody who purchased MasterPlan.



I didn't really expect when launching it in Early Access to see so much interest! To be honest, I was a bit scared to even look at the sale or review count until now, haha. So, with this in mind, thank you, again, for your support.

Since launching in Early Access about a week ago, I've been focused on rewriting a large portion of the core of MasterPlan, which dealt with how Tasks were updated and drawn. This was basically one of the oldest parts of MasterPlan, and was important to get squared away before moving forward. This refactoring should help make it easier for me to continue working on MasterPlan, as well as (hopefully!) even optimize things a bit. However, the real reason for this initial refactoring push was to implement multithreading for resource grabbing.

This change means that when downloading a GIF, image, or sound from the internet, MasterPlan won't freeze while doing so, but will instead download the resource in the background. This also applies to loading resources, so loading plans in the next update will be even quicker.



This feature needs a smidge more work, but it will be available in the next version update, barring major unforeseen delays. I wanted to have this all bundled up in an update this week, but there's a lot to do, so I'll see about having it out by sometime this month.

In the meantime, here's some other things from my immediate to-do list - most of it is formed from the feedback that I've received:

  • Support for non-Latin characters - currently, only Latin character entry is supported
  • Add seek option for Sounds (so you can easily rewind, fast forward, etc)
  • Add a confirmation window when closing MasterPlan
  • Modifiers (like left and right control or left and right shift) should be interchangeable
  • Repeatable Timers
  • Stopwatch mode for Timers
  • Periodic mode for Timers (every Monday at 2PM, or every Saturday at 9, for example)
  • Ability to focus on line endings on command to effectively "teleport" around your plan quickly and easily
  • Ability to customize the download directory when grabbing images / sounds from the internet
  • Fix: Creating a new task while a numbered task is selected should move the rest of the stack to make room (this used to work fine, but got broken at some point)
  • Dragging a task over a numbered list should attempt to insert it into the list
  • Undo + Redo for textboxes
  • Panels (The task editing or project settings windows, as an example) should be resizeable
  • A new Table task type (a Task that is essentially a grid of checkboxes)
  • Display full Task text on mouse hover
  • Allow jumping to other Tasks, Boards, or Projects easily
  • Allow opening files or folders from your computer
  • Hide status bar elements when there isn't enough room
  • Add the ability to reposition the status bar
  • Add the ability to search shortcuts for keys or names
  • Add Copy+Paste between Projects


Not everything here will be in the next update, and there's also some more things to do that aren't mentioned above, but these are the kind of new features to expect moving forward.

As a user mentioned on the forums here, it would be a good idea for me to implement a roadmap that indicates short-term goals (for example, some of the features mentioned above), as well as long-term goals (things like GUI scaling, internationalization and translations, and Git integration). With that in mind, that'll be the next thing I add (to the forums for easy reference).

I believe that MasterPlan will improve drastically moving forward, little by little and bit by bit. Thank you, as well, for the suggestions that I've been receiving, both here on the Steam forums as well as on my Discord server. All feedback is welcome and helps to make MasterPlan a more useful tool for everybody, so thank you very much, again.

I'll see you with news or, even better, the next update, soon!

- SolarLune