moon@bear ~$

ranting about minecraft updates and burnout

i am the single maintainer of a minecraft mod called openboatutils. i am going to quickly explain what this mod is and where it came from, but im not sure it particularly matters for this post, so skip to the section "minecraft updates" if you dont care, or you already know.

openboatutils

in 1.19.4-pre1, a prerelease minecraft version, there was a bug that let boats step up blocks like mobs do. this was quite interesting for ice boat racing because it meant they could build tracks with uphills, where previously everything had to be flat. mojang quickly patched it out, but the idea had already been planted and now the ice boat racing community wanted stepping.

so there was this closed source mod called boatutils, which did some modifications to the boat physics to allow for these tracks. it had a few modes, one called RALLY where the boat would treat every surface as slippery as ice as well as doing the stepping thing, and another called BA (short for blind attack i believe, a series of racing events that used this specific mode for its tracks) which didn't do the slipperiness modification that rally does.

because using this mod on existing racetracks and other servers would be considered cheating, boatutils has a mechanism where a certain mode is only ever enabled if you have a really specific unobtainable potion effect. this meant that the racing servers could control which tracks had the mod enabled, but i saw an unfortunate downside that it also meant the mod might be possible to use in another server against their rules without the server ever knowing the mod existed.

around the time i started boat racing, boatutils had became an established thing. it had only really become widespread in the couple months before that, but i was completely unaware and assumed it to be a thing that always existed. and at the same time, the creator of the mod became really busy and stopped updating it. so i saw this thing i really liked, in a kind of bad state:

and i decided fuck it, i have the means to fix that. so openboatutils is the flexible, updated continuation of boatutils. it has a packet api, so that servers that want to use it do so explicitly by sending packets to configure the physics modifications. it works in singleplayer, with simple commands you can type in chat to enable whatever features you want for debugging. singleplayer was, at the time, probably the BIGGEST thing that openboatutils offered. if you had wanted to make a track for the old boatutils, you would have to setup a server with the movement checks removed and the right plugins and everything, JUST to do a test drive on your track.

openboatutils is also intentionally super permissive, allowing the server to do whatever it wants with the features it implements. i think this is a point of contention with people more involved in boat racing than i am, because having all kinds of different features and having to relearn different mechanics for different tracks gets annoying and is not what they signed up for.

but my reasoning is this: i am not the curator. because this is all placed in the hands of the server, it is their job to use those features as they see fit. if i were to play that role and limit the features then it limits those for everyone, and the point is that openboatutils is not exclusively for these people.

anyways, im already ranting but i'll be doing much more of that when i start talking about updates :^)

minecraft updates

minecraft is basically a live service game, a couple times a year they drop a major version with new content. theres historically been a lot of dissatisfaction with these updates, they are certainly adding... things... to the game, but they also often change or remove existing parts of the game in subtle ways, often not noting this in the patch notes. here are a couple instances where this happened:

in both examples, mojang simply does not care. these communities that rely on these features are niche subsets of minecraft, and mojang doesn't care about the specifics of any small part of minecraft because it doesn't affect their ability to sell the game as a whole. they are not making a pvp combat game, or a well defined logic simulator. it is only pure chance that minecraft happens to fill those niches, but they don't do so with very much intentionality.

how they effect boat racing

as the maintainer of openboatutils, i am seeing the exact same thing happen to ice boat racing:

these changes have all happened in the span of two major updates, which were completely unrelated to boat racing but of course have major impacts on it anyways, because (i will repeat this as many times as it takes) mojang does not care.

at the request of racing servers i added a fix to revert the interpolation change, however it seems to still be buggy and cause issues sometimes which are incredibly difficult to track down.

i am aware of a number of different issues in openboatutils, and i would love to be able to focus on fixing those and finally have a peice of done software. but it isnt ever going to happen if i keep adding compatibility features for new minecraft versions, which includes new bugs introduced instead of old ones fixed.

there is this idea of a minecraft mod which, for every single minecraft version, implements the boat physics of every other minecraft version. old track broke? switch to the physics version it was made for. unfortunately this is massively unreasonable (at least for me in my free time, with the amount of motivation i have). with new minecraft versions releasing with new incompatibilities, i saw the expectation growing for openboatutils to become this mod.

this idea is part of what lead to general burnout for me, not just with this project but most of everything i work on. it takes a good bit out of me just to update the mod to a new minecraft version, let alone to try to ensure im patching over all the issues mojang introduced as well. i have reasons to continue to maintain it but i don't see myself ever creating that big giant physics backwards compatibility system which would actually be required for old boat racing tracks to not break in newer versions.

i have OPINIONS!!!!!!! about this

because of all this im actually very opinionated about updating to newer minecraft versions. servers have the capability to simply not update, and so there needs to be something gained that is worth more than the old tracks that are lost to time as a result.

i personally do not see any benefit to boat racing in the newer minecraft versions and so, i find it confusing that racing servers would decide to update minecraft at all, replacing a working piece of software with something "new" that is not necessarily working in the same way it is supposed to. so i am of the opinion that boat racing needs to have a minecraft version to stay on just like the old pvp community has 1.8.9, because i otherwise see no reasonable solution.

and of course i have my own agenda in this, because not updating means less work for me maintaining openboatutils, but i am not the only one that has to deal with this every time minecraft updates. there are many mods and server plugins for boat racing that all need to deal with this every time minecraft is updated.

i'll probably in the future write a piece that is more specifically directed at why i think the boat racing community should stop moving to newer minecraft versions, but i will save it for another time.


i wrote this at https://tilde.town/~moss/ibrant.md but realized it could probably go here on bear. for all 0.1 of you out there on average

#software #video games