SakeTami
Earendel
Earendel

patreon


Tileset mashup

I’ve been working away on getting my previous work on the SE 0.8 version (built for Factorio 1.1) to load in Factorio 2.0. There’s a LOT there. Comparing the version of SE0.8 for Factorio 1.1 to SE0.8 for Factorio 2.0, in just the ‘core’ mod alone (excluding all the graphics mods, the final fixes mods, menu simulations, etc) it is showing 55000 lines added and 61000 lines removed. Obviously that is quite a big task, but that is just one component, and by no means the most difficult one. 

SE 0.8 is being developed in 2 main parts. The ‘core’ part is the main mod and that has all of the stuff that you’d expect to be in SE, but realistically… despite the large number of changed lines, I think at most it only represents 40% of the effort in making the 0.8 version. Maybe 5% of the effort goes into the peripheral mods, like the graphics mods and postprocess mod, so where’s the other 55%?

As you probably know, Space Exploration makes use of the Alien Biomes tilesets. Each planet in SE 0.7 has a specific range of terrain values, and that restricted range is what gives different planets their distinctive terrain personality. Usually this is no different from just changing the mapgen value yourself when starting a new game with Alien Biomes. You can make an ice world, lava world, a swamp, desert, terrain that’s mostly purple, etc. There are a few planets that do a bit extra, like replacing tiles so that terrain types can touch in ways that aren’t normally possible, but these are mostly Patron planets where the person requested something a bit extra. 

If you’ve been following the other posts from the last couple of years, then you probably already know that planets in SE 0.8 work a bit differently. Most of them are not just semi-random settings of Alien Biomes sliders. In 0.8, most planets are one of a set of planet types, and each planet type has unique worlgen and unique tilesets. To do that I need a lot of new tilesets. 

Instead of trying to work directly on top of Alien Biomes, I’ve just bundled all the new stuff into a temporary tilesets mod where I can more rapidly iterate on placeholder content. I’ll figure out exactly which mod these tilesets should be part of at the end, but for now it’s convenient that everything is in one place. Let’s just call it the “Tilesets Mod” for now. (I might have called it Alien Biomes v3 in the past, but actually I think it would be too much to try and put all of those tilesets in the main Alien Biomes mod, a lot of them are too specific).

This Tilesets Mod represents a really large portion of the effort that is part of SE 0.8. I’d guess it’s about 55% of the time investment, but it’s hard to be accurate when it’s all from evening, weekends, and holidays. 

So far there are about 210 natural tilesets, so that’s a lot compared to Vanilla’s 25ish natural tilesets. It’s not just about making all the tileset textures, but all the tileset transitions, transitions between transitions, making sure that that the ground particles from an explosion are the right color, making sure that a tank driving across it makes the right combination of leaf-type particles and dust type particles for grass vs desert, etc. To help get all these different things working, I built a lot of systems on top of the 1.1 version of the game engine. A sort of tileset support tool chain, and unfortunately most of that just doesn’t work for the 2.0 version of the game engine. In a lot of ways the 2.0 game engine is better, so the end result will be better, but it still is a bit disheartening to have to redo a lot of the boring supporting code just so I can get back to where I was a few years ago.

I’ve fixed a lot of the issues now… the new tilesets load into the game at least. It’s going to take a long time to work through all of the smaller issues. There’s a lot of small and very specific problems, like a tileset doesn’t have the correct transition to certain sets of other tiles (especially the Gleba water), or the particles that a terrain needed just doesn't exist anymore. One of the more awkward issues is when two tilesets coincidently share the same layer id so it’s impossible for them to have a transition which means there’s a very ugly straight line cut-off between them. The layer ids determine which tileset renders over another tileset. For example, you always want things like grass to render over things like sand otherwise the transitions look really wrong. For things like the layer id claims, I just need to focus on one planet type at a time and fix the layers on a case-by-case basis. It does mean that if another mod tries to put tiles from different planets on the same surface they might run into layer id conflicts, but the risk of that is unavoidable. We’re trying to fit over 250 tiles into 128 tile slots, so there is always going to be a conflict somewhere. The key is just to make tiles share a layer if they’re never going to touch while also making sure that the change in layers doesn’t break the intended visual overlapping order for the tiles on the intended planet.

The last year+ of updating the mods has felt like a lot of energy draining work. I like making new things, so endlessly putting in time just to get things working as they were a few years ago is not a good fit for me. Now I’ve finally managed to get to the stage where it is starting to feel fun again. Right now I’m at the stage where I’m playing around with different mashups of the Space Age tilesets and the “Tilesets Mod” tilesets. Working out how the tilesets can interact, what I can remove from my version, ways that I can combine different textures to make something new. 

One nice upgrade of the 2.0 systems is that I can use the lava shaders. Back in the 1.1 version the only supported shader was the Nauvis water shader, so the closest I could get to lava was basically glowing orange water. There’s another tileset in SE 0.8 that I’m keeping secret, it’s one that I could never get looking right in Factorio 1.1, but I think in Factorio 2.0 I can use the Gleba wetlands effects to finally get the look I want. 

I still don’t know if SE will actually have the Space Age mod as a dependency, it may be that it just doesn’t work well. If it doesn’t work out then there is a plan-B safety net option: As long as SE requires you to own the expansion version of the game, then I can use copies of Space Age assets without needing to build on top of Space Age mod directly. I’m still hoping that’s not required though.

Tileset mashup

Comments

I personally dont mind having Space Age in requirements since I already own it. Honestly SA is worth every penny and as someone already stated since you contributed on SA quite a bit as well I personally find buying SA as a way of supporting your creation as well. The amount of stuff added justifies the price totally. However I understand that others might not have it. Maybe split/fork into two separate mods like SE-Legacy or something like that will remain in its 0.7.x state while having newer SE requiring the SA and integrate with it. Technically you could just merge certain features into both branches if the codebase allows it, but I am not sure how manageble is for you to work on two branches (they woudl start the same but over time would be far away of each other). While 0.7 is relatively stable now, it might happen that certain things still remains to be fixed even for version without SA as dependency. Or even factorio core update could break certain functionality that would require fixing the old codebase differently. SE was always kinda considered as making factorio even more complex and harder and most of us are veteran players who probably own the SA already as well. However for those saving money, SE was always a good mod to extend the playtimes and enjoyment (unless you do arcospheres where it becomes a pain if you dont know how and enjoyment turns into pure madness). I would suggest a poll on discord, let it sit for a month and see how the overall community reacts, but for me I am fine with SA as dependency for SE 0.8+

Adrien Angeldust

Coming in late to say I, too, would be happy to buy Space Age if it means SE benefits from it, even if it's just reduced development overhead on your part. SE is phenomenal, I can't wait to see 0.8.

Olivier Maas

Elevate Rail, Space Age... next is Quality?

LEN PC

I would be very happy to see stack inserters / stackable belt items from SA and the green belts. I highly prefer using belts over bots and deep space belts are pretty late into the game. quality would also be a nice to have, but if I had to chose, I would always choose stackable items.

Otto Vollbrecht


More Creators