• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Tool Idea - Warsmash Modding Engine

What would you rather to have?

  • Retera publishes a working engine in a few years

    Votes: 8 28.6%
  • Retera does some social networking so people like you can become contributors

    Votes: 20 71.4%

  • Total voters
    28
Status
Not open for further replies.
I'm working on trying to create a tool idea that is taking me a long time to make, and I am only a hobbyist so there are times when progress for me is very slow. The premise is quite simple: all of my experiences trying to create mods for Warcraft III led me to the conclusion that the power to modify the game at the sourcecode level would totally revolutionize almost absolutely everything I ever attempted to do when attempting to mod this game -- both by making impossible things possible, but also by making possible things much more efficient to accomplish.

So, I have been going at this idea over the past couple of years trying to shovel code from as many other relevant projects on the Hive as I could find to create a singularity of modding technology that can play the Warcraft III game without the Warcraft III game, from only the assets. I have a prototype that is functional enough that I've shared some videos of it in various places to promote discussion, but it's not actually good enough yet that myself as a Warcraft III modder would actually seriously want to use it to make a mod, so in my mind it still has a long road ahead.

But I had the interesting experience of discussing how I came to be doing this project with Antkibo here on Hive last weekend, and he got interested in it so I added him with write access to the private repo.

But it really makes me hesitate and ask myself what my goal is when I think about adding other people onto this project, because I have to decide whether my goal is the sort of "proving myself" experience of making this project to say I did, or if I am making it actually for the end result itself. Because if my goal is the better future for the Warcraft III community where people actually use this tool, it would make sense to be letting people help build it and such. But if my goal is to prove myself, then it seems like I should keep the repo private until I myself created a working replica of the game, and then publish the source of that replica for people to mod.

And I was thinking about this because I'm really of the opinion that what is better for everybody who wants to mod Warcraft 3 would be if I was taking the approach that I want to let as many people become contributors to this project as possible so that we get the goal of having source-level Warcraft III modding.
But as someone who used to make a lot of Warcraft 3 maps that nobody ever played, sometimes the reason for making something is the fun and the growth of making it. If I make everything, then I would finally know how to mod everything. You could see how that would pan out for me, potentially.

Also, I am coding things in Java 8 and LibGDX. Many people said they don't like Java, and I don't really have time in this life to switch it all to some other language, at least not at the moment. I have extensive Java experience at this point in my life compared to some other possibilities, so it was partly a personal efficiency thing for me to be doing it this way. Although, the fact that I could jump ship from Windows and move to GNU+Linux and the whole game would still run fine natively with no changes has a certain allure to it.

So, I added a poll to this post. What do you think? If I made a GitHub for the project tomorrow would you start trying to contribute to it? Or would you rather not interact with something unless it was a working system? For the moment I'm still mostly thinking of waiting until I can 1v1 a friend on Booty Bay, and then start trying to hype the project to see if anybody wants to try using it for anything or contributing to it, maybe. But it's not at all to that point yet that you could do a 1v1 multiplayer game -- several major systems are missing.
 

Kyrbi0

Arena Moderator
Level 45
Joined
Jul 29, 2008
Messages
9,501
While I once again appreciate what you are doing, I have to point out that at it's core it sounds like you're asking us to help you figure out what your Primary Goal is in working on Warsmash.

We literally can't help you at all with that. You have to decide what your priorities are. Only you can decide if giving up on the "I made this all 'myself'" dream is worth it.

And of course, if you're asking the community what we want, invariably the preponderance of replies would be "the option that best benefits the community". So just take that result with a grain of salt.

Good luck, man.

//EDIT// - I forgot to vote, lol.
I went with "open to the community" because I think that'll result in a finished product faster. I can promise you that I won't be able to help work on it myself, though.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
556
Closed source has been the bane of way too many community projects almost universally. If you want this project to continue to live and be viable long after you've moved on from it, then release it under a permissive license such as MIT or Apache.

That doesn't mean you have to accept contributions from anyone, that is a deeply personal choice and one you may want to revisit in the future.

Speaking from experience, though, getting contributors for a niche project like this one is exceptionally hard even when there's community demand. You might or might not get any even if you decide that you want to let other people help.

Regardless, I think going open-source is the right move here.
 
It was never a question in my mind whether to open source what I am doing. Replica War3 that is closed source, again, would be great human suffering. There are not enough swear words.

My concern is more about when I open source what I am doing (and maybe also MIT vs GPL). If you look at openage, open Age of Empires 2 I think it was, if you download and play it, it will spawn a villager whenever you click the mouse. A year ago when I looked it was just not done at all.

Warsmash is the same. But if the source is out there people will be trying to play it, then they play it, then they're let down. The problem is of the human mind and the expectation of the working game to exist already. That first impression let down would still be there for the user even once I actually finished what I am doing. So I am interested in whether people think that they are intellectual enough to overcome this problem.

Based on Reforged launch, I think they are probably not, but that's a trend and not meant as an insult to any specific person.
 
Level 4
Joined
Jun 19, 2018
Messages
31
What's the point of using warcraft 3 assets without warcraft 3 game? You already can create stand-alone games in Unreal Engine or Unity and use various assets available. The whole reasons warcraft 3 modding is popular are the game engine and the ease of distributing mods, both of which comes from the existing game client.
 
Level 7
Joined
Apr 28, 2006
Messages
113
Closed source has been the bane of way too many community projects almost universally. If you want this project to continue to live and be viable long after you've moved on from it, then release it under a permissive license such as MIT or Apache.

That doesn't mean you have to accept contributions from anyone, that is a deeply personal choice and one you may want to revisit in the future.

Speaking from experience, though, getting contributors for a niche project like this one is exceptionally hard even when there's community demand. You might or might not get any even if you decide that you want to let other people help.

Regardless, I think going open-source is the right move here.

Having dozens of different versions is a bane as well, imagine if different people branched the editor each in a different direction, with the final results being incompatible with one another. That's something we already see with the different W3 versions. Reforged made the problem worse, but it was there before; I still use 1.24b, because lot of the custom maps I love only work with that version.

For example, someone who dislikes java might rewrite it in another language, and then split the development. There needs to be some control, Warsmash will never be a successful collaborative project if there isn't a clear vision behind it; and I don't think there is any at the moment. No need to hurry up, take it easy and make sure things go well.

It was never a question in my mind whether to open source what I am doing. Replica War3 that is closed source, again, would be great human suffering. There are not enough swear words.

My concern is more about when I open source what I am doing (and maybe also MIT vs GPL). If you look at openage, open Age of Empires 2 I think it was, if you download and play it, it will spawn a villager whenever you click the mouse. A year ago when I looked it was just not done at all.

Warsmash is the same. But if the source is out there people will be trying to play it, then they play it, then they're let down. The problem is of the human mind and the expectation of the working game to exist already. That first impression let down would still be there for the user even once I actually finished what I am doing. So I am interested in whether people think that they are intellectual enough to overcome this problem.

Based on Reforged launch, I think they are probably not, but that's a trend and not meant as an insult to any specific person.

I would say open it only for people wanting to collaborate. Don't open it to the public until it's ready, or dumb people will ignore its nature and just whine about bugs and missing features, tarnishing the name and reputation of the project for years on end.

What's the point of using warcraft 3 assets without warcraft 3 game? You already can create stand-alone games in Unreal Engine or Unity and use various assets available. The whole reasons warcraft 3 modding is popular are the game engine and the ease of distributing mods, both of which comes from the existing game client.

I think the final goal should be to recreate W3 and the World Editor as a Blizzard-free tool. The beauty of the WE is its simplicity, Unity and others are far too complicated for those who want simple results. But that's just my opinion, of course.
 
Having dozens of different versions is a bane as well, imagine if different people branched the editor each in a different direction, with the final results being incompatible with one another. That's something we already see with the different W3 versions. Reforged made the problem worse, but it was there before; I still use 1.24b, because lot of the custom maps I love only work with that version.

For example, someone who dislikes java might rewrite it in another language, and then split the development. There needs to be some control, Warsmash will never be a successful collaborative project if there isn't a clear vision behind it; and I don't think there is any at the moment.

So... I'm struggling to see this is a viable mentality. I want to claim ultimate authority over what my own computer does, but if I claim authority over what your computer does then that's weird. That doesn't sound good to me. Or rather, we let Blizzard tell our computers what to do because we pay them. So they have an incentive to make something how we want. But if you declare me the unpaid authority over your computer, that's just really, really weird. So I don't follow what your concern here is at all.

Reforged made the problem worse

I would disagree with this sentiment entirely based on my understanding of what you were concerned about. I think this shows how I am failing to understand your concern, so possibly I am confused. Reforged is DRM heavy and does not have a separate version between Frozen Throne and Reign of Chaos. So, if you are playing it, then you are playing the one and only new version. There are also no longer separate language versions and no longer Low/Medium/High versions of SD models. So Reforged did a tremendous amount of trimming out different versions and to be honest I find it nearly impossible to run old versions of Reforged because of the DRM. How would I run 1.32.3 for example? Seems like you can't. So to me it seems like Reforged made the "problem" you are citing substantially better and less of a problem. So I don't think I understand. If you want universal versioning for all, you have the universal version of Reforged. If there is an update, then the game quits running for all the people who didnt update yet.

Warsmash will never be a successful collaborative project if there isn't a clear vision behind it; and I don't think there is any at the moment.

I have a vision for it. I want something that tries to emulate the behaviors of Patch 1.22 as accurately as possible so that I can make source mods.

I think the final goal should be to recreate W3 and the World Editor as a Blizzard-free tool.

I have made some non-Blizzard things. So then, they were pretty irrelevant. Now instead I want to mod Warcraft 3, but more. You can do things with source code mods that you cannot do with the World Editor, and now I want to be able to do those things. So I am working to make those things possible. Rather than Warcraft without Blizzard, I am hoping to make better Warcraft than Blizzard. Then maybe they would use my ideas and I would go back to playing the official one they publish. It's a possibility. But with what I am doing, I will finally be able to experience whether my ideas are actually that good. That's more of what I am going for. Rather than Blizzard-free, I am thinking of making Warsmash require a Reforged install instead of a Patch 1.22 install prior to when I publish it. So that way it's easy for anybody to use it, and Blizzard is not against it. They do not need to be against it, and I do not find that the idea of what I am doing, in spirit, is against them at all.
 
I have a vision for it. I want something that tries to emulate the behaviors of Patch 1.22 as accurately as possible so that I can make source mods.
Would be cool if you could select (almost) any patch up to 1.31 to emulate (not including bugs or dangerous exploits of course). But of course that would complicate matters considerably.
 
Would be cool if you could select (almost) any patch up to 1.31 to emulate (not including bugs or dangerous exploits of course).

Have you been on the discord server? It's obviously a bit crazy down there but this idea is straight off of the 2019 list of goals or whatever, where it shows a picture of the Minecraft version dropdown and boldly declares we want the same for War3.
 

~El

Level 17
Joined
Jun 13, 2016
Messages
556
Having dozens of different versions is a bane as well, imagine if different people branched the editor each in a different direction.

That's just how open source works, and that's the entire point of it. If you're not satisfied with how something works, you can fork it and improve it in a way you deem necessary.

Usually what happens next in open source projects is that those changes are upstreamed back into the main project, unless the main project has become unmaintained. In which case, the best fork becomes the new standard in the community.

For example, someone who dislikes java might rewrite it in another language, and then split the development.

There's nothing you can do to stop that, unless you decide not to release the source at all. Besides, what's the issue if the rewrite happens to be better than the original?

Anyway, rewriting a project in another language is usually such a huge change, that at this point it becomes an entirely different project overall.
 
Level 2
Joined
Feb 14, 2020
Messages
12
I'm not a programmer but I like the sound of this project! Given where WC3 is nowadays, An open source reimplimentation sounds like a great idea, especially with all the different decomp projects other games have ^^
 

pyf

pyf

Level 32
Joined
Mar 21, 2016
Messages
2,985
[...] Reforged is DRM heavy [...] if you are playing it, then you are playing the one and only new version. [...] to be honest I find it nearly impossible to run old versions of Reforged because of the DRM. How would I run 1.32.3 for example? [...] If you want universal versioning for all, you have the universal version of Reforged.
Well, maybe yes, maybe no...
Post on Ralle's Profile
 
Would be nice to see this released as open source so that more people out of the community can contribute in github.

I wanted to wait until it has multiplayer to do that. For example in your post, you seem to be on a personal quest to "get it" and to "play it". But it's just an idea. The current prototype will just lead to frustration for a War3 player, probably. They say you never get a second chance at a first impression. So, I was thinking it should be a playable (even if incomplete) game before I get people onboard like that.
 

Rui

Rui

Level 41
Joined
Jan 7, 2005
Messages
7,550
A new age seems to be dawning where players, those who truly know and love the game, take on the responsibility for it. :) A year ago, I came across a group of modders replicating Lord of the Rings: Battle for Middle Earth II, by Electronic Arts. EA abandoned its game after a single patch, but it still thrives today — thanks to the popularity of the franchise, obviously, but also due to the many mods and even unofficial patches developed for it. This group of modders are recreating the game in Unreal Engine 4.

They were employing a very good model to build their team: to join, you would have to have some experience as a programmer or in Unreal itself. Then, they'd have you do an Unreal Engine 4 course at Udemy. After finishing, you'd be assigned a test task. If you completed it successfully, you'd be integrated. This sets a bar just high enough to get people committed to the project, and is a better approach than anyone goes. Leverage this with strong leadership and thorough planning & management, and your chances of success are that much higher.

In the end, I did not join. It was a very rough time, due to the confinement affecting my family, the rapidly shifting jobs, along with a few other issues to top it off. I submitted my test task, did a few iterations of bug fixing, and I kept having to poke them even after fixing it in record time. I thought of insisting, in the name of my love for LotR, but I felt a disdain from their part on my attempts to cover more than one use case, and improve upon the tutorials I had taken. That, along with the general lack of empathy and bossy tone, made me lose interest. Albeit slowly, their project seems to be gaining shape and doing well. Nevertheless, the aforementioned is definitely an attitude you'll want to improve upon. Leadership that trusts you and inspires you to do your best can do wonders, I've come to know.

In conclusion, your project can go a long way, but you'll definitely need help. That is my view on the subject.
 
Level 3
Joined
Jun 2, 2012
Messages
30
Oh my god yes! It's just, the legal complications of such a project regarding the actual assets is the real kicker here. But I can't recall if base war3 was made free or not like SC1 Remastered's SC1 classic.

Regarding the aforementioned first-impression for an incomplete project, I think it'd be best to advertise it as something that is a work-in-progress and stress that, and I mean STRESS IT. I'm willing to play the incomplete project and give feedback on what you have so far, and possibly even learn Java while dicking around with my local copy of the codebase for example.

Showing certain people the rough draft, aka people who you can trust to give accurate feedback are the people you should strive to have contributing even this early in the project, even if it's just playtesting.

Regardless, i'm rooting for this project. It would be great to be able to modify and add new races that use completely ulterior building mechanics for example.

As I was typing this, I saw you had a warsmash thread, i'll hop over there and give you a piece of my mind! Give positive feedback hehe
 
Level 4
Joined
Aug 28, 2022
Messages
32
I'm working on trying to create a tool idea that is taking me a long time to make, and I am only a hobbyist so there are times when progress for me is very slow. The premise is quite simple: all of my experiences trying to create mods for Warcraft III led me to the conclusion that the power to modify the game at the sourcecode level would totally revolutionize almost absolutely everything I ever attempted to do when attempting to mod this game -- both by making impossible things possible, but also by making possible things much more efficient to accomplish.

So, I have been going at this idea over the past couple of years trying to shovel code from as many other relevant projects on the Hive as I could find to create a singularity of modding technology that can play the Warcraft III game without the Warcraft III game, from only the assets. I have a prototype that is functional enough that I've shared some videos of it in various places to promote discussion, but it's not actually good enough yet that myself as a Warcraft III modder would actually seriously want to use it to make a mod, so in my mind it still has a long road ahead.

But I had the interesting experience of discussing how I came to be doing this project with Antkibo here on Hive last weekend, and he got interested in it so I added him with write access to the private repo.

But it really makes me hesitate and ask myself what my goal is when I think about adding other people onto this project, because I have to decide whether my goal is the sort of "proving myself" experience of making this project to say I did, or if I am making it actually for the end result itself. Because if my goal is the better future for the Warcraft III community where people actually use this tool, it would make sense to be letting people help build it and such. But if my goal is to prove myself, then it seems like I should keep the repo private until I myself created a working replica of the game, and then publish the source of that replica for people to mod.

And I was thinking about this because I'm really of the opinion that what is better for everybody who wants to mod Warcraft 3 would be if I was taking the approach that I want to let as many people become contributors to this project as possible so that we get the goal of having source-level Warcraft III modding.
But as someone who used to make a lot of Warcraft 3 maps that nobody ever played, sometimes the reason for making something is the fun and the growth of making it. If I make everything, then I would finally know how to mod everything. You could see how that would pan out for me, potentially.

Also, I am coding things in Java 8 and LibGDX. Many people said they don't like Java, and I don't really have time in this life to switch it all to some other language, at least not at the moment. I have extensive Java experience at this point in my life compared to some other possibilities, so it was partly a personal efficiency thing for me to be doing it this way. Although, the fact that I could jump ship from Windows and move to GNU+Linux and the whole game would still run fine natively with no changes has a certain allure to it.

So, I added a poll to this post. What do you think? If I made a GitHub for the project tomorrow would you start trying to contribute to it? Or would you rather not interact with something unless it was a working system? For the moment I'm still mostly thinking of waiting until I can 1v1 a friend on Booty Bay, and then start trying to hype the project to see if anybody wants to try using it for anything or contributing to it, maybe. But it's not at all to that point yet that you could do a 1v1 multiplayer game -- several major systems are missing.
Hello again. You commented on my post the other day. I'm very interested in your project, because I can run warcraft 3, without wacraft 3. Maybe even make a headless version of it all (one in which I only have the battle simulation, without the graphical rendering). Or even make a lighter version, with 2d graphics so that I can run in docker containers and train machine learning and deep learning algorithms.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,195
Level 4
Joined
Aug 28, 2022
Messages
32
You can get the source code for the project from Retera's GitHub. It likely is not in a state suitable for your use as it is nowhere near a complete emulation of Warcraft III's mechanics.

I understood. But I want to collaborate and maybe get to a point where I can use it.

Thanks!
 
Status
Not open for further replies.
Top