Home Artists Posts Import Register

Content

As I mentioned in the last Patreon post, work is well underway in the rather massive undertaking that is Wabbajack 3.0. I'm happy to say in this update that development has been going quite well and significant progress has been made.

In software development there's an idea of building a "Vertical Slice" of a program as a way to get an application rewrite up and running as quickly as possible. In such a development style you port or write one of each type of module in the system, so that by careful use of the program the whole application can be proven to be working. In the case of Wabbajack this means: build the supporting libraries, implement one or two downloaders out of the 8 we should support, implement enough of the compiler and installer to verify they work, then get the GUI app up and running to the point where we can install a 2.5 modlist. This is the approach I've taken and it's working quite well.

As of today the compiler and installer are implemented, along with all the more complex aspects like BSA construction and Image recompression. I have a GUI app that I can navigate around and load modlists and trigger an install. All the progress bars and logs in the UI need a redesign, so I'm thinking on that a bit while I decide how best to implement them. The server code is ported, but also untested. But I think we may throw out a lot of the server code and instead use GitHub actions to verify modlists and perform batch jobs. This will improve our uptime by allowing us to have several list validators running at once, so if a sever goes down people can still use the applications.

The cool news is that the app remains 100% cross platform between Linux, OSX and Windows. Our test suite runs all the tests on all three operating systems, and I was even able to find ways to do BC7 and 7z compression on Linux/OSX, tasks that are normally done on Windows.

I'm taking time once a day to write a compiler and installer test. The most gnarly parts of the compiler are well tested now, but this "one a day" approach allows allows us to gain confidence in the new code, while not stopping development for several weeks while we do nothing but write tests.

So what's left to be done?

* Clean up and test the server code
* Build and test the list validators as Github Actions
* Implement the remaining 4/5ths of the UI, but the structure is there so this should go quickly
* Port implement and test the OAuth4 downloaders (LoversLab/VectorPlexus)

* Integrate the browser into the app for logins/manual downloading

Once these tasks are complete we should be ready to start alpha tests. Parts of this can be rolled out ahead of time, like the server and list validation can go live before the 3.0 release. We'll look into that more in the near future. Thank you for all the support, hopefully we'll be able to test in less than a month.

Comments

No comments found for this post.