Tweets

The Future of Extrabiomes

If you look at our public Github repository, you will notice that not much has been done on EBXL since things calmed down in the wake of our port to MC1.7.10. This is because I have spent the last several months working on a new version of Extrabiomes in private.

There were three major changes in this version of the mod:

It was for Minecraft 1.8 – I started work on this back in November of ’14, when the first public Forge builds for MC1.8 started rolling out.

It was a from-scratch rewrite of the mod – EBXL is a very old mod, we have a lot of legacy code supporting design decisions back in the stone ages. Every time we want to change something, we’re having to deal with some of this legacy cruft.

It was not ExtraBiomeXL – And this is what I want to talk about.

In recent years, the trend has been for mods to grow and grow and grow. This bloat eventually kills them. If large mods want to survive they almost universally either split off into multiple mods or have majorly incompatible rewrites that pare down features while only keeping the mod’s name intact. A small handful of “kitchen sink” mods have survived and continue to be popular to this day – but every one of them (that I can think of) has had rough patches where they fell out of favor because their bloat caught up with their quality.

EBXL has always been governed by a few simple principles. The mod’s content has always been based in reality (so no crashed alien arkship biomes). It has always been a well focused biome-oriented mod (so no outrageous tech trees and complicated smelting mechanics for making hats out of bacon). And every block or item added by the mod has always had an in-game use (so no completely useless mud brick drops or something).

The more time passes and the more the base game changes, the more we want to add to this mod. But the more we add, the more danger we get in of becoming too heavy and adding things that either dillute the value of the mod or conflict seriously with other mods.

When I added chocolate covered strawberries to the mod, that was the line. Had we gone any further than that, then we would have been crossing over into kitchen sink territory. But we held off. There is no ice cream maker, no system for building with chocolate bricks, etc…

The plan always was to add a couple of wild edible plants (rice and onions in addition to strawberries) to the base mod, but create an addon mod that allowed us to add interesting farming and cooking systems. We wanted the addon mod to be something complimentary that likely wouldn’t appeal to everyone and didn’t belong in EBXL Core (what with its focus on being focused), but that hopefully still made sense to a lot of people and added a lot of value to the game in its own right.

The more we thought about it, the more we liked the idea… and the more time it was taking because of the organic nature of the codebase. So, in our infinite brilliance, we decided that it would be a good idea to start over from scratch.

Since the mod was considered largely feature complete for 1.7, we thought the new release of 1.8 made a perfect opportunity to kill two birds with one rewrite.

Our recent release history shows how well that has worked out so far 😛

As I started the rewrite, the first thing I worked on was a sort of plugin architecture that would allow addon mods to talk to each other. And it was about this time that we started talking about possibly thinning down the core mod in favor of breaking a few features out into submods. It wasn’t long before the conversation started us thinking seriously about just splitting the mod up into a half dozen self-contained mods that worked together wherever possible.

Once we realized that this is what we wanted to do – we realized that the XL suffix doesn’t really apply to this new vision for the “mod”. So I’ve spent this entire time trying to wean myself from talking about EBXL and start simply calling things Extrabiomes. We’ve joked a bit about calling the new mod(s) EBXS, and I’ll probably continue referring to it as EBXS in the code.

The first MC1.8 mod that we had wanted to release was Extrabiomes: Autumn Woods. It would have contained (among other things) the autumn woods biome, several of our trees (rewritten for efficiency), and a couple of new mushrooms.

After that, I wanted to release Red Rock as a standalone mod, then Farming, then Meadows, etc… Each smaller mod would allow people the freedom to pick and choose without being saddled with biomes that maybe they didn’t want. Like when you don’t need two different kinds of redwood trees on a server. The smaller mods would also allow us to expedite releases for these smaller mods. If there is a bug in quicksand, we only need to QA our changes to the mod that provides quicksand, not the one that provides cherry trees.

But people aren’t switching to MC1.8. Modding is still very much alive on MC1.7.10 – which is possibly the Minecraft version that has had the most mods ever released for it. NEM lists over 900 mods for 1.7.10, but less than 200 for 1.8.x – and many of those are jar mods.

So. We’re sticking it out with 1.7.

I am going to start on Extrabiomes: Autumn Woods for Minecraft 1.7.10 today and I will have a standalone alpha build available for people interested in testing some time next week.

As far as what happens to the XL bit. Well, we still plan on making a single large download available. It will simply provide the latest version of each of the smaller mods in one bundle, so you can choose for yourself – and we can be more aggressive about making updates to individual biomes, and more aggressive about adding content that maybe doesn’t fit with the theme of the original mod.