Technology Oof

Today I turned on a game of Frozen Throne on my PC. I played a melee skirmish game as the humans. I built an altar and a barracks, and I trained a Blood Mage and a few footmen. I got Banish as my first hero skill on Blood Mage.

Then I went to fight some creeps. I cast Banish on a Razormane chieftain, and while he was ethereal he could not attack me. But later on I cast Banish on the Razormane chieftain a second time, and this time because he was already actively attacking me when the spell hit him, he continued to attack me because Banish did not interrupt his current order and only disabled the attack icon.

The reason this bug was introduced in my game is that I tried to rewrite an emulator of the game so that I could play the emulator instead of playing the official version, so that I can be free of bugs in Reforged updates and maintain my own client in lieu of good corporate leadership at Activision Blizzard King + Microsoft.

When I was writing my own version of the game, instead of just Abilities and Orders I made a concept of “Behaviors” to describe what a unit is currently doing. The concept of unit can only have one “Behavior” at a time, and the “Behavior” for an ongoing attack checks whether it should interrupt itself based on some “checkTargetStillValid” function on each tick of gameplay logic, which incorrectly accounted for changed targeting parameters in the current attack but doesn’t account for usability of the Attack ability becoming disabled (i.e. when Banish disables the Attack icon).

Then, after I incorrect built the base systems that way, one of my other GitHub creators wrote the Banish skill and the ethereal concept, and used my existing system for defining whether an ability is usable to set the Attack ability to be unusable for an ethereal unit. Thus creating the bug.

This is a technology oof and it killed my Blood Mage. But, somehow, partly, I want to blame Microsoft Activision Blizzard King for killing my Blood Mage. Everybody is trapped in these social media ridiculous thought bubbling, where if a Microsoft employee does a cursory inspection of my rewrite of the game what they find is fake news telling them that Activision Blizzard King tried to take down my rewrite of Warcraft III. And it is fake news. Activision Blizzard Kings supported Warcraft III modding prior to being purchased by Microsoft – absolutely.

But I don’t control the fake news. If I make a technology change and fix this Blood Mage bug, no one cares. But if someone lies and says my project was given a takedown notice by Blizzard, it ends up all over the internet everywhere and everyone gets mad because of the narrative that they want to hear.

In this world of bad information where communication between humans sucks, and our systems of interacting between people suck and are breaking apart, Microsoft Activision Blizzard King is retaining the proprietary over the Warcraft III. I get to fix my Blood Mage, but the users don’t download my updates. They never will. They will download the Reforged. They can only trust the official Microsoft product, and the official Microsoft product will probably have a crypographic signature on the EXE that makes it permitted by Windows whereas my EXE will not be signed because the project is free as in freedom, published on GitHub under the AGPL license. Previously I tried to publish it under MIT license, with a footnote that said Activision Blizzard King could take my changes and put them in Warcraft 3 if I ever invent any novel solution that would help them, but someone reached out to me online that I was wrong about that being possible for Activision Blizzard King because one of the (optional?) dependencies of my code was actually published with a GPL license, which requires not only derivative works but also dependent works to be likewise copyleft rather than permissively licensed. And so, rather than to concern myself with complex possibilities for sorting it out, I changed my code to AGPL which means future updates made by anyone (including me?) have to be published online probably, so then that suggests I won’t ever get paid for my work probably. That’s great! I didn’t want to get paid for my work. I wanted to be able to make unlimited Warcraft III mods, where I can break the game for myself and not for anyone else who doesn’t want my change, then later I can revert back to the original Frozen Throne.

And for me this is stupid, it is a tragic mismanagement of human interaction, that Microsoft Activision Blizzard King can’t just publish the source code of Frozen Throne (the 2003 game) as an AGPL licensed thing for folks to be able to fork. I mean… how does the Banish skill’s ethereal effect interrupt attacks for units that are actively attacking? Is this a Banish specific piece of code? Was it well written for the abstract case, such that any mechanism that removes the Attack ability also removes an active unit ongoing activity and interrupts it if the ongoing activity was a product of that ability?

The answer, for now, is that you can’t tell me. Legally I’m supposed to clean-room invent my own thing that optionally can load the old 2003 game assets if I want to emulate that, such that then I don’t provide the assets publicly and I only publicly provide works that I authored. But that’s dumb governance. Minecraft has mods. Why can’t Warcraft III have mods? I went out of my way a year or two ago to change my code. On my emulator, I removed the enums and the code that required 4 races in the game. Instead, the concept of 4 races in the game now comes from config files, everywhere. It’s beautiful. I can decide I want to play with the Chaos Orcs as a fifth dropdown option, where the Chaos Orcs are overpowered red-skinned orcs with Chaos damage that basically amount to cheating. And it can be natively supported, as a dropdown option, if I want. And I can do this with Chaos Orcs even though the official name of these characters was retconned to Fel Horde to avoid conflict with some other franchise or whatever. On my computer, I can type whatever faction name I want, that’s fine.

Microsoft supports OpenAI and the ChatGPT and the copilot. Programming secrets aren’t secrets anymore. You can just ask a computer how a game is built, and what the programming equations are, and it would just give them to you. Accordingly, now more than ever, you are exposed to this kind of proof that when you continue with each passing day to not publish the Frozen Throne code as an AGPL copyleft project for anyone on Earth to create awesome mods from, you decision not to share this is a form of being mean. I’m going to just be honest; someone can sit and ask some AI for each of the elements of the game one by one, and all those are out there, but if someone wanted to put them together you’re just wasting their time.

And so my Blood Mage died. And for me, this is a “technology oof” and in a really, really subtle way – a way that your employees probably won’t even appreciate at first – this “oof” is your fault, Microsoft. It’s your fault for not giving Frozen Throne to the world. I purchased about 8 CD keys on Frozen Throne, and I pre-ordered the Reforged about 50 or 60 times. I’m not averse to sharing money with this company. But I’m tired of the stupid, stupid technology oof of your people pretending that it is morally right for you to keep the source code of this game secret, as though keeping the rules for how and why Banish interrupts the attack of a Razormane Chieftain is somehow rightly yours – that no one else could ever dream it up the same way and be justified in doing so.

The worst part is probably knowing that you can’t do anything. If a Microsoft/Activision employee reads this, and if they got this far, you know I know you know that you can’t do anything. Even if you could tell your boss what I’m trying to tell you, and even if for a passing moment you believed it, your boss would tell you that the only way you can publish the source code of Frozen Throne online [with dev comments redacted or whatever to respect the humans] would be if rather than AGPL if instead this code was published with some insidious legal jargon in the license that anybody else who makes a software based on yours is technically owned or controlled by you, and you can take them down if you don’t like it.

And so there is a technology oof, and there will continue to be a technology oof. Maybe you could at lease give a moment of silence to how humanity went off the rails for a second, or whatever. And then you can go back to being a Microsoft developer employee who must necessarily care about money and forget everything you just read.

You blood mage died noob! Now in return what you shall receive is a user named CaptainJack logs on and he says, actually, you are wrong. And Activision is right. Reforged forever.

1 Like

uh. that was some words. yes.

  1. Like I always Say: “No Orc shall harm the wilds!!!”
  2. Your story is like when I TP’d once my CryptLord, it was already in my base (TP item was consumed) and he died due chain lightning that was cast on the battlefield on some allied unit and my CL was queued also. Nasty death… very baaaad!