I’ve spent some time with The Machinery (2020.7 and 2020.6.a before that) so I’ve decided to share some of my observations.
I really enjoyed the Bitsquid engine (at least as far as I could tell from the amazing blog posts that accompanied it ) and I’m happy to see that many of the ideas behind it survived. I’m a little saddened that multiple tools approach is gone but I’m sure I’m in the minority here. Everything as a plugin architecture definitely sweetens the deal.
The concept of using graphs for everything is very promising, even if the content import is a little bit confusing at first. I’d like to find some extra time and see how pluggable it is and what kind of features I’d need to implement some of the ideas it sparked.
The part that I find most lacking right now is UX polish. Everything is usable but some things are a little bit unpolished. Since it’s beta there’s probably no better time to report issues than now.
Please let me know if you need all of these reported individually over at GH for internal tracking.
Window sizing behavior is a little bit odd. This is the typical behavior for most in-box Windows applications:
- The default windowed size (complete dimensions) is smaller than the available screen estate on the current monitor (
SystemParametersInfoA(SPI_GETWORKAREA, NULL, &rect, 0) +
InflateRect(...) with negative values).
- The 1-pixel border around the main window disappears when window is maximized.
- Window title bar background changes color between active and inactive states.
- Clicking on the application icon opens the application menu and double click executes default action (most commonly
Close / Alt + F4).
Point 1 was previously mentioned in this thread.
If the window size exceeds the work area, on startup its portion will be covered by the task bar. Combined with point 2 it makes it hard to distinguish large and full screen window, plus portions of the window can be occluded by other stuff. Window that looks fullscreen but isn’t will also cast shadow on a multi monitor setup.
There’s a number of small nits when it comes to the Entity tree.
Navigation with keyboard is only partially implemented. Up/down work to move the cursor but left/right don’t navigate nor do they collapse/expand the view (same for space).
Opening prototype replaces Entity Tree with the new root node. This is expected but if one gets there through RMB in the broader scene Entity Tree it feels like I’m navigating in the web browser that’s missing the “back” button. I feel like there should be some sort of history stack for the Entity Tree view. This could bind to backspace the way some web browsers do.
Again a number of small nits here.
Subgraphs aren’t clearly indicated as such. I feel like they would benefit from a distinct color or border style to improve affordability.
Once in the subgraph, the back button is available but it’s not visually distinct in any way so it took me some time to find it. This view does have the history stack but what’s missing is support for backspace and perhaps some indicator of what is on the stack. The UX here should probably be shared with other views (Entity Tree primarily, perhaps others).
Content seems to be marked as “dirty” even if no changes were made. It looks like the act of viewing contents of a drop down is enough to mark something as dirty (but it doesn’t add any change to the undo stack, which is weird). There’s also no way to revert dirty flag on a single asset and all
View > Modified Assets enables is saving all of them.
Right now the selling point for me is The Machinery’s ability to act as a framework for custom tools (à la simple-draw example). What’s not clear to me is the licensing you have in mind. I can imagine that there will be some sort of profit share scheme for games produced with the engine but what if I wanted to publish an open source tool built with it? What’s your take on this use case?
Thanks a lot for getting this far. Great piece of software, kudos!