Remix.run Logo
NanoCoaster 4 days ago

> Minecraft modding is also unofficial (you still don't have code or an API, you have to decompile! you do have datapacks but those can't do shit compared to proper modding)

Not quite, I'm working on a Minecraft mod via Fabric at this time and you actually do just write code. You may want to decompile to look at the original code, but that takes one command, because people have already set up scripts to do all that. They also automatically apply source code mappings which give a lot of the decompiled code proper variable & function names.

Obviously, it's not official support and you're doing weird aspect oriented programming with what they call mixins, and its sorta hacky. But there's an API, it's just not made by Mojang. Which, honestly, may be a good thing lol

> Even if you can theoretically modify many things, most users won't go and whip out a development environment on a whim, they'll just give up

Yeah, absolutely. I was more talking about the state of modding and availability of mods in general, from a mod user perspective so to speak.

But I agree 100%. I'm fine with the ceremony, but the more people can get into modding easily, the better. To that point, I remember buying Crysis, poking around in the game file for fun and finding that they shipped the whole Cryengine level editor with the game and, what's really crazy, you were able to open the actual level files of the actual game with it.

That was mind-blowing to me. You could look at all the -horribly unmaintainable- visual scripts that defined enemy behavior - and change them. You could change the terrain. You could add the damn tornado they put in the game, which wasn't just a scripted sequence but actually hurled stuff around physically. And then you could...just play it, with your changes, right there.

Out of that grew a small, but fun modding scene with people building custom campaigns or just pretty-looking levels to walk around in (Strange Island, my beloved), considering the graphics of Crysis at the time. Also, my love of programming and tinkering with software pretty much started with this discovery :)

It's not quite the same as what you're describing, as they obviously didn't include the source for the engine itself, but I think it's still comparable to an extent.

So yeah, I'm with you on that. Do you have anything to share regarding your project? Sounds pretty interesting to me.

Pannoniae 4 days ago | parent [-]

> You may want to decompile to look at the original code, but that takes one command, because people have already set up scripts to do all that.

Yup, but it's very much not the same... you don't have the original documentation, you don't have the actual local variable names and stuff. And the build process is a mess, especially when you want to do cross-modloader mods. (or face users screaming at you for different modloader compatibility)

And you have two different sets of mappings too, alongside the 4 modloaders.

See this post for an example: https://emi.dev/blog/mappings-and-maven/

> Yeah, absolutely. I was more talking about the state of modding and availability of mods in general, from a mod user perspective so to speak.

Oh, from the users' perspective, it's quite a bit better. Except when your favourite mod doesn't work with the other mods. Or it's on a different modloader. But in something like KSP, it's fairly seamless, that's just a Minecraft problem.

> Also, my love of programming and tinkering with software pretty much started with this discovery :)

Yeah, this 100%. pretty much any game with easily accessible mod tools grows a modding scene around itself, just see CS or Portal custom maps, Paradox games, etc... and it's a good thing, many people get their love from that :)

> Do you have anything to share regarding your project? Sounds pretty interesting to me.

I'm pretty much making a retrofuturistic Minecraft-like. I loved the original beta versions which Notch made, but since he stopped developing it, all the soul has been gone from it, it just feels empty. Instead of adding random shit because it's cool, now it's replaced with traditional, polished but boring game design ;) I believe that it's possible to do better, add stuff like more emergent worldgen, even new dimensions, a bit deeper progression and random cool mechanics like playing sports or maybe even minigames.

In terms of modding, I favour a visible source model (it's on my github, my name's the same there), you can check it out if you want. Beware, it's not really playable yet, that's coming soon. The game's written in C#/.NET so it's kind of similar to Java in that regard.

Basically, I plan to make it so you'll have a fairly basic integrated modloader (load mods, maybe a few events) then the community can provide additional patches or hooks if needed. There will also be coremodding support (transforming the game dll before loading to add fields or completely rewrite classes) and I plan to ship Roslyn with the game so you can make plaintext .cs mods which are compiled on startup.

If people make something cool, I'm also open to adding it into the vanilla game (if they sign over the rights, etc.). I think that a huge part of Minecraft's success has been the strong community involvement - in 2010 that looked like posting and answering on Twitter because that was the new thing, today maybe it's Discord. Obviously, most games (including modern Minecraft!) do it only one way, there are the developers, and there are the players, the players play whatever the developers put out, and if the players complain too much, the developers might consider it. I think that it's possible to do better, although it definitely takes a degree of humility to pull it off.... especially if you're attached to something you've made. But I think it's possible, can't know if you don't try ;)

NanoCoaster 3 days ago | parent [-]

Sounds cool, I'll keep an eye on it :D