The word has been 'officially' out for about a week on the front page of the website at this point... although I am a blabbermouth who has mentioned it here and there prior to that. xD Reactions appear to either be positive or of the 'do not know what to think' kind. Which is as good as I might expect, because there is truly very little to say about Project Soulcage that can be easily quantified for PR purposes. Besides the timeless 'it's not a race, it is a marathon' and 'progress is slow, roadblocks are everywhere' thoughts that guide me in this undertaking, I've found it hard to do a post on it on this blog, even though I very much intended to do this on a weekly basis since I started. Alas.
Let's 'waste' this weeks blog post on an easy subject: Why?
"Why what?" is probably the question my rebelling four-year-old has to innocently offer in response, so let's get that out of the way right here and now.
"Why is it named Soulcage?" I needed a name that did not have 'tsos' in it so I wouldn't randomly wipe out our currently functional source code by habitual typing during the actual devving, and 'soulcage' seemed apt of the frustration and work that is ahead of me during this summer.
"Why bother?" There are a load of little and big reasons. While I kind of arbitrarily decided 'I am gonna do this ' at the start of June, the dream of a mystical rewrite has been around for far longer than that. In terms of documentation, the subject of 'TSoS Alpha 2.0' goes back at least three years when an immortal-only forum section was created for this purpose with some features we'd truly like to have if it happened.
"Why rewrite as opposed to fix and improve?" Most obviously, there's the fact that there have been a lot of cooks in our kitchen. I've blogged on that subject two times at this point, so I'm not going to go off on another rant (I hope!) but suffice it to say some bugs have been around for many years, even if they're invisible to mortals and merely result into spam for us immortals to sort through. I am currently the most active coder, and I simply do not know the internal logic of Smaug well enough to try and figure out meaning: the initially shoddy fixes I did to the forms code as of recent show very clearly that I lack an understanding of the bigger picture. My belief is that this understanding is more quickly gained by rewriting than by studying it, which is probably the argument that worked as a tipping point in favor of my starting this ordeal.
"Why doesn't Vandread explain things to you?" Nobody will ask me this, but I'm going to write it down anyway. He explains things a lot, but he has a job during the times I am around, and even then his ability to remember all of it is not perfect. It comes down to saying 'Oh, I saw Sally with your pen', and then you'll just give up on it because Sally is the biggest hoarder you've ever seen. :) Besides that, Vandread has on more than one occasion heard me rant about the codebase with thoughts he himself remembers having whilst trying to figure out the answers; all those things combined show that there is very little 'knowledge' of our codebase amongst current staffers. Sure, some of us know the commands really well, but the knowledge to change or improve is non-existent for as far practical terms goes.
"Why not?" Exactly. Why not?! My thoughts precisely. There are so many things to be gained from this project, most of which have been given up on and delegated to a 'it would be nice to have some day, but it won't ever happen'. Those ideas and dreams are at the core of Project Soulcage: things that a modern mud codebase ought to have to inspire joy not only amongst our players, but amongst our staff as well. There is also the fact that this codebase is based on an incomplete understanding of the WoT universe: the channeling system in particular is messy and incomplete.
The very first phase of Project Soulcage has been underway for nearly a month at this point. It has been extremely slow at places: at the time of writing this I have 'consumed' about one weeks worth of not touching it in order to pace myself after running face-first into the implementation of one issue that was very well on its way of souring me on this project: I ended up discarding 4 days of work after I went down the 'wrong' path. And despite my attempts to put Soulcage off my mind for a few days, my mind is still whirring with the thoughts and plans on how to tackle future phases in the most responsible and dependable manner!
What exactly is involved in this first phase and what other phases there are will be the subject of a future blog post. :)