- Joined
- Apr 19, 2008
- Messages
- 2,931
Warsmash Mod Engine
I had another person tell me on Discord that the saw the intended use case for Warsmash as being the basis for selling Steam games this week. They suggested that my response to their questions should be posted publicly. This is actually a rather good idea. Below, what follows are my thoughts in response to people who see Warsmash and decide that they want to use it to "build a steam game" to sell:
I would absolutely enjoy a good total conversion on Warsmash
So people might be more likely to take from Warsmash what they want from Warsmash, rather than what was "intended" [by Warsmash authors/contributors] in some way, if it's successful at being "more free/liberated."
That being said, there's a ton of stuff in Warsmash that is "too Warcraft 3 ish" most likely, in particular if someone wanted to "sell a Warsmash game on steam" as a concept. It's not that I want to stop those people from doing that, and I have had people tell me they were going to do that in the past, but I'm not completely convinced it's the best path to a solution basically. And maybe that's my bias. If I can start and create a project like Warsmash, then naturally if I wanted to start a project that was an RTS running on LibGDX that had nothing to do with Warcraft III, perhaps I would do it "in the same way that Warsmash was created from nothing" at the source code level, and create that other RTS, and then have zero risk someone comes back and says, "heyyyy you got that idea from Warcraft III" in some sort of court filing.
For people who don't know how to do that, and who then go to Warsmash for ideas, how can they tell if the idea they're reading in code is a Warsmash original idea, or something highly inspired by Warcraft III that Microsoft might chase them for? I am not a lawyer. I am likely the wrong person to ask for help with that. I can identify what popped out of my brain onto the computer screen, but I cannot identify how Microsoft will behave.
From my layman understanding of the law, even when two big companies Google and Oracle fought out the concept of "copying an API against the terms" for the creation of Android with Java inside of it, using Java functions, but in a way that didn't honor the original Java terms, in the end the Supreme Court of the United States decided to rule that they would punish one company or the other company, but they wrote in the follow up paperwork that they can't tell and didn't decide who is at fault with regards to the law, and whether an "API" can be protected.
In other words, the world order is run by corrupt buffoons who can't decide what code ownership even means, and the only thing they can decide on is that they deserve to be paid more and more to keep trying to figure it out [probably so that they can maintain the world order where whichever company has the most money wins, rather than having a world where whoever is the most intellectually consistent and correct wins].
With that in mind, if Microsoft can decide that your game has a function named
If you want another similar example of how this plays out even if you're in the right, look up Mr. Uzi Nissan who ownedkilled by the car company [died of "covid related illness"] after burning millions of dollars fighting with Nissan Cars for ownership of his own website.
In case it's not clear:
But what is actually the nature of the code that originally went into those projects? In particular:
So, that's kind of the full disclosure if you're going to try to use this to make a Steam game, just saying.
Especially that last paragraph could easily be a plot from Microsoft to eventually take down Warsmash. They would be likely to have sufficient money and capability to hatch such a plot.
We know from insiders that software development progress on the Reforged project was at least once slowed down due to credible death threats affecting the company. It's quite likely that the interaction between the people who operate in an official capacity, and the people who want to play the video games and just have fun on the computer, is not always a positive interaction. They might hate us very deeply, or have a stereotype that our group of people (who want to have fun on the computer) are all the same and are their enemy.
From my standpoint, I would rather to create a different project based on those debug symbols probably and have that be separate from Warsmash since the two software designs are honestly so incompatible. Despite outwardly looking the same, the code of Warsmash and the code on Warcraft III are almost too different to the point that it's difficult for somebody to read the C++ source code or a derivative of it, and then reproduce that same thing on Warsmash, since everything is named differently, works differently, and manages memory differently. But, despite me questioning it, I have seen at least one person try.
This year, maybe since there was that kind of concern about Microsoft maybe having an evil plot like that to cause Warsmash to include reverse engineered Warcraft 3 code, I found myself enjoying doing stuff on Warsmash that cannot be done with Warcraft 3... I think simulating World of Warcraft is sort of an example of that. Maybe they've just kind of pushed me to expand into that other area, since I don't have leaked debug symbols for that or something.
I would absolutely enjoy a good total conversion on Warsmash
... but to be honest, I'm not sure how to tell people what the intentions are necessarily. It's obviously a bit more open ended than Warcraft III. As far as I know, people can only play the original Warcraft III's code in the way supported by its EULA stuff probably. But with Warsmash, people can use that however they want as long as they're not violating its simple free source software GPL license file or whatever.it has become clear to me that it is not intended for custom maps
So people might be more likely to take from Warsmash what they want from Warsmash, rather than what was "intended" [by Warsmash authors/contributors] in some way, if it's successful at being "more free/liberated."
That being said, there's a ton of stuff in Warsmash that is "too Warcraft 3 ish" most likely, in particular if someone wanted to "sell a Warsmash game on steam" as a concept. It's not that I want to stop those people from doing that, and I have had people tell me they were going to do that in the past, but I'm not completely convinced it's the best path to a solution basically. And maybe that's my bias. If I can start and create a project like Warsmash, then naturally if I wanted to start a project that was an RTS running on LibGDX that had nothing to do with Warcraft III, perhaps I would do it "in the same way that Warsmash was created from nothing" at the source code level, and create that other RTS, and then have zero risk someone comes back and says, "heyyyy you got that idea from Warcraft III" in some sort of court filing.
For people who don't know how to do that, and who then go to Warsmash for ideas, how can they tell if the idea they're reading in code is a Warsmash original idea, or something highly inspired by Warcraft III that Microsoft might chase them for? I am not a lawyer. I am likely the wrong person to ask for help with that. I can identify what popped out of my brain onto the computer screen, but I cannot identify how Microsoft will behave.
From my layman understanding of the law, even when two big companies Google and Oracle fought out the concept of "copying an API against the terms" for the creation of Android with Java inside of it, using Java functions, but in a way that didn't honor the original Java terms, in the end the Supreme Court of the United States decided to rule that they would punish one company or the other company, but they wrote in the follow up paperwork that they can't tell and didn't decide who is at fault with regards to the law, and whether an "API" can be protected.
In other words, the world order is run by corrupt buffoons who can't decide what code ownership even means, and the only thing they can decide on is that they deserve to be paid more and more to keep trying to figure it out [probably so that they can maintain the world order where whichever company has the most money wins, rather than having a world where whoever is the most intellectually consistent and correct wins].
With that in mind, if Microsoft can decide that your game has a function named
CreateUnit and that this function is too similar to the function CreateUnit from inside of Warcraft III, perhaps Microsoft will launch a similar case against you. After years fighting in court to prove that you're right -- you know you're right, that any game can have a function named CreateUnit and that shouldn't be protected -- the courts might decide to fine you a bunch for hurting Microsoft, decide that they can't tell if you're correct, and then end it. And you'll be millions of dollars in the hole to the lawyers, just like Microsoft planned, even if you're found "not liable."If you want another similar example of how this plays out even if you're in the right, look up Mr. Uzi Nissan who owned
nissan.com until he was In case it's not clear:
- From 2011 - 2019 there was a project called "Matrix Eater" then later called "Retera Model Studio" where I created a model editor for modifying MDL / MDX format files (generally for use with Warcraft III) during which time I learned a lot about their proprietary format
- From 2013 - 2020 there was a project called "mdx-m3-viewer" where a different person than me named "ghostwolf" was writing a 3D render engine to preview Warcraft 3 models (and potentially maps) in web browsers
- From 2018-2020 there was a fork of "mdx-m3-viewer" by the user Riv ("Rivsoft") that had unit selection circles, water waves on cliffs, shadows under trees, and other enhancements in the prototype map viewer that allowed opening a Warcraft III map
- From 2017-present there is a project called "HiveWE" (Hive World Editor) that recreates a Warcraft III map editor with a new and different UI and new features as an open source project
But what is actually the nature of the code that originally went into those projects? In particular:
- The code for Warcraft III shadows under units from the Rivsoft fork of the map viewer used 1 word variable names for complex terrain mathematics to create the shadows and "ubersplat" images buildings project onto terrain. Where did he get this code? Was using 1 word variable names indicative of code from a disassembler wherein the person writing it down didn't actually know what the variables were, so he didn't name them?
- The code from Ghostwolf for the model renderer could have been made by using OpenGL capture software or disassembly tools and I wouldn't know, since I got it from another repo. [This being said, it was quite elegantly written and was rewritten 5 times and changed languages -- JavaScript then TypeScript -- so wherever he got it from, he had quite a hand in perfecting it via his own efforts.]
So, that's kind of the full disclosure if you're going to try to use this to make a Steam game, just saying.
Especially that last paragraph could easily be a plot from Microsoft to eventually take down Warsmash. They would be likely to have sufficient money and capability to hatch such a plot.
We know from insiders that software development progress on the Reforged project was at least once slowed down due to credible death threats affecting the company. It's quite likely that the interaction between the people who operate in an official capacity, and the people who want to play the video games and just have fun on the computer, is not always a positive interaction. They might hate us very deeply, or have a stereotype that our group of people (who want to have fun on the computer) are all the same and are their enemy.
From my standpoint, I would rather to create a different project based on those debug symbols probably and have that be separate from Warsmash since the two software designs are honestly so incompatible. Despite outwardly looking the same, the code of Warsmash and the code on Warcraft III are almost too different to the point that it's difficult for somebody to read the C++ source code or a derivative of it, and then reproduce that same thing on Warsmash, since everything is named differently, works differently, and manages memory differently. But, despite me questioning it, I have seen at least one person try.
This year, maybe since there was that kind of concern about Microsoft maybe having an evil plot like that to cause Warsmash to include reverse engineered Warcraft 3 code, I found myself enjoying doing stuff on Warsmash that cannot be done with Warcraft 3... I think simulating World of Warcraft is sort of an example of that. Maybe they've just kind of pushed me to expand into that other area, since I don't have leaked debug symbols for that or something.
Last edited:


