As I mentioned previously, I am back and I have some plans for UT99, some of which I have already set into motion.
However, these plans do not only affect UT99, they also affect Unreal and potentially any other games I may mod for in the future, or even make down the line if that ends up being the case.
They also greatly affect what I currently do for a living (and which I intend into keep doing), since these plans mean to actually severely improve such as well.
It's almost impossible to tell all about it without boring you to death with what could amount to one of the biggest posts ever, so I will try to restrict myself to the most critical points to keep it as short and concise as possible, and spoiler tag whichever things which are just complementary information that you can opt to skip or read if you feel like it, but this is still going to be a long post.
However to spare your souls from the incoming text, here's a TL/DR version:
but if you are up to the challenge, just keep reading.
3-Stage Long Term Plan
To put it into simple terms, this is a long term plan, perhaps spanning a couple of years at least, and which I have already started with in October of 2016, and is split into 3 major stages: a PHP framework, a service and a mod coupled with tools.
The plan by itself is very straightforward, but it will just take some time to pull it off: build a new PHP framework (1st stage), create a new service which is where the framework main page will be on, as well as both UT99 and Unreal free services such as a way to host mods, maps, advertise servers, search, etc (2nd stage) and then later the development of a few things to potentiate a new mod I have been planning to make a game of, but which I will opt to do for both UT99 and Unreal instead, at first at least.
Stage 1 - The PHP framework
Right now, this is what I am working at, so it can be said that I am still currently in the 1st stage.
I have been working on it since October of 2016, although most of the time was mostly experimentation, and there have been moments when I had to pause it, there was a lot of refactoring done several times, up until it reached a state where I saw things just fitting together and fall into place by themselves, and were simple yet powerful enough to be happy with what was just built.
This is not the first PHP framework I ever did, this is in fact the 3rd one I am developing, but it's the first one that is open source.
The 2nd framework is being used as one of the foundations of a service used by millions of users worldwide (perhaps maybe even you?), with easily hundreds of billions of requests every day, and it just works, and it has passed security audits without any problems, and my team is highly productive with it and generally they don't have to worry much about the scaling, so as of now it stands as one of the things I take the most pride of having built, more so than NW3 for example, but it's closed source and will likely remain closed source forever.
But it has several limitations, some design flaws as well, patterns that do not make sense anymore and only make things harder, given that as anything in life, everything is always as far from perfect as it could ever be, so this new framework is first and foremost meant to establish a new much better base for things to come.
With this new base I could much more easily do the same things the other framework is capable of, along with new things which weren't possible with it, or which were harder to implement reliably.
Also, this was something that I started on my own, in my free time (hence also the long time taken thus far), so it completely belongs to me, hence being able to open-source it under an MIT license.
However, and this is where things get really interesting: the company I work for agreed in "sponsoring" this framework, while keeping the framework completely my own, which means I will be able to work on it during my working hours as well essentially (not 100% dedicated to it, but at least some hours for whatever is needed for us at any given point in time, which at the start is a lot).
But of course, this is only because this framework is also going to be used by the company itself, which aligns with my intention all along since that was the original intent when I started it.
If you wish to follow its development, the repository can be found here:
I only created it some days ago, since up until then I was developing it in a private repository elsewhere.
Stage 2 - The service
After the framework is fairly finished (I don't need all of it to be complete for this, only what I am going to use there), I intend to create a new site built with it, and which would have domains for very specific things.
I already bought a domain (feralygon.com), so I intend to have the following:
- feralygon.com or www.feralygon.com will be the main entry points;
- php.feralygon.com will be for the framework documentation and such;
- ut99.feralygon.com will be for UT99;
- unreal.feralygon.com will be for Unreal.
In the case of UT99 and Unreal, which are the ones which matter here, the idea is NOT to build a forum of any kind. Every single time someone comes with a new UT99 site here, it's a goddamn forum.
I am not saying it won't eventually have one, but for what it is worth, this is not meant replace any forums: UT99 has this one, just as Unreal has OldUnreal.
The idea here is to actually build at least the first place where anyone can come over and have a working game with the maps they want and the mods they want.
This means having a place where anyone could just come, browse through the content, and mostly quality curated content, and easily install it in their game.
This also contemplates a possible "game launcher" to be downloaded here, possibly done in Electron or something else entirely (preferably something using webkit), and this launcher could do everything from patching the game with the newest renderers and settings, safely downloading and installing (and uninstalling) mods and maps from the game seamlessly, publish your own content, match making, get news about new content, clan matches, etc, etc... you get where I am going with this.
This game launcher would work through an API, and my place wouldn't be the only possible place to go, as a simple REST interface, and perhaps even a small SDK, would be created so that anyone could also host theirs and have players adding these places, or if the other places are trustworthy enough, even coming by default in this launcher.
With a place like this, maybe even things like creating awareness about the existence of things like XC_Engine would be far more simpler for example, as well as any other things like new renderers and such.
At this stage, there would be some stuff that could be open-sourced, and other stuff which cannot, but at this stage I would also be able to build a whole new version of this as well:
since I would use it myself, so that things like dependencies could be solved automatically, mismatches avoided entirely, previews on texture packages, sound packages and etc could also be made, etc.
I think this should give you a somewhat clear idea of what I intend to do, and this is the most important and relevant part for UT99, but it's dependent on the conclusion of my framework first.
It's intended for a UScript client to also be built at this stage so some of these things can be seen and managed from within the game itself.
Stage 3 - The mod
If I do manage to reach this stage at all, my intention is to build some things in UScript, and create a few new services on my place as well, and then build a new mod with them, something I want to do for a long time, and it would work for both UT99 and Unreal, since I would develop the necessary polyfills to be possible so.
I won't give much detail about this yet, even because it will probably pass a whole other year at least before I even reach this stage, and there's a lot of work ahead before I even hope to pick this up, but it's going to be essentially a new weapon mod for what it is worth.
And no, it's NOT a NW4 at all, although truth to be told it actually is akin to something like a NW4, both conceptually and intended mod quality, so it's supposed to be yet another leap just like from NW2 to NW3, and although it's going to be more than a weapon mod, it will be mainly a weapon mod nonetheless.
It took me years to develop NW3, but other than doing it in my free time, I was very inexperienced and my skill from back then has led me to do things in ways which were very inefficient and labor intensive, only to do something too "static".
And next I don't intend to do something as "static" and as inefficient, but it only justifies in being done at all if the previous stages are completed, especially since the mod itself would greatly benefit from the features I intend to provide in the previous stage.
Please be aware that this is going to take a long time, and for what it is worth these are "plans", "intentions", and other than the repository I just linked, there isn't anything done or ready to be used at all, meaning that although it's my full intention to proceed with this myself, especially since it's something I can apply not only for UT99 and Unreal (I chose these games since they are still games I like a lot and are the ones most missing something like this), there's still no guarantees of what will actually happen, and how far I will be able to go with this.
This is yet another challenge to me as well, and I am only posting it now since enough time has passed since I started to work on this, and given that I didn't drop it thus far, it's unlikely that I will drop it at all.
Also, this way, although I am somewhat active again around here, this makes it clear what I am busy with, and you can follow the progress through the repository I linked if you wish, and I might post here or in a different topic whenever a milestone is reached within each stage.
So you can consider all of this vaporware for the time being, but now at least you know what I have been up for a good while already.
Thanks for reading