I struggled a bit with how to reply to some of the more recent posts because they seem adequate and on-point, but possibly in a way that does not need the work that I have been doing for 5 years. Or, at least, I could see the possibility that I would not be able to adequately convince other people that a Hive "version" needs that work. I am, at times, selfish. I see an opportunity for something, identify what I want, and then try to make it within the limits of my capabilities. And I am perhaps not above
making fun of myself for it.
As you may imagine, a post like this gives me pause. That is because I'm a code guy -- my recent life has been spent doing software development. So, when I look at Reforged, even moreso than any art problems I see a code problem. When folks identify bugs, and problems, and issues, and it's all too much for Microsoft Activision to handle, rather than continuing to try to pester them for me it seems easier to be a positive instead of a negative and to create the code solutions myself instead of trying to hassle them to fix problems on their side. Sometimes I do still hassle them, but it might be against my better nature. Their actions speak louder than words. Their words are a video saying, "When something is broken, you fix it. When something is wrong, you make it right. And if things aren't good enough, you make them better."
But, their actions were to have this one guy (and maybe his two friends, according to the credits?) who is probably busting his own heart and soul trying to accomplish the
concept of fixing it, while also being -- by his own admission -- someone who never thought about being a "developer." And so, accordingly, his idea of how to fix Reforged is to replace it with AI upscaled textures slapped onto the Classic game graphics, and write over Reforged with that. Because he's probably not an artist, probably has no means to make graphics, and from what I can gather he is probably more at home changing JavaScript React native web menu stuff than the actual game code of Warcraft III (which changed a bit, but I'd say probably a lot less than the menu, in the "Patch 2.0" thing). For me, whether Brad Chan has the best intentions or not doesn't even matter at this point. The actions of the managers, to not fund -- for example -- artists instead of AI upscales for this -- or to have defunded the Reforged itself halfway through development according to leaks -- are what I feel speaks more loudly to me. What is broken isn't which lines of code Brad Chan changed - it's the society technology governance wherein we have 1000s of people who play this game, but none of them despite Brad Chan are allowed to patch the game, regardless of the level of their technical skill or if they know how. What's "broken" is the idea that Microsoft "bought" the game at all, instead of the idea that we as humans own our thoughts and dreams and play experiences. So, in this case, when something is broken, Brad Chan
will not fix it. He can't. He might very well want to, but that power will not be given to him. So, instead, he just has to make some educated compromises and try to do this or that. And the level of complexity of code inside Warcraft III probably rivals that of a "game engine," and yet it is sold as a "game" and for as long as that continues, any manager in power by necessity has to see Warcraft III as wasteful and people who work on it like Brad Chan as being "too slow" because they can simply make the
technologically uninformed and unfair comparison to other "games" in their company which in many cases might
NOT have similar levels of internal technological complexity.
And that's why for me, I find myself working on what I have. The "Warcraft 3 but it's a cursed rewrite of the game in Java" videos like the one I linked earlier in this thread - very seriously - represent years of work combining the open source LibGDX Game Engine which already exists with "View in 3D" open source code to accurately render Warcraft 3 characters - together in one game context which then loads maps like Warcraft III including triggers and scripted actions and object data like workers who create structures, and hero units who carry items. But all of those systems like the workers who create structures, or the heroes who create items, are software systems that I built to my own specification based on this desire to have my own. Almost like a reference against how we could make Warcraft III, maybe, if we wanted to make our own, even though I don't know how exactly the original was made and that information isn't public so when somebody wants to make their own version of an RTS similar to Warcraft III, and they do that, it's really hard.
For example, here is a video from 4 years ago, in 2020 after Reforged released, where I created a silly YouTube video called
"Thanksgiving: Thanks for Green/Red Pathing Status" where in this video I celebrated the hard work it took to render a form-fitted green or red bunch of squares on the ground to tell us if we "can't build there." Or later, the following spring in 2021 when I worked out how to show items in a hero inventory that I could left click to use or right click to drag around and possibly drop, I celebrated with
some epic music singing about the "unconquered city," wondering if this meant the future of Warcraft III modding would be people unconquered by Reforged. And this all despite... that there is so much work to be done. In the video of that first day in 2021 when I programmed a brainstorm for "items" and "inventory" as a concept, obviously left click instead of right click on an open inventory slot ended up picking the dirt behind the UI as the place to drop an item. The tooltips for items like Healing Potion were broken and couldn't locate ability data fields, so it says that it heals
<AIhp,DataA1>
or whatever for the number of hit points, instead of showing a number. And back when I wrote that, you can see, mousing over an item didn't even show its name above there. That took a bunch of work to integrate 2D space against the 3D space. Obviously in that first draft, potions didn't show their charges. But it was so much easier than
trying to hack stuff into existing clients like on 1.31, geez! In the video of 1.31 that I just linked there, at time 0:52, I wave the computer mouse far out to the right and back onto the inventory. That's not an accident -- it was an attempt to hide how tooltips for items would sometimes randomly not show, and other times show. This is insane! This is an insane problem to have! 2D user interface programming in any sane system is not that complicated! When we make a game on LibGDX Game Engine, it does not have this problem, or if it did it's our own fault and we just fix it!
By the end of 2021, I was
playing WarChasers on my remake of the game trying to blaze a trail forward. And I wondered, to be honest, if the forces that run our society would intervene and maybe that was where my energy and capability to get away with making a project like this would end! And yet when we watch that video, we have come so far even since then -- in that video items had no charges showing, and heroes had no abilities, and Tomes didn't show a flash on the hero and were simple numeric increases to stats. I didn't care! I was blazing the trail forward to see my vision! And all of these systems that I created, even though they are the scattered bits of disorganized feature-focused work instead of perfection-focused work, and are mostly made by one guy trying to prove it was possible, nevertheless all those systems are totally public. Anyone could copy my inventory system if they make their own game, probably. And somebody talked me into making it copyleft instead of "do anything with this, even take it and make it close source" partly because one of the dependencies already was and I didn't want to deal with that. But I don't care!
For me, it's just really cool. And yet, despite that, if somebody downloaded it today and tried to play it, they will say it sucks and is broken. For example in the "Warcraft 3 but it's a cursed rewrite of the game in Java" video, when the Cinematic mode is enabled, the Fog of War is not turned off. Oops! So, I figured out a technology solution to solve that, and will publish it to the public repo soon for everyone to have. But what if that one bug is too much for folks? Maybe they play it and that's so painful, they just absolutely hate it and can't deal with it!
And I think that's the reality for most people. When we look at something like
Warcraft III: Community Edition it seems like maybe there are more people interested in that project, or they see it almost as competition to what I'm doing, because that project takes the Patch 1.29.2, disassembles it, and adds program code to play maps made from the newer patches like 1.30-1.36, and adds their own server to play on. And this seems to have a greater number of people consistently interested in it from my rough anecdotal estimation, I think because it "already is" the established game. You won't be playing the campaign and suddenly have something missing, such as "Fog of War turning off in cinematic mode," or this type of thing. Because they didn't reinvent it all from nothing -- they're just performing the immensely complex task of disassembling the original, adding some more binary functions, and then compiling it back up.
And also, because their work is perhaps more intellectually time consuming in that regard than what I'm doing -- which is to say, I probably could have written a 2x6 inventory UI in Java
without my computer science degree, but if I decide to actually contribute to their project then I'm pretty sure I would only be able to do it
because I have a computer science degree, it is likewise the case that they don't really want their code public for the world (yet?). They seem fairly confident that if it was publicly accessible, folks overseas would steal it and put their own name on it, and then use it without accrediting the original. So for example, they told me that I could only have access to their code if I first can show or explain what feature I will add to their system for them. I sort of respect the work that they're doing and that it's probably preferable to dealing with Activision Microsoft, but for me that "quid pro quo" idea that you can only update the game if you're going to use it towards a targeted end goal is too much like the inevitable suffering of Brad Chan. I would rather to have all the code, and be able to break it in any absolutely ridiculous and pointless way that I want, and then if that leads to
something novel that other people want to try to play, you know, that's kind of cool.
So maybe I'm being ideological in a way that makes no sense to other people. I periodically have published videos
playing a melee game against no one, without an opponent, and I find myself watching these videos repeatedly as if they are of great sentimental value to me. But when anyone else watches them, they see a boring game of wc3 melee. It's easy to ask, "What's the point?" But for me, maybe... maybe that's the entire point.
I will probably continue to do what I am doing. I am not necessarily a skilled organizer of people - obviously the skills I described above are computer software skills, not people skills. So, bringing this around to the topic at hand, my point is that if I imagine a Hive-supported client that uses the software I was writing and 3D art from folks like
@LongbowMan or
@YourArthas or so many others on Hive, that seems kind of cool. And I think if you tried to sell that as a Steam game, Microsoft Activision would come after you faster than lightning. But, if it was presented as, "look, guys, we want to play Warcraft 3 on a client where we easily fix all the bugs instead of where bugs are easily added, and we did it all without you so we're not distributing Microsoft Activision property," well to me that's cool.
But as others pointed out, that's not a distinct game legally. You couldn't convince a layman very easily of why or how that was technically distinct. I linked a video of my software project in the Designer Dave discord server. He replied and said
that it was a video of Warcraft III (this was in the context of him suggesting folks create their own games and IP instead of Warcraft III). That's not legal advice, I'm sure that's only his opinion. In my opinion, I would say, it is not Warcraft III game program, but rather an emulation of Warcraft III running on an emulation system that I created. That is to say, I imagined playing a game of Warcraft III with myself without actually playing it, and I wrote instructions for the computer that it would be so. And I imagined so hard that some people can even see, my ideas came from playing Warcraft III in some cases that I was imagining. But it meant that I could imagine such
weird and bizarre things! And other times I realize that what I imagined
could not ever be Warcraft III, not without me imagining something completely and totally different back from the beginning.
So if folks want legal freedom to say, "What I am playing is not Warcraft III," then what I created probably does not help them. And if they want to say, "I am playing the best working version of Warcraft III," then (at this moment in time) it seems logical that they would not want to play what I created, nor to play the Reforged. Maybe I will not succeed in convincing large numbers of people to join what I have created (although I have had some really awesome and great contributions from GitHub contributors who saw my project, forked the code, added features, and then created a pull request back to the original -- all without my permission other than the last step when I read through and decided I like their work).
But it looks like there are folks for whom what I'm doing is not good enough. And maybe they will say, it won't ever be good enough. If I fix "fog of war during cinematic," then they will say the camera angles are still wrong. If I fix the camera angles, then they will say, the pathfinding algorithm is too slow. And if I fix the pathfinding algorithm, then they will say that the limit to 16 terrain textures per map is unreasonable (or maybe it's 13 right now in my code, etc).
And they will always be right, until the work is done, and the remake is perfect, and it might never be perfect.
So where does that leave us? How do you define "Warcraft III" as a concept? Is it a particular program? Is it an idea? If I get a big donor and send a lot of money to
@LongbowMan here and he creates all the art files in the game according to his vision, and I make a free download containing a copy of that art and a copy of my code together that anybody can try, along with some unit stats that probably intentionally fail to match Warcraft III so that I can accurately say I'm not providing a download of the original Warcraft III game -- for example maybe I add 3x5 command card with a different UI style, and 3x3 item inventory, and selecting up to 20 units per page instead of 12 on only one page, and maybe the workers can build shipyards in that 3x5 command card and there is another resource on the top UI bar called oil that we can drill for with the ships from the shipyard...
If I do something like that, but also make it Warcraft III enough that it can play most custom games, or something, where would we end up? I'm sure it's almost inevitable that some day, even in that imaginary future, the nice
@LongbowMan would see me ranting and raving about this or that on YouTube instead of fixing a critical game breaking bug he had been facing, and begin to think, you know, maybe Retera here is not a good person. Maybe he is only interested in his own goal of making a remake for himself so he can make stupid mods, or for the purpose of pretending to be better than other people. And that might be the most accurate criticism in the whole world.
But what does the collective want to do? What's a good future? Maybe the better future is for folks to run 1.29.2 client, because they want something that works. If that's so, then where does a remake of all the art assets come into play? It is... almost inevitable... that without oodles of dollars, perhaps at least one million, so that you could pay a bunch of overweight nerds to sit for at least a year scrolling through MDX files and cross checking which ones did or did not match the original profiles and shapes and colors of the original game, and tweaking things.... That without that, somebody would pop open this art reskin and say, "Hey, when I play on the original graphics it works fine but on your graphics it's broken," and then they would just go back to the original -- just like how folks will go back to 1.29 or 1.26 or whatever -- even if I personally like my rewrite that I've been working on for 4ish years and will continue to do so.
So how do we work together? I don't really know. Maybe I'm not the right person to know. Maybe most people want something different than what I want. Do we have some kind of consensus? Or do we only agree that we wish things were better than Reforged 2.0, and agree on little else?