BEHIND THE SCENES OF

A LOT OF TEXTURES (ALOT)

This article is intended as documentation for the making of ALOT and its evolution. It's there for those who want to know more about ALOT, textures and modding in general. It shows the work that went into making ALOT what it is today. I also talk about what ALOT means to me personally. There's a bit of everything. I hope it makes for an enjoyable read, there's pictures at least.



A Lot Of Textures (ALOT) is a mod seeking to give a visual upgrade to the entire Mass Effect trilogy ( ME1 , ME2 , ME3 ). The three ALOTs, one for each game, contain in total over 40 GB of unparalleled high resolution goodness, with around 20,000 textures. It is also the largest modding project of its kind for any game. The result is a trilogy that is much more pleasing to look at, and thus more enjoyable to play, especially for new players.



ALOT is now well established, with several updates having been issued for each of the games, improving the mod even further. ALOT has been featured on the entire holy trinity of video game journalism, according to my absolutely objective standards ( PCGamer , RockPaperShotgun , Kotaku ), as well as many other websites.



ALOT couldn't have come so far or even existed without the contributions of many artists, developpers and the input of countless users. A complete list of the textures in ALOT, and their respective authors, is available here . Many artists contributed to ALOT, namely (at the time this article was written) AlvaroMe, commositore, CDAMJC, CreeperLava, cristi1990an, DeadMeat, ELE08, Ellise, heleuss, JeanLuc761, JimbobJeffers, MaryseDynasty, Mellin, Mgamerz, mylastsong18, Ottemis, smarteck, sulezraz, Tarshana, TheDarkFalkon, ThinkBlueN7.



The ALOT team currently consists of three people : myself, aquadran and Mgamerz. AlvaroMe is the honorary fourth member, but he has left the modding scene for now. Mgamerz and aquadran developed and provided vital support for two essential tools used by ALOT, namely the ALOT Installer and MassEffectModder . Thank you also to KFreon for ImageEngine and his work on ME3Explorer .



Most of the work in upgrading the Mass Effect Trilogy's graphics has been done, from upgrading textures to optimizing the game's graphical settings. The user experience of installing said upgrade has been simplified as much as we could. There's always more to do, but I feel like this is a good time to update my previous article about the making of ALOT, since no major changes are planned anymore . I should have known this would end up not being true at all. Both version 2019 and 2020 of ALOT are major updates with a large impact on the game's visuals.



We always welcome any contributions to the mod, you can come and talk with us on Discord if you're interested ! The Discord is open to everyone, whether you want to talk about ALOT or modding in general.









I. THE FIRST AGE : ORIGINS



ALOT is a project that was initiated by myself, CreeperLava, in 2015. My initial goal was purely selfish : I wanted to play Mass Effect 3 a second time, with the best possible graphics, and that meant texture mods. So I started gathering all the texture mods I could find, first the most popular ones from me3explorer.freeforums.org (relocated at me3explorer.proboards.com , a forum now largely inactive), NexusMods and BSN ( forum.bioware.com , social.bioware.com , two sites that have now been abandoned and shutdown by Bioware and are only partly archived by archive.org and the Bioware Continuity Project (BCN) ). Then I went to search for more niche mods on blogs all over the internet.



The problem I rapidly encountered is that there were alot (get it ?) of mods, and I wanted to use as many of them as possible. We'll call that perfectionism instead of obsession. At the time I didn't know anything about modding Mass Effect, so I set out to learn from the very helpful people over at me3explorer.freeforums.org.



I started looking into a way to try out my rapidly growing collection in game. One solution was Texmod : a very old school way of replacing textures. Texmod is a very useful tool in that it is able to replace textures in the game's memory on the fly, by packing them in a TPF file. It can also extract textures from the game while it's running.



A TPF file can contain multiple textures. TPF files are essentially archives where the textures are stored, similarly to zip or 7z archives. Textures can be stored in any format in a TPF, from regular image formats like PNG, JPG, TGA; to the more specialized file format used in Mass Effect : DDS (DirectDraw Surface). In that regard, TPF files are very flexible and easy to use.





Texmod Texmod

Texmod is easy to use, but has major inconvenients :

It needs to load all the textures you want to use in RAM. This isn't a problem if you're just replacing a few of your squadmates' textures, but once you have hundreds or thousands of textures, Texmod becomes very slow. Think 30 minute long loading times. That and you eventually run out of RAM.

It has a limit of 2 GB of textures. Same thing, not a problem for small TPFs, major problem for ALOT and its 10 GB of textures. ALOT was quite a bit smaller at the time, but still.

Texmod accepts any format for textures. This can cause graphical glitches, as some formats aren't properly supported by Texmod, despite being accepted in TPFs.

In short, Texmod wasn't future proof, and should today only be used to extract textures from the game. Texmod makes it very easy to highlight textures in game.



The Normandy's female crew's outfit, highlighted in a fancy green by Texmod The Normandy's female crew's outfit, highlighted in a fancy green by Texmod

ME3Explorer (link is of Mgamerz's most recent fork, at the time ME3Explorer used SVN) was the way to go : a toolkit for modders with a plethora of useful tools to modify textures, meshes, sound, dialogue... Think of it as Mass Effect's Creation Kit.



It is able to display and replace textures in the game files. The way it does that is by first scanning all the game files (files with the PCC extension) and building a "tree", ie a list of all the textures. In the tree, textures are identified by their unique hash. A hash is a hexadecimal number that uniquely identifies a set of data.



The technical details don't matter here, just remember this : every single texture has a hash that serves as its identifier (for example : 0xAED124F0). In the game files, textures also have names, whose nomenclature is detailed here , but these names aren't unique, and thus very impractical to use. I only use hashes to manage textures in ALOT.





A list of hashes A list of hashes

Now that I'd set up the tools to install the textures, time to prepare what was essentially the prototype of ALOT. All the mods I'd downloaded came in Texmod's file format, TPF. ME3Explorer was perfectly able to install these files, but I wanted more control over my textures.



Many of the TPF files I'd downloaded covered the same textures. For example I could have 3 TPF files that replaced Ashley's default armour. I wanted the best of everything. I set out to extract the 500 or so TPFs. Being lazy, I quickly gave up extracting those one by one and asked KFreon, one of the developpers of ME3Explorer, for a bulk extract tool, which he made and even added to ME3Explorer itself, for which I'll always be grateful.





ME3Explorer TPF Tools ME3Explorer TPF Tools

The extraction was the easy part though. Now that I had 500 folders full of textures, came the time to check for and remove any duplicate hashes. This means using Bulk Rename Utility to reduce all texture file names to their hashes, and dupeGuru to have an overview of all duplicates.



I'd also dumped the entire 27 379 textures of ME3 in a separate folder, to be able to compare them to the mods I'd downloaded. Their names also reduced to their hashes, they were part of the list of duplicates to check. The goal was, as stated in the ALOT description, to find the best balance between quality and respect of the vanilla art style.



Then comes the mind numbing part of going through every single duplicate group and comparing the textures, every time selecting the best and removing the rest. This took a long time. A long time. But it was the summer holidays, and I had plenty of time.



At that time, despite the large number of textures in ALOT, quality primed over quantity. Respect of vanilla (ie unmodded) style was paramount for me. I didn't want good looking textures that clashed with the rest of the game. Every single texture in ALOT was carefully handpicked with that in mind, from the work of the many contributing mod authors.





dupeGuru's comparison screen dupeGuru's comparison screen

At this point I wasn't doing it only for myself anymore, since several people over at me3explorer forums expressed interest in the project, and I started to think about publishing the mod once it'd be done.



This however, meant needing to contact all the mod authors whose work I'd included, to get their permission to publish ALOT with their work. This wasn't much of a problem at the time, as the mod authors were still relatively active and generally open to the project. However, it would be impossible today, given that most of the websites where you could contact them have been shutdown.



I first published the mod on the me3explorer forums. That's also when I thought of the very funny recursive acronym ALOT for my mod. Once I realized it wasn't going to get much exposure on a forum used pretty much only by modders, I posted it on Nexus. This, was the end of the First Age.









II. THE SECOND AGE : EVOLUTION



From the initial release of ALOT for ME3 on Nexus, in 2015, ALOT quickly evolved as I was becoming more comfortable with working with textures and understanding all the underlying complexity behind them. Updates came out in rapid succession to fix the bugs that kept popping up. The process I followed to create the initial release of ALOT hadn't been particularly methodical and lacked a certain rigor.



Many bugs were caused by my own inexperience, but many more were caused by ME3Explorer itself, ie the tool I was telling people to use to install ALOT.



Let's roll back a bit and talk about texture formats. You see, in the Mass Effect games, textures are stored in the DDS file format. A DDS file can be saved using many different codecs . It's all complicated algorithmic, but essentially, you always store a texture according to the following rules :



A texture is a picture that is used to give information to the game about a 3D model. For example, what colour Garrus' armour should be. Like the photos you'd take on your phone, it is made up of pixels. A pixel is usually made up of 3 colours : red, green and blue (RGB). Each of these colours has a value on a scale between 0 and 255. Think of it as a scale measuring the intensity of each colour. When the 3 RGB colours are equal to 0, you have black (no colour), when they're all equal to 255, you have white (all colours).

Occasionally you have a fourth component to the pixel : the alpha. Also between 0 and 255, the alpha determines the transparency of a pixel, ie how much you can see through it, from completely transparent to completely opaque. A texture has a size, or resolution, that is always a power of 2. So, valid texture sizes would include 1x1 pixels, 2x2, 4x4... up to 4096x4096 (ie 4K), in ME3. You can go above in newer game engines, but the Unreal Engine used by the Mass Effect series is limited to 4K.

NB : Texture resolution is completely independent from your screen's resolution, as tested by myself . A 4K screen has a resolution of 3840x2160 pixels. A 4K texture is 4096x4096 pixels large. It's all elaborate marketing, and leads to quite a bit of confusion. You don't need a 4K screen to see 4K textures. You can render 4K textures on any resolution, you'll see less details on smaller resolution screens, unless you zoom in very close on the texture. A DDS file usually stores a texture in different resolutions : the original resolution, and all the lower resolutions (always multiple of 2). These resolutions are called mipmaps .

. For example, a 1024x1024 texture will have 11 mipmaps : 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1. Mipmaps are used to optimize VRAM usage, increase rendering speed and reduce aliasing. The mipmap rendered will be determined according to the distance of the in game camera to the texture : if you're very far from a texture, there's no need to load the full resolution since you won't see all the detail anyway. There are different types of textures , each used for a different "role". For an armour for example, you'd typically have 4 different textures, or maps. The diffuse is used for colour, the normal for relief, the specular for light reflection, the emissive for light emission...



I replaced a floor texture and Garrus' armour with a test texture

to show how mipmaps work in-game I replaced a floor texture and Garrus' armour with a test textureto show how mipmaps work in-game



Some of the many DDS codecs Some of the many DDS codecs

Now, as I've said before, TPF files are very flexible regarding the format of the textures you store in them. You can give anything to a TPF file, and Texmod will do its best to display it without your game exploding. And that is what texture mod authors had been doing. The files in the TPFs I'd used to build ALOT were in various file formats.



The problem is that this is not how it works in the game itself. The game uses very specific codecs for each of its textures (DXT1, DXT5, ARGB, V8U8, ATI2, G8L8 are the ones used in the ME games). And if you are going to replace textures in the game, ME3Explorer is going to expect you to know and respect that format. So all these textures in the TPFs are not going to work, the file formats they use are all over the place. Fortunately, ME3Explorer provides a feature called "autofix", that attempts to do just that : convert the texture to the right format.



Back to ALOT. Autofix is great, but it is a whimsical mistress. It does what you want, mostly, except when it doesn't and breaks things in unexpected places. I don't mean to bash the developpers of ME3Explorer, but autofix was pretty poor when I started using it. Many file format conversions weren't working correctly and the resulting converted files, once installed, caused graphical bugs in game. After many bug reports, these issues were fixed, but ME3Explorer was still atrociously slow. Count 10 hours to install ALOT for ME3.



A problem I'd had from the beginning was that some mod authors had disappeared from the modding scene years ago, and couldn't answer to permission requests. This meant that I was unable to add their work to ALOT. No answer is the same as a refusal, as far as permissions go. When Ottemis decided to pull her permission to use her textures in ALOT, I decided to find a workaround, so has to respect the wishes of the mod authors and Nexus while enabling users to have access to their textures. The result was an "addon" to ALOT, a crude batch file that automated the installation of the mods I didn't have permission to include to ALOT, but deemed essential to the high resolution experience.





My beautiful, clean and efficient batch file My beautiful, clean and efficient batch file

ALOT for ME2 was released about a year after ALOT for ME3. Thus ended the Second Age.









III. THE THIRD AGE : ASCENSION



This is the age of ALOT as we know it today.



At this point, I was starting to notice that during the initial release of ALOT, 2 years ago, I'd rushed through steps I should have gone through more carefully. This became more and more visible to me as time passed and ALOT became more popular. I wasn't happy with the state of ALOT, to put it simply. Many minor bugs and inconsistencies remained, and many textures felt like they needed a remake. I was joined by 2 fantastic people, who helped me immensely in this task : AlvaroMe and aquadran.



We laid everything bare, and started anew.



MassEffectModder (MEM), the tool developed by aquadran, would be the game changer here. It is meant as a replacer of the now obsolete ME3Explorer, at least as far as texture and mesh installation goes. Simply said, MEM was a revolution. 10x faster than ME3Explorer, no bugs, and many useful features. It also needs to be said that aquadran was always available whenever we needed a feature to make our work easier and faster, for which I'll forever be grateful.



aquadran developped the first installer for ALOT, as part of MEM. It was pretty barebones compared to the current installer (screenshot), but it was a lot easier to use than the previous nonexistent installer. Previously, everything the installer now did automatically had to be done by hand by the users, which led to a lot of user error and contributed to the idea that Mass Effect modding was horrendously difficult. Now you just click the big install red button, and MEM takes care of the rest.





Pretty interface for the installer. Prettier than a batch file at least. Pretty interface for the installer. Prettier than a batch file at least.

Among other things, the installer takes care of automatically optimizing the game's graphical settings, present in the GamerSettings.ini file, in "My Documents/BioWare/Mass Effect[ 2, 3]/Config". Through careful in-game testing, we determined the best possible settings to improve the look of the game in general : most importantly higher resolution dynamic shadows and better texture rendering techniques.





Before/after comparison of INI settings modifications Before/after comparison of INI settings modifications

The first thing I then did was to take my TPF collection from the initial release of ALOT, that had grown quite a bit since then, extract it again with MEM, and organize it properly instead of rushing to dupeGuru to remove duplicates. The first time I built ALOT, I rushed through this part, which resulted in many issues down the road with Nexus, especially because I didn't have any way of knowing which texture belonged to which author.



So, this time, I sorted the textures by author before running dupeGuru, yet again. This went pretty fast, given that I was already familiar with the textures and authors and knew already which ones were to be favored for squad textures, which for environments, etc...



AlvaroMe and I had noticed that many textures were reused between the games. AlvaroMe knows quite a bit about spreadsheets and VBA coding, and was able to automate much of the initial steps. We created a complete database of "portable" textures between the 3 Mass Effect games. A portable texture would be the same or only slightly different from one game to the other. We determined 3 grades for portability: a, b, c. Grade a means the texture is completely identical, b means you need to make minor changes for compatibility, c means major changes.



Determining this for all textures meant comparing them through various means :

A theoretical comparison of textures, using their names and CRC hashes. This means comparing any textures that share the same name in the game files. Textures that share the same hash can be considered portable by default, since same hash means same texture.

An empirical comparison of the textures, using the full PNG dump of the textures and an image comparator (dupeGuru). DupeGuru is able to go through the entire dump of textures, compare them all to each other and give you a list of textures that resemble each other, with a measure of the accuracy of the match. It's not always perfect, but it's definitely better than doing that part by hand.

In both cases, manual double checking was required to make sure all portable textures we found were indeed portable. False positives were infrequent, but present.



aquadran developped a nifty tool to quickly blitz through the list of potentially portable textures we had. Without this tool, manually double checking would have taken weeks. We did it in a week-end. Thus, we had our "vanilla+" base to start working with.



All in all, about 44 000 textures went through the filter, and we found around 7500 portable textures. The resulting spreadsheet is freely available here .





The Texture Map Database The Texture Map Database

With this database, we were able to notice some patterns : many textures had been downscaled from one game to the next, especially between ME2 and ME3, where a thousand or so normals were cut in half. Bioware downscaled many textures and upscaled others throughout the development of the 3 games (eg a texture could be 1024px in ME1, 512px in ME2, 256px in ME3). We restored these textures to their highest resolution everywhere.



To do so manually would be very long and tedious, so I developped a tool to automate the porting process. I'm pretty proud of it, it was my first try at a program with a GUI, and works very well. It went through several iterations as I learned about computer science at school: Java and JavaFX , Ruby and GTK and finally the current version of the tool, written in C++ and Qt . It can be used to port any textures or check hashes for portability. There's many options to make it useful in many situations.

You input a list of hashes, manually or by browsing for existing textures, the tool shows you all corresponding textures that could be ported and their grade. It can do the porting itself if you selected textures, by copying them in a new folder with new hashes. Details on github .



Additionally, ALOT restores a large number of unused, high resolution textures from the vanilla game, that were hidden away in the game files. These are most likely the textures used in promotional videos and trailers for Mass Effect games, before they were downscaled for public release. Jack's face, some of Shepard's armor, and more, benefit from this.



Next, I wanted to use the database to make the most out of the thousands of textures already in ALOT. I wanted to port them to ME2 (and ME1, once it'd be released). So, I ran the tool I'd developped earlier on ALOT itself, and released updates for ALOT accordingly.





Texture Mapper, written in C++, Qt GUI Texture Mapper, written in C++, Qt GUI

At this point, I'd also started to learn the basics of texturing myself, since that was something I'd wanted to try at some point. I mostly taught myself with Photoshop and Illustrator, but also received precious advice from artists like JimbobJeffers. Turns out it was something I really enjoyed doing, and I started contributing textures to ALOT. Among many others, Aria's outfit, the advertising in the Citadel, many holograms and many planets and galaxies in the galaxy map were improved by myself.





Some of my textures, used for holograms in the Omega DLC Some of my textures, used for holograms in the Omega DLC





Before/after comparison of vanilla/modded textures (Photoshop)

NB : the gif compression makes the gradients blocky, it's not entirely representative of the real textures Before/after comparison of vanilla/modded textures (Photoshop)NB : the gif compression makes the gradients blocky, it's not entirely representative of the real textures



Closer view of the vectorial assets made for the Omega DLC holograms textures (Illustrator) Closer view of the vectorial assets made for the Omega DLC holograms textures (Illustrator)

For the brand new build of ALOT 2017, I setup a version control system with Boar to keep track of any future changes and be able to easily log and revert them if needed. Boar is an excellent version control system for binary files like textures, which git doesn't manage very well.





Detailed view of the latest commits in boar Detailed view of the latest commits in boar

Mgamerz then stepped in and made a beautiful UI for the addon I mentioned before. No more difficult to use and ugly batch file, now the addon had a fully fletched out GUI made with WPF.



All this work converged to the release of the most complete state of ALOT yet achieved, version 2017. This release marked a complete change of paradigm for the mod. It was now a professional looking mod, with a real organization in the backend. ALOT for ME1 came around this time, this time not meant as a complete overhaul, but more as an addon to the already existing complete overhaul, the excellent MEUITM.



Version 2018 further improved upon this.



The Addon Installer was updated by Mgamerz and aquadran to become simply the ALOT Installer. Around this time, MEUITM received a massive 2018 update of its own as CDAMJC overhauled its entire installation process to use MEM, and reworked a lot of the textures. A few mod authors from the old times of BSN came back (ThinkBlueN7, DeadMeat) and started reuploading their mods on Nexus and working on new textures. I like to think ALOT was part of this revival, or at least that it contributed to keeping the Mass Effect modding community alive.



As part of the Installer, Mgamerz also developped a tool to help diagnosing issues someone could experience during the installation of ALOT. The tool check for several frequently seen errors made by users and displays the results, nicely formatted with syntax highlighting, on a website . This diagnostic tool is used with the logging tool to help troubleshoot problems when users come to the ALOT Discord.





A gif made by Mgamerz himself, showing how to make a diagnostic.

Most definitely the most used gif on the Discord's troubleshooting channel A gif made by Mgamerz himself, showing how to make a diagnostic.Most definitely the most used gif on the Discord's troubleshooting channel









IV. THE FOURTH AGE : ARTIFICIAL INTELLIGENCE



Another era for ALOT comes with the maturation of neural networks made for image processing. And oh boy do I have a lot to talk about this time.



Let's answer a question first. What is a neural network ? Put simply, it's what happens when you switch from a "tell the computer what to do to reach a result from any input" paradigm to "give the computer a million results and tell it to learn how to reproduce it on any input". Essentially, the computer is teaching itself how to best achieve a given task. This can be applied to any task, and is exactly why neural networks are all the heat right now, given how powerful and versatile of a tool they are.



In image processing in particular, neural networks are trained on millions of images to learn to recognize patterns and features they'll then be able to reproduce. Example: upscale, denoise, demoire, dejpeg, deblur... Once trained, such a neural network can be saved in what is called a "model" and be shared for others to use as they like.



I'd already been playing with neural networks in ALOT 2019 ( waifu2x , Gigapixel ), however at the time it was fairly experimental and I hadn't put much thought into it. Tools like Topaz' Gigapixel and ESRGAN have since matured and been refined enough to be reliable in batches of hundreds of textures.





New textures for the clusters New textures for the clusters

As a result, my workflow to upscale textures has become a lot more consistent and dependable. The first step is always the same: denoise. Textures in Mass Effect are compressed in a lossy format called DDS. Lossy means that compressing the texture discards some information. As an analogy, it's like if compressing a word document would create typos or forget words (ie, add noise). Turns out some models, like BlueAmulet’s BC1/DXT color artifact cleanup are very good at restoring a lossy compressed image to its original state. Almost like converting lossy to lossless.



Some manual color correction is still required afterwards to make sure the result matches the vanilla textures, but it’s honestly magical to see what the model is able to create. Even if you’re not going to use neural networks to upscale a texture, denoising it is an essential step before doing any work on it. Similar models exist to remove jpeg artefacts , and I highly recommend them.





Before / after AI denoise (look at the colour gradient) Before / after AI denoise (look at the colour gradient)

Depending on the kind of texture, the actual upscaling step can use a variety of different models. Models often specialize to be more effective: a model trained on a million pictures of wood will be great at upscaling wood textures. The disadvantage being that it will be pretty poor at anything else, since it will tend to see wood everywhere.



I prefer more generic models, and have been using Topaz AI’s general purpose commercial upscaling tool, Gigapixel; as well as the open source alternative ESRGAN with buildist’s Box model. To upscale normal maps, that contain gradients and no photorealistic features, models based on anime and drawings are the best. Various other models were used for specific use-cases, most of them can be found here .



A very important tool in all this is Honh’s Image Enhancing Utility (IEU). ESRGAN is a command line only tool, which has several disadvantages. It’s difficult to set up, use, and suffers from a big limitation: it crashes if you don’t have enough VRAM to run an image. Processing a 1024x1024 texture requires more than 8GB of VRAM, which is a big problem for me since I don’t have more than 8GB VRAM.



IEU gets rid of this limitation by automatically splitting images that are too large into several workable parts. Apart from that, it can easily batch thousands of textures, process channels (red, green, blue and alpha) separately, apply pre- and post-processing to images... There are plenty more useful features and I honestly can’t praise it enough: it is essential to any large-scale upscaling project.





Image Enhancing Utility (IEU) Image Enhancing Utility (IEU)

The new static lighting upscale addon would have been impossible without neural networks and IEU. In the Mass Effect trilogy, much of the lighting and shadows you see are not rendered dynamically, on-the-fly, by the engine. Rather, they were precalculated by Bioware and stored into textures to reduce the strain on the GPUs (of consoles, probably). As a result, they aged like the rest of the textures and were a stain on ALOT’s record.



The problem is that there’s 14 000 of them altogether, across the 3 games. Upscaling that many textures by hand for an improvement that is welcome but not game-changing would have been unthinkable without IEU. Neural networks alone weren't enough, however. We needed more, we needed aquadran. Aquadran is the author of MEM, and he introduced a very impressive feature from a technical standpoint a year or so ago: the ability to install textures in an uncompressed format. This means no artifacts on my beautifully denoised and upscaled textures, which as you can see in the comparison below results in a much smoother light. The 2x upscaled uncompressed texture looks better than the 4x upscaled but compressed one.





Static lighting upscale Static lighting upscale

The major disadvantage of uncompressed textures and the reason we aren’t using them widely: they require a lot more memory. At same resolution, an uncompressed texture is up to 8x larger than a compressed one. With a 4x upscale we’re looking at 64x more RAM usage, which is why we decided to limit ourselves to 2x upscale. Even so, this is only manageable when used on a curated and limited number of textures. We’re hitting a major problem in texture modding for Mass Effect, in that all ME games are 32-bit executables and thus limited to 3.5GB of RAM. Allocate any more than that and the game crashes. As a result, we’ve had to start optimizing the way we use memory by reducing the size of some textures, just like Bioware did so that the game could run on consoles.



A last bonus I added to ALOT 2020 is an improvement to the squad selection screen textures. Very simple upscale: denoise followed by the Box model. And it looks amazing.





Better squad selection icons Better squad selection icons

It should be noted that there is no magic in neural networks, nor are the models perfect. Sometimes a texture is just so bad that no amount of AI will ever be able to make it better. Sometimes the model misinterprets leather for wood and makes a jacket look completely wrong. Unlike what the Kotaku or PCGamer articles will no doubt write, neural networks are not the perfect solution to texture modding where you just dump all the game’s textures in the AI and get a mod at the end. There was a lot of manual work involved in double-checking textures and correcting mistakes made by the AI for ALOT 2020. That’s also why it took so long.









I am incredibly proud of this project. It required close collaboration between a core group of developers, dozens of artists and thousands of users from all around the world over the years. Together we managed to make a dream come true: a trilogy of games, now over a decade old, overhauled to look as good as a game that came out today. I count myself incredibly lucky to have met all the fantastic people that helped push ALOT to what it is today.



On a personal level, ALOT taught me unbelievably much about software engineering from the tools we created and used (Neural Networks for image processing, UX/UI design to install the overhaul, low level binary decompiling to modify the games...). I matured socially from managing a team over so many years, and I feel like the evolution of ALOT itself mirrors my own. From messy batch files to a clean, beautiful, all-encompassing GUI installer; from a cobbled together texture pack to a curated, well-documented overhaul; from no artistic knowledge to understand and making my own textures; from 1 to 1 000 000 views.



ALOT has made Mass Effect modding more widely available and easier to use, so that the games are more enjoyable for everyone. People who haven't played Mass Effect yet will be able to experience it for the first time in high resolution, and people who want to replay it will see it in a new light.



ALOT is already the go-to graphical overhaul mod for the Mass Effect Trilogy, I hope it is now a necessary addition to any playthrough.



From the bottom of my heart, thank you for your support, and see you on the other side of the galaxy ;)