💾 Archived View for appl.garden › log › mc-modpack-1.gmi captured on 2022-04-28 at 17:30:50. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-03-01)

➡️ Next capture (2023-01-29)

-=-=-=-=-=-=-

Developing a lightweight Minecraft modpack in 2022, part 1

I started off this year with a little bit of depression, so I've decided to comfort myself with a bit of nostalgia, and play some modded Minecraft.

Except this is not "true" nostalgia, as I haven't actually played much modded Minecraft. Full-fledged mod packs are very resource-intensive, and I just never had a powerful enough computer growing up (and I still kinda don't). So instead, I watched a bunch of Youtubers, and even developed my own mods, without even really playing them. I would, at best, play with a couple of mods at a time, then things would get laggy, and I'd give up.

I've decided to change this. I'm now developing a lightweight skyblock modpack, for people like me, who feel like they have "missed out" on all the giant, hugely complex packs like Agrarian Skies or Project Ozone. I cannot provide the same experience for lower-end hardware, but it will be somewhat close enough, or perhaps interesting in its own way.

Spoiler alert: this post is turning out to be quite long, so I will only talk about the technical and (somewhat) cultural background behind everything. I will leave the actual gameplay and implementation details for Part 2 (and possibly beyond).

Why not Minetest?

I don't know. I'm sure the Minetest community has plenty of high-quality content going on (and even if not, wouldn't it be exciting to enter this new frontier, and make something new and cool on my own?) But Minetest is just too different, and does not fulfill my weird emotional need for a nostalgia trip. Plus, I've already paid for Minecraft, and I even transferred my Mojang account to a Microsoft account.

The state of Minecraft in 2022

Yes, that's right, Microsoft has famously purchased Minecraft almost a decade ago, and now they are finally making it mandatory for Java Edition players to use a Microsoft/Xbox account. Meh, I guess I already have a Microsoft account, so this just means one less password for my password manager to deal with, right? Right?

The modding scene feels the same way. Pretty much every MC mod is now hosted on CurseForge, which is owned by Curse, a subsidiary of Twitch, which is owned by Amazon. All modpacks are built around this "ecosystem", and there is now a rewards system where modders get a few pennies from ads shown on the Curseforge website.

But at the very least, it seems like everybody has recognized the practical benefits of open-source software, so pretty much every mod has a repo in GitHub. This does not have much to do with the One True free software movement (if it was, they would not be modding Minecraft), so you'll still see the occasional weird custom license that says "you can look at my code, but do not distribute without my permission, with the exception of modpacks, as long as you don't monetize, bla-bla-bla".

The Curseforge app is not available for Linux, but at least they provide an easy-to-use API (you can download a mod with a couple of simple cURL calls, and you don't even need an API token). So there are FOSS clients that can install Curseforge modpacks, GDLauncher seems to be pretty good:

https://gdevs.io/

The counterculture

Not every action has an equal and opposite reaction, but there at least small-scale protests to all of this proprietization. Modrinth is a new free platform for Minecraft mods:

https://modrinth.com/

I really like their website! It's both user-friendly and lightweight, has the same vibe as Gogs/Gitea. Sadly, the selection of mods is nowhere near as big as Curseforge, with most of the developers focusing on Fabric instead of Forge.

Fabric? Forge?

There has also been a technical split in the broad Minecraft modding community. Minecraft Forge has been the standard toolkit/mod loader for many years now, with exactly 420 contributors as of the time of writing (nice), and tens of thousands of mods having been created for it.

But at this point, it has become known for being "bloated", taking a lot of work to update to new Minecraft releases, with parts of it becoming obsolete due to vanilla Minecraft's code improvements. So there have been talks about developing a brand new lightweight mod loader for some time. The last straw for many people seemed to be the moment when Minecraft Forge decided to implement a standard Energy system.

So many big mods used to rely on the so-called Redstone Flux system, and when this third-party API stopped being maintained for a while, Forge has decided to step in and provide an "official" Redstone Flux equivalent themselves, allowing the big technology mods to update smoothly.

The downside, of course, is that Minecraft has nothing close to the concept of energy or electricity (those of you who have not followed Minecraft updates for a long time might've been weirded by my mention of an energy API, but don't worry, that's not a thing in the base game yet). So the Forge Energy system has no basis on which to impose any gameplay rules, therefore it ends up being the "lowest common denominator" of all the energy systems that the modding community has come up with: literally as basic as possible, an API for pumping "energy" in, and pumping "energy" out.

This does not inspire much creativity. Now, the semantics of what "energy" is is up to the modders (notice that I did not specifically refer to it as "electricity"), and people are free to come up with weird and wacky ways to transfer, store and generate Forge Energy, or to just refuse to use the API and come up with your own intricate design, but most people refuse to do this due to the preessure that comes with being incompatible with the "official way of doing things".

So the Fabric mod loader has gone its own way, providing very modular and lightweight tools for developers and players. So quick to update that it even works on development snapshots. However, it is incompatible with Forge, so brand new mods must be created for it.

https://fabricmc.net/

It's interesting how the philosophy behind the technology of Fabric has influenced the design decisions of Fabric mods. They generally do not add much content, but the content that is there is very well-thought-out, providing the player with minimal building blocks upon which to build their own complexity, as much of it as the player wants. Instead of a giant mod trying to tie in 10 different mechanics, you get 10 mods which really focus on doing one mechanic, doing it well, and blending in with vanilla Minecraft.

A similar philosophy existed in Forge mods at one point, however it was tainted by too much complexity inside each "single-mechanic mod". There was a time where you'd see a bunch of different mods with very similar names: Modular Power Suit, Modular Turrets, Modular Routers, etc. Each mod is like a GNU utility: they are supposed to work together and indeed are good at fulfilling their roles, but you can get lost reading the info page for ls. I suppose it's good to have powerful software in the real world, but inside a video game, I like the satisfaction of understanding everything there is, and it's hard to achieve with so much complexity.

I fondly remember Red Power 2: which was a gigantic "centralized" mod made by one person, implementing a bunch of mechanics inside one mod, but it struck the perfect balance between simplicity and complexity for me, plus it felt very cohesive, with one talented person behind everything. I used to long for those days when I saw the combinations of "Super Modular Thing" mods. But now, the modern "do one thing and do one thing well" mods are returning to being less complex, AND also more cohesive, thanks to the shared ideology of "Vanilla+" gameplay, with modern Minecraft serving as a solid foundation. This is perfect.

To summarize

Maybe this is something to think about for Minetest modders. I very briefly looked at minetest-game, and it's just far too basic, I just don't see it as a good foundation for cohesive mods.

Tune in next time, when I will talk about the actual gameplay of my work-in-progress modpack, involving melons, Planetoids, and hookshots. And then I will throw all those things away and start entirely from scratch.

Link to part 2

-- gardenappl 2022-01-07

Home