14 February 2020

ShipBasher Development Log 5: Boring Walls of Text

I don't really have any eye candy to show for it this time, but I've met another (relatively minor but still significant) milestone and figured it was time for an update. I have to substantiate claims I'm still working on it, after all xP
Before I stopped to work on Hat Simulator, ShipBasher had just managed to reach a point of functionality at which it was possible for a user to build a ship from scratch, save it into a file, and then load the ship from that file for editing. It wasn't (and isn't) yet possible to load a ship into a controllable state for gameplay, but the editor could make a complete edit-save-load "round trip."
There were issues, however. I was starting to run into a bloating problem with my UI fields having to interact with the module selection script and the modules themselves in order to fill themselves with data from the selected module, to update said module if the data in the field changed (so if a user changed the value for the modules X position, the module should actually end up at that position on the X axis), to save that value somehow (in case it's some invisible property such as the module's HP or description), and to do these tasks in the right format - integers for HP, 3D vectors for positions, text strings for names, etc. As I mentioned in the Hat Simulator devlog, it became clear that I needed an entirely different back end system for all of this stuff.
I devoted two devlogs' worth of development time to designing and constructing this new system, and was so proud of myself that I packaged it up and got ready to sell it on the Asset Store. It ended up being rejected due to some technicalities, and OH BOY did that turn out to be for the best! It worked very well for the very simple environment in which I had been testing it, but a number of bugs and missing features became clear once I tried integrating it into ShipBasher in place of the old system. In fact there was even an awkward period in which the loading part was working mostly properly, but the saving part was so far from operational that the old saving system worked better and so I was (temporarily) using that instead!
Now, however, I am pleased to report that, as far as my tests have been able to indicate, everything is fully functional once again. It's far from ready to share with the public for a number of reasons (notably that there's a high chance that saving and loading is only possible if the user's computer has an R:\ drive!), but it's finished enough that I feel safe proceeding to add new features and to work on other components of the game (such as maybe actually being able to play it). Hooray!
I do still hope to make the Editable Data System available for purchase sooner or later, now that it's been given some much-needed upgrades and it's more clear to me where the documentation needs to be augmented. Feel free to ask questions about it, even to request features you would like to see in such a system. In the meantime, stay tuned for some hopefully exciting and more visually pleasing updates!
Okay I had to include at least one picture, so here are some spaceship concepts I drew hastily.

Oh, P.S. since this is the first post here since these happened: ShipBasher now has pages on itch.io and on Patreon, and I post about it sometimes on Twitter. You know the drill: follow those for updates there. I don't have any tiered rewards set up, but I'm mulling over some ideas and in the meantime suggestions are welcome.

Sorry this isn't a real post :C

I've entered graduate school and, as I expected, suddenly become far busier than I had been before, leaving no time to maintain my blog,...