• 🏆 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!

Introducing HiveWE

Status
Not open for further replies.
Level 14
Joined
Jan 16, 2009
Messages
716
hivewearticle01-png.291544


HiveWE is a fully custom open-source 3rd party World Editor
Created by eejin



THE CURRENT STATE OF THE PROJECT

While HiveWE's end goal is to be a fully functional replacement and improvement of the original World Editor, the current features are limited. However, a lot of work has been put into the infrastructure to make this possible. Now that the basics are there implementing new features should be less of a lengthy process. So with this being a bit of a beta there are some limitations.

Features:
  • Open and view Warcraft III: The Frozen Throne maps (not RoC yet)
  • Pathing Brush: Edit the pathing map and save it. Now you can just draw straight on the pathing map saving you lots of time and your map will load quicker too be, because you dont have to place pathing blockers anymore.

hivewearticle02-png.291540

From the rocks being unbuildable to being both unwalkable and unbuildable in 10 seconds!


hivewearticle03-png.291543

There are some other creative things you can do too like making cliffs walkable, or an underwater map


Limitations:
  • Slow with lots of doodads (10.000+)
  • Doodad rendering is not 100% accurate (teamglow, billboards, etc)
  • Does not render units
  • Does not render ramps

Roadmap:

So what’s next? Obviously removing the current limitations is a priority so that even bigger maps can be worked on with a cinematic 24 fps. After that some more features concerning pathing and some rudimentary terrain editing.

Here is a video of Retera explaining why this is the future with a neat exemple:



WHY A STANDALONE EDITOR AND NOT JNGP OR WEX ?

Modifying the existing World Editor, is a bit like glueing a spoiler onto a crappy car versus building a race car from the ground up.

Most of the extra functionality that JNGP or WEX offers is integrated using memory hacks, and while being very useful does feel a little glued on. A fully custom editor like this will allow us to do all kinds of new and exciting things such as editing the pathing map or increasing the limits on all kinds of things like the amount of cliffs.

There’s a long road ahead for HiveWE to someday fully replace the original World Editor, but until then you will get to enjoy a lot of additional features too. Feel like you could help? Then drop by in the Hiveworkshop Discord or submit a Pull Request to our Github.


* * *


This wouldn't have been possible without the incredible work of eejin and the help of Ghostwolf with deciphering the warcraft formats and general guidance. Without him this would have taken many times as long. Also many thanks to the rest of the community for all the help.



 
Last edited:
Level 37
Joined
Jul 22, 2015
Messages
3,485
@Chaosy it's not meant to replace the World Editor right now.

While HiveWE's end goal is to be a fully functional replacement and improvement of the original World Editor, the current features are limited. However, a lot of work has been put into the infrastructure to make this possible. Now that the basics are there implementing new features should be less of a lengthy process. So with this being a bit of a beta there are some limitations.
Nobody should or would use it right now, it' the possibilities that is getting everyone hyped.
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
@Chaosy it's not meant to replace the World Editor right now.


Nobody should or would use it right now, it' the possibilities that is getting everyone hyped.

It is still getting hyped for something that is veeeeeeeeery far away.
First you need to equal the standard editor.
And then you need to surpass JNGP and WEX as well.

call me dull and boring but I cannot get excited from such an early prototype.
 
If, developer willing, the Hive WE should become a success, it would be the epitome of the dedication of the modding community to the game of Warcraft III. If anything else, I would like to suggest something with the Trigger Editor (of Hive WE)...

Allow something like having a pre-processor script to interpret a series of code into jass such that it would be like plug-and-play. (Could be in-built functionality)
For example, if you don't have a vJASS pre-processor script, you can't write certain things in vJASS. You plug in vJASS, and everything will fall in place.

Code:
Interpret language as: vJASS

JASS:
library SomeFoo
    
    private struct SomeLib
    endstruct

    function arr takes nothing returns nothing
    endfunction
endlibrary

^^ The result above would compile. However, assuming that you have Zinc pre-processor script...
Code:
interpret language as : Zinc

JASS:
library SomeFoo

    private struct SomeLib
    endstruct

    function arr takes nothing returns nothing
    endfunction
endlibrary

^^ The result above wouldn't compile, due to error in syntax. Note that these are just examples.
You can even go further and allow reversion of JASS to GUI and vice versa just by changing the language from JASS to GUI.

Reversion from JASS to GUI

Code:
interpret language as: JASS

JASS:
function Trig_Scandal_Actions takes nothing returns nothing
    // The script below is manually added.
    local unit u = GetTriggerUnit()
    local location loc = GetUnitLoc(u)

    call DisplayTextToForce(GetPlayersAll(), "Unit's name is " + GetUnitName(u))
    call DestroyEffect(AddSpecialEffectLoc("define string", loc))

    call RemoveLocation(loc)
    set loc = null
    set u = null
endfunction

Code:
interpret language as: GUI

  • Scandal
    • Custom Functions
    • Events
    • Conditions
    • Actions
      • Comment: The script below is manually added.
      • Custom Script: local unit u = GetTriggerUnit()
      • Custom Script: local location loc = GetUnitLoc(u)
      • Game: Display to (All Players) the message (ConcatenateString("Unit's name is ", (Get name of [U]u[/U])))
      • Custom Script: call RemoveLocation(loc)
      • Custom Script: set loc = null
      • Custom Script: set u = null
The language will attempt to find the right kind of wrapper for the jass script given and will automatically translate it if found. If not, the language will resort to placing it within a Custom Script.
 
Level 2
Joined
Feb 28, 2010
Messages
20
Code:
// Don't look at this code
// It's not pretty
Ha, that's funny =)

I couldn't find anything about code editing in GH, do you plan something? I must say scintilla was awful even when JNGP came out, and after work in actual IDE it's getting even worse to use.

Also I definitely would like to take a look at roadmap or at least list of planned features.

// looks like it's time to start thinking about rewriting cJass on cpp...
 
Last edited:

eejin

Tool Moderator
Level 12
Joined
Mar 6, 2017
Messages
221
It is still getting hyped for something that is veeeeeeeeery far away.
First you need to equal the standard editor.
And then you need to surpass JNGP and WEX as well.

call me dull and boring but I cannot get excited from such an early prototype.

I don't get the hype feeling. Blizzard Entertainment already working to remaster WarCraft III and its editor. <snip>


This tool does not need to surpass the standard editor, JNGP or WEX on every front. It just needs to be better at some things or offer functionality that the others don't. Right now you can straight up edit the pathing map which is an unique feature. Would you have seen the usefulness of this tool if it was only marketed as a pathing map editing tool?

If, developer willing, the Hive WE should become a success, it would be the epitome of the dedication of the modding community to the game of Warcraft III. If anything else, I would like to suggest something with the Trigger Editor (of Hive WE)...

Ha, that's funny =)

I couldn't find anything about code editing in GH, do you plan something? I must say scintilla was awful even when JNGP came out, and after work in actual IDE it's getting even worse to use.

Also I definitely would like to take a look at roadmap or at least list of planned features.

// looks like it's time to start thinking about rewriting cJass on cpp...

There are lots of tools for editing code that have a lot of time spent on making them. Making a text editor that has the same functionality would be a lot of work. For now I might look into some Wurst integration as that seems like the best option now. I do feel like a trigger editor for GUI code might be worthwhile as there aren't any better alternatives available and there are lots of things that could be improved on that.

Here is a little roadmap:
  • Improve performance a lot
  • Add more pathing map tools
  • Perhaps a tilesetter such as JNGP had?
There are lots of things I can think of that I would want to add, but promising too much may disappoint you :p.
 
Level 2
Joined
Feb 28, 2010
Messages
20
Making a text editor that has the same functionality would be a lot of work.
I was talking more about integration of some already existing text processor, of course. There are thousands of them at GH with quality and functionality for every taste, so you can choose from.

little roadmap
There are lots of things I can think of that I would want to add, but promising too much may disappoint you
It isn't about promising or disappointing us, just life tells that if you don't have target, you will never achieve it.

I strongly suggest you to make some image of final result that you want to have at 1.0 release and then decompose it down as deep as you can in ten minutes. Maybe even down to concrete tasks which you (or someone else) could done less than in a day.

This small suggestion is essential and comes from years of professional experience in project management, so I bet you will not regret using it.
 
Level 8
Joined
Jul 7, 2011
Messages
264
My suggestion is to do without stress. If this Open Source World Editor is less powerful than Blizzard's. So if you want to try until you achieve the level of the classic (to avoid disorganization and errors), and if you also want to add new features that run on Warcraft 3. I read, and I found some cool things as trying to remove as limitations.

It's been a long time since I no used WE, but I'm weighing if I buy Warcraft 3 completely. I used game keys of my brother to play Warcraft 3 and use World Editor.


Another suggestion: that in the object editor, in the skills, put new function equal to Trigger Editor within the settings of the object. So, I think it gets more organized for me, you can directly put in the screen of skill.
Two Example:

I create a new ability from the Storm Bolt, and wish that additional damage ability picking up the strength values of the hero who used the skill, I directly edit the ability on the object editor.
Another example, I create a new ability from the Storm Bolt again, remove the project from the skill, and edit for the hero who uses skill to teleport near the target.
 

Cokemonkey11

Code Reviewer
Level 29
Joined
May 9, 2006
Messages
3,516
Level 8
Joined
Jul 7, 2011
Messages
264
Suggestions:

Other things that I think cool that this editor can make it easier to work as a team. Importing together any system that one or several made for the map that will be released.
And have a way to pick up skills file, etc done in the Hive. And import everything at once. That stay copying the part of the Trigger, the part of the Object Editor, etc.
 
Last edited:

Deleted member 247165

D

Deleted member 247165

After a few improvements, I think this will be very useful ! :D
 
Level 4
Joined
Jan 27, 2016
Messages
89
Nice to see people in WC3 are still ambitious. Id like to see saving additional directly into the object editor (basically creating new variables, such as custom value/point value) as well as the inbuilt ability to retrieve and modify them and other values, such as attack speed.
 
Checked the news hoping for an explanation as to why the site seemed to be down for a good chunk of yesterday, was quite pleasantly surprised to see this! (My normal Hive link takes me straight to the model sections, so I'm a little late to the draw on seeing this)

Can't wait to see what you guys can do with this thing, in the long run! Maybe this is a little ambitious, but do you think there could be any way to tie the editor directly into the site in such a way that you could access most custom resources without having to download them? Like a "direct import" sort of thing, that would take care of texture paths and whatnot? Like I said, that may be too ambitious, but a feature like that would be incredibly handy, and it was honestly the first thing that popped into my head when I heard the name "HIVE Editor."
 
Level 4
Joined
Jan 27, 2016
Messages
89
Can I ask, how well does the editor perform currently when it comes to just modifying objects when there are several thousand objects, compared to current WE?
 
@The_Warchief The idea of linking the editor to the website has been discussed and it could be done actually :)
Aw, sweet! That alone would make the Hive Editor pretty damned worthwhile. It'd cut out so many middle men, haha.

Also, do you think there'd be any way to let the Hive Editor get past some of the more stubborn hard-coding in the game? Like how custom team color overwrites show up fine in the editor, but get set to default in-game? Or how Ancestral Spirit ONLY works on Tauren and there's no way to do a simple edit of it to allow otherwise? Things like that?
 

eejin

Tool Moderator
Level 12
Joined
Mar 6, 2017
Messages
221
Like how custom team color overwrites show up fine in the editor, but get set to default in-game? Or how Ancestral Spirit ONLY works on Tauren and there's no way to do a simple edit of it to allow otherwise? Things like that?
I'm not familiar with those things so I can't say. I'll probably run into a lot of things when I start supporting editing units and such. For now I'm focussing more on terrain editing features. Retera and me are discussing working together and porting his object editor to C++, but I promise nothing about that yet :).
 
Level 10
Joined
Oct 26, 2008
Messages
287
Great effort!
This is very very awesome, because if you manage remove all the current limitations, we will simply have a world editor with the same or more functionality as the original, but with much much faster editing speed.
All I can say is, awesome! Please keep up the work. Especially in the second half of the project, because it will be hard to keep up motivation :)
 
Level 35
Joined
Oct 9, 2006
Messages
6,392
i have a question can't you just add these "New Features" to the Original WE?

Just for those lazy to read it:
WHY A STANDALONE EDITOR AND NOT JNGP OR WEX ?

Modifying the existing World Editor, is a bit like glueing a spoiler onto a crappy car versus building a race car from the ground up.

Most of the extra functionality that JNGP or WEX offers is integrated using memory hacks, and while being very useful does feel a little glued on. A fully custom editor like this will allow us to do all kinds of new and exciting things such as editing the pathing map or increasing the limits on all kinds of things like the amount of cliffs.
 
  • Like
Reactions: pyf
Level 8
Joined
Jul 7, 2011
Messages
264
I think the project developer (@eejin) will get tired of work. On her project page on GitHub, he has put some texts that I will quote here:
Possible Contributions

Want to help with the development of HiveWE? Below is a list of features that you could implement. You can try one of these or just add something else you feel like HiveWE should have. Any contributions are welcome!

  • A trigger editor for (an improved?) GUI
  • An object editor
  • An import manager
  • Being able to change forces/teams
  • Changing map sizes/camera bound

I can not help it, because I do not know programme. But if someone knows and wish to help him, then help him. For what I looked here the comments, the idea of this project seems excellent and promising.
 
Last edited:
Status
Not open for further replies.
Top