It’s taken awhile, but it’s finally here! The first video in my analysis series.
Yes there’s a lot of additional information I didn’t cover in the video, or details I may have overlooked. You might also be wondering what my sources are. In this case I recommend checking out the documentation I’ve written out alongside the video.
Credits don’t go to me, I’m not actually sure who originally produced this, but saw it on Twitter and thought it was fitting.
Moving on though, yes there will be new content soon. I’ve been buying some new equipment recently for recording and I’m preparing to invest my time (and money) pretty heavily into this. However, I’m unsure in where things are going to go and how I’ll do things, so prepare for a lot of experimentation (not that there hasn’t been any already).
Currently, the plan is to get recording equipment so that I can actually do analysis videos, where I go into greater detail into some of what you see in videos, but another thing I’ve been looking into is, well, essentially “Let’s Plays”. Now I know, how are LPs relevant to this website? Well as you know I recently started doing a playthrough of Prey, because I feel it’s somewhat underrated and thought while it’s good to cover games in their earlier forms, it’s also important that people are aware of what the final product looked like. I want to throw my voice into the mix because it gives me a chance to talk about certain aspects of the game that I’m aware might have changed or generally go into finer detail on certain matters.
I have actually already tried this in an additional Prey video, that’s yet to be made public, which also includes a web-cam view of myself, which could be pushing it a little, but I really need more feedback before I can decide on what works and what doesn’t. I’m not the most confident individual either, so trying to adapt myself is rather difficult but all round I think this would be a positive thing so long as I can make it both entertaining but more importantly, informative.
I have recently started a Patreon. So if anyone wants to, they can both support the content being produced here but also receive something of a reward in return. I’m not completely familiar with Patreon so this is rather new to me, but I can’t emphasize enough how much your support matters to this websites continuation and generally means to me.
While there’s a lot of information on the page regarding the work I do, essentially your support means I can put more work in towards the quality of content I deliver and time I can put into it.
Hello everyone, I’ve had a number of emails and messages now asking me if I have anything more to release surrounding Unreal or the Unreal Engine in general. To be frank there’s still quite a few things I have which aren’t yet in the public space but there’s several pretty good reasons for it.
Releasing source-code is a little different than releasing a build because of the implications, especially when it can potentially be damaging to a still active community.
Some of it is actually too big for me to upload in just one day.
Documents and other content may still need looking over.
I may have been specifically asked not to upload it.
Additionally, Unreal and the Unreal Engine are not my only or primary focus. This is an archival site for a multitude of different games. There are many other games which I want to cover, so many so that I probably couldn’t cover everything in my lifetime.
If there’s anything else then I will either post about it here or on the BetaArchive forum.
So I’ve had a lot of spare time lately, which I’ve decided to spend on going through all the Alliance content.
Here’s a disclaimer, a lot of this work has been done over the last day or so, so excuse if it doesn’t seem like much but I was making some pretty good progress so I felt I’d post about it.
There’s several things I wanted to do during this time, I’ve produced a few videos showing content of the game which I think people will appreciate, I’ve been in talks with a friend on getting some of the design documents narrated and presented to you guys and finally I’ve been seeing how feasible it would be to produce a semi-restoration of the game as it was in a more modern engine. That last one likely sounds odd and understandably that’s probably true.
Why would you do that? Well there’s definitely followings out there for games such as this which, even to this day, would love to have played it. Obviously though the game was never finished so because of that there’s an extra load of work surrounding something like this. What motivates me however is that any progress I might make will hopefully help anyone else looking to do the same, and if not it certainly makes the content much more accessible for people to examine and explore. Regardless if games like this were released or not, I think they’re still pieces of history that shouldn’t be lost.
This involves going through all the assets within Alliance’s files and figuring out ways in which the content can be converted without losing too much / anything at all, and then finally sorting it. Each bit of content such as textures, sounds or models, can take a considerable amount of time individually for many reasons; keep in mind this content is literally over a decade old now!
I’d say I’ve been making some fairly good progress on this. My focus for now has mainly been on the models purely because I see those as the most work. Why would we want to grab all these ol’ models? Well again, this will make them easier to examine but also because they’d make good placeholders until the point of which, possibly, new content could be produced.
Initially my efforts on this didn’t go very well. It’s fortunate because some of the original 3DSMax files were also among Alliance’s files, but there’s a number of issues that you’ll encounter from trying to open these! Firstly it seems the development team used the BonesPro plugin for 3DSMax which means that none of the models will be rigged upon opening them. This isn’t a huge problem. The huge problem is that some of these will cause 3DSMax to crash. I’ve tried 3DSMax 2015, 2011 and asked a friend to try 3DSMax 5 to no avail, it’s likely they could possibly be opened with a much earlier version of 3DSMax but I’m yet to find a copy, so until then I’ll have to work around this problem.
Starting with the Trooper, I eventually found two copies of the mesh that could be used and, after searching through many of the animations, eventually found a base animation pose that matched that of the mesh. After this I sent the mesh and animations off to a friend who kindly rigged both the older Trooper mesh and the newer one.
So with that done I began exporting all the animations from the 3DSMax projects within the files. Originally I wanted to export everything into the Collada format but support was seemingly poor in 3DSMax. I considered FBX but then decided to go with Valve’s SMD purely because it wasn’t a binary format, the Blender plugin works and it seemingly exported with very little hassle.
Finally coming to a decision I then converted every single animation individually. This wasn’t fun and I could have likely looked into a way to simplify that process but it’s too late now. With that done, I started trying to decide on an engine, a decision I still haven’t quite made, but I decided to set the models up so I could compile them to view within Valve’s Source Engine since it just happened to be an engine I’m currently a little more familiar with. I considered UE4 but it currently slows my computer down to a grinding halt and I’m not at all familiar with Unity. I had also deeply considered expanding on the engine we’ve been developing for Decay and I suppose I still am, but it’s currently not feasible to quickly prototype anything on it yet unfortunately.
With that out of the way I looked into ways I could extract all the textures from Alliance’s UTX archives. This had to be done through a method that didn’t require me to do it individually. I was a little upset because I previously had some software that worked over the command line that would do this but it’d seemingly gone missing and I could find no trace of it online. I’d almost lost all hope until I stumbled upon WOTgreal’s Exporter which is a fantastic piece of software because it also allowed me to extract all the sounds as well, which saved me a huge amount of time. Sadly it’s ability to export Unreal’s 3d format from some of the packages didn’t seem to function but this isn’t a huge problem right now (I have something in the works myself).
So with most of the textures extracted (some packages failed to open but that’s, again, not a huge problem) I then moved back onto working on some of the models again. The first thing I did was fix some of the rigging on the newer Trooper, as some of his animations would essentially cause him to suddenly develop wings.
With that resolved, which was my first time painting vertex weights, the new Trooper model was pretty much done. I began looking into what other models I could try to open up, export and rig, again, rigging being something I hadn’t attempted before. The Ascidian race seemed like a good start, and seemingly it was; both the new Ascidian mesh was easily exported along with an older version, the only downside being that the former was seemingly ever slightly outdated (slightly different UV map and additional assigned materials). The skeleton appeared to be the same as that of the Trooper which was very much a major win. Taking in the knowledge I’d gained from fixing the slight mistake on the Trooper, I set out to rig the Ascidian as best as I could and ended up surprising myself. With it rigged, I looked into exporting some of its animations but sadly encountered a little less luck there however it seemed a lot of the Trooper animations fit it perfectly well so regardless of original intent, it works for now.
After this I spent a short while cleaning up some of the UI graphics before then moving back onto the Trooper again. This time to, again, try some new things I hadn’t done before. Because we don’t have to rely on per-vertex animation anymore and rather, skeletal animation instead, it seemed fitting that I’d add support and look into blending some of these animations together and essentially modernising them a little. Luckily a lot of the animations used for the Trooper were essentially perfect for this, we’ve got animations for looking up and down for both running, walking and standing, animations for strafing left, right and walking forwards or backwards and well, you get the idea.
This was surprisingly easy and looks pretty great too though there’s a lot more work to do on this (like some additional animations to look left or right). I modified the strafing frame rate just so it matched walking a little better.
So now to explain that rifle. I also spent a considerable amount of time trying to export some of the weapons but sadly without much luck, seemingly every single 3DSMax file for this particular model just did not want to open regardless of what I did (I believe it somehow has something to do with the weapons geometry) and instead would just crash immediately upon loading it. So being in a hurry to get some sort of weapon into the hands of the Trooper, I opted to use Milkshake to import the 3d file for the weapon model. Now I should explain that there’s a good reason why I don’t use Milkshake for this; deformation! Milkshake often screws up the scale or even sometimes just the general shape of model it imports in this format which is why I generally don’t use it. Oddly enough this model was also at a slight angle which I believe was intentional so it would correctly sit in the hands of the Trooper which is something I’ll likely be resolving at a later point. Going back to Milkshake, luckily in this case it was one of the models that just gets simply stretched on its Y axis which is easily corrected usually just by subtracting 0.5 from it. Sadly however, translating that into Blender then into Source showed some interesting issues with scaling; I ended up having to open Alliance’s UnrealEd up and placing the Trooper and Sniper Rifle beside each other just to get an idea of the scale before correcting it.
Something else Milkshake seemingly destroyed are the UV assignments for the model. I believe the Sniper Rifle used three separate textures however the only UV map left intact is the one for the handle. I question if I’m willing to put the effort into trying to sort the UVs out or just try to continue developing my own converter for Unreal’s 3D format, in the long term the latter is the better solution though.
Anyway that’s my progress with XCOM Alliance so far. Most of this is up in the new AllianceResources repository on GitHub.