It has been a slightly bumpy day: Had a sugar crash from a fairly sweet food trip, a couple assets forgetting where a c++ struct was, and the tens of retakes to get a good reveal video. But it's great to finally get out the sequel to Blutorial. In the form of it's builder companion.
To give a quick explanation so that I don't go off the rails, it pretty much allows you to build an activity out of the nodes that Blutorial can recognise, which then gets compiled down into a Data table field. This can then be read by Blutorial (at some point in the near future) and spawned back in along with the pages that make up a level, building your own blutorial activity.
I had some time to put into work before the Gradex 2025 show, and I was debating what to actually do for it. It made sense to work more on Blutorial because of it being the deepest solo project I've made at the time of posting this, but I was lost with where to start: Should i refactor all the logic? Convert it all over to C++? Revamp the front end UI? Realise the vision of what blutorial could truly be? Migrate it to a plugin? (That actually was done). I think you get the point.
The eurika moment came when i was probably peeling carrots or something, and I realised that whilst I could be making content for blutorial so that there was a good output of things for learners to engage with, it was lacking an input to allow users to generate their own puzzles, making the tool personalisable.
This. Was. It.
To kill two birds with one... it's a stone. get it?
...i decided to also use this opportunity to address the difficulty with actually authoring puzzles. So I thought of re-using the ubergraph investigation algorithm to not only check answers to puzzles, but to pick up on what the user had made, and feed that to a data table.
Another feat of the system, was the way I did UI. It seemed interesting to try and create a toolbox of widgets that were scriptable, whose contents hinted at the idea of being programmable by users who wanted to make their own things for blutorial. So I used a data asset to store all the contents of what makes up a UI layout, then take that and make my system construct it when it's given the command to. This makes a UI which was realllllllllllly easy to extend and modify since all of the individual bits and bobs were like applications on their own: with individual dependencies and relays back to the primary widget that could be binded to.
(That's actually what allowed me to add a page allow exporting to any valid data table within just minutes)
And the result was an addition to an already awesome piece of work, which now showed that this could cater to more than just learners, but anyone who wanted to use it to teach their own things.
I still do have a bigger vision though, that not only Blutorial can be used for teaching blueprint, but to address Epic's issue of tutorialising anything within the engine at all... So perhaps creating a framework to not only allow a specific learner audience to learn blueprint, but for any learner to get up to speed with absolutely any system with demonstrations and documentations provided by the author, directly in-engine???
It's still an early vision, but who knows, maybe this could really help a load of people.
Till then, we've got a long way to go :)