The Technical Alpha has been out a while, so the Heroes cache files have been making the rounds. Note that these specific cache files were downloaded by me from official Blizzard servers while playing the game normally, and I can vouch for them.
I've also included the majority of the Heroes data files, including essential game data XMLs and all of the Blizzard libraries that Heroes relies on. If you have questions, I've already spent tens of hours going over the libraries and game data XMLs, so I can answer most questions about where functions/features are located, how they're called, and what is required for a map to run.
The other four files are all maps, and they are good examples of what you would want your map to look like if you were making a map that was supposed to be a new 'Battleground' for the existing Heroes of the Storm gameplay.
You Can Make Maps for Heroes of the Storm Already?!
Yes, sure. You will want moderate knowledge of the internal structure of SC2 maps, Galaxy script, XML files, and hex editing (in certain cases). There's no user-friendly editor to assist here, but even somebody with zero experience with the aforementioned concepts can make a Heroes map with some determination (and others will more than likely be happy to answer questions - I expect to be doing a lot of that for now).
I published the first item of Heroes of the Storm map-making content over the weekend - a library for initializing 'proper' games without requiring the Battle.net Hero Selection interface to pass the map Hero data. If you want to make a map that uses the standard Heroes of the Storm assets, this will probably be a highly useful asset for your map as it makes initialization a lot easier and expands the number of options for the user greatly.
How Do I Convert My SC2 Map? / What Does a Heroes Map Need to Run?
At an extremely basic level, a map loadable by Heroes differs from a map loadable by SC2 in two major ways:
The file named DocumentHeader has the first instance of "H2CS" and "2S" replaced with "oreH" (in both cases).
The headers of the MPQs for maps are different in some minor but fundamental way. Saving an MPQ after making a change is -not- a viable option until StormLib has been updated to support Heroes' maps. Instead, simply extract the contents of the map to a folder and name the folder the same as the map (complete with extension). Heroes tries to read MPQs as if they were folders, so it apparently doesn't care if the map is already a folder (and not an MPQ at all). This makes it easier to edit maps anyway.
There is one other thing that is required to make an SC2 map load in Heroes - you need to correct the dependencies, since the SC2 Mod dependencies listed in it will not exist. These are located both in DocumentHeader and DocumentInfo, but you only need to fix the ones in DocumentHeader (DocumentInfo is only used by the editor). Delete all listed dependencies in both files except for the first one, and replace it with "bnet:Heroes of the Storm (Data Mod)/0.0/999,file:Mods/HeroesData.StormMod".
Lastly, the file named ComponentList.SC2Components is instead named ComponentList.StormComponents (all mentions of "SC2" in any file name anywhere are replaced by "Storm"). Note that changing this is not required to load a map - ComponentList is only used for the editor (which we don't have atm anyway).
How Do I Test My Map?
There is only one legitimate method for testing your map that I know of - "replacing" an existing map so that your map is loaded. This method requires a Technical Alpha license on your Battle.net account. If you're interested in non-legitimate methods, google them and don't discuss them here, please.
Name your map's folder "Tutorial01.StormMap" and place it in /Heroes of the Storm Tech Alpha/Maps/Heroes/BuiltIn/StartingExperience/. Launch your Heroes of the Storm installation, log in to Battle.net, and go to the Options menu in the upper-right. Click on "Play Tutorial". Instead of the tutorial, you will launch your map. You can probably do this with other maps in other places, but this is much more convenient.
What's the Future of Heroes of the Storm Mapmaking?
There is a world of possibilities out there when you consider that Blizzard has already created the setting (King's Crest forests, King's Crest docks, etc) and all the major assets (terrain, structures, doodads, creep waves, heroes, jungle camps, etc).
Blizzard plans to officially support custom maps once the game is out of the Technical Alpha phase and has mentioned a desire to release a version of the Galaxy Editor for Heroes of the Storm when it reaches Open Beta.
For now, it's totally possible to make a SC2 -> Heroes map converter. It could have a few different options when converting so that you could swap terrain palettes and units with the proper Heroes counterparts. You could even have a field that lets you setup the 'lanes' via several series of regions like the official Blizzard maps do.
If so, can you copy/paste XML code from SC2's data editor into the Heroes editor? Yell if you want me to PM some example code.
What about triggers? Can you copy/paste code from SC2 to Heroes? I would assume so.
What models are in Heroes? Kinda a big question, but I'm sure that a library of model images would go down very well with anyone interested in Heroes.
How is the terrain editor? Can you place creep? Can you place cliffs (there doesn't appear to be any cliffs in any of the maps)? Ramps?
What fields does the data editor have? Probably too vague a question. I'd like to see if all the SC2-specific fields are still in Heroes.
Whether you answer any of the above or not, thanks for your time! I do wish Blizzard would take steps to include the SC2 mapping community into Heroes (maybe they have already and I missed the boat?), but seeing the way things are set up second-hand is better than nothing!
If so, can you copy/paste XML code from SC2's data editor into the Heroes editor? Yell if you want me to PM some example code.
What about triggers? Can you copy/paste code from SC2 to Heroes? I would assume so.
How is the terrain editor?
What fields does the data editor have? Probably too vague a question. I'd like to see if all the SC2-specific fields are still in Heroes.
No Editors are available at the moment - including the Heroes' Galaxy Editor. All editing must be done directly to the XMLs.
All XML code and galaxy script is directly compatible except for some very minor compatibility issues if the arguments have changed to a native function you're using or something, so copy and paste will work fine even if Blizzard doesn't support it directly.
Note that a few of the models listed here may not actually exist. Blizzard has carefully scrubbed the data files clean of unreleased skins and unannounced heroes, so even if that stuff is listed here, it isn't usable.
Wouldnt it make sense to have aracade as whole? What sense would there be to have sc2 arcade and heroes arcade?
For the moment, SC2 and Heroes are using different versions of the engine and different versions of the editor (there are references in Heroes' files to a "Galaxy Editor v2.5.0"). It wouldn't make sense to unify the Arcade yet. Maybe in LotV.
Interesting list! Luxoria and Ashenvale caught my eye. Ashenvale would certainly be a WoW-themed battleground, while I'd hazard a guess that Luxoria is a Protoss world. There's still the original Cyberworld assets in there, too, and a few hints at "Underworld", though that may just be part of the grave golem map.
There's a firebat vehicle, in the same sense that there is a dragon-knight vehicle.
Zamuro (blademaster?) is referenced.
Good old xel'naga watch tower is still there, though it's basically the only sc2 model.
Other than that, that is a seriously massive amount of models.
Then of course there are cutscenes, stormlayouts, etc etc - all that in the Data directories. Other types of stuff go in Base.StormAssets, like textures, models, sounds (non-localized), etc.
These are two Blizzard functions (one calls the other), but calling the first function doesn't seem to work. No errors are thrown, but the randomization is not complementary at all.
Total guess, but it may be due to it referencing the now defunct "siege" class of heroes.
Try removing "&& (lv_allowSiege == false))" from the "libGame_gf_HeroSelectionRandomlyPickUnusedHeroWithFilter" action at the bottom.
It may also be that "libGame_gf_HeroSelectionRandomlyPickUnusedHeroWithFilter" doesn't exist anymore. I never saw any option to pick a random hero, excluding certain hero archetypes, from watching streams.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
What's This Thread About?
The Technical Alpha has been out a while, so the Heroes cache files have been making the rounds. Note that these specific cache files were downloaded by me from official Blizzard servers while playing the game normally, and I can vouch for them.
Anyway, here is pretty much all you need to get into Heroes mapmaking: Link Removed: http://www.mediafire.com/download/8pwd4p0l2f6i4jt/Heroes Tech Alpha Cache.zip
I've also included the majority of the Heroes data files, including essential game data XMLs and all of the Blizzard libraries that Heroes relies on. If you have questions, I've already spent tens of hours going over the libraries and game data XMLs, so I can answer most questions about where functions/features are located, how they're called, and what is required for a map to run.
The other four files are all maps, and they are good examples of what you would want your map to look like if you were making a map that was supposed to be a new 'Battleground' for the existing Heroes of the Storm gameplay.
You Can Make Maps for Heroes of the Storm Already?!
Yes, sure. You will want moderate knowledge of the internal structure of SC2 maps, Galaxy script, XML files, and hex editing (in certain cases). There's no user-friendly editor to assist here, but even somebody with zero experience with the aforementioned concepts can make a Heroes map with some determination (and others will more than likely be happy to answer questions - I expect to be doing a lot of that for now).
I published the first item of Heroes of the Storm map-making content over the weekend - a library for initializing 'proper' games without requiring the Battle.net Hero Selection interface to pass the map Hero data. If you want to make a map that uses the standard Heroes of the Storm assets, this will probably be a highly useful asset for your map as it makes initialization a lot easier and expands the number of options for the user greatly.
It is available here: http://www.sc2mapster.com/maps/libmase/
How Do I Convert My SC2 Map? / What Does a Heroes Map Need to Run?
At an extremely basic level, a map loadable by Heroes differs from a map loadable by SC2 in two major ways:
There is one other thing that is required to make an SC2 map load in Heroes - you need to correct the dependencies, since the SC2 Mod dependencies listed in it will not exist. These are located both in DocumentHeader and DocumentInfo, but you only need to fix the ones in DocumentHeader (DocumentInfo is only used by the editor). Delete all listed dependencies in both files except for the first one, and replace it with "bnet:Heroes of the Storm (Data Mod)/0.0/999,file:Mods/HeroesData.StormMod".
Lastly, the file named ComponentList.SC2Components is instead named ComponentList.StormComponents (all mentions of "SC2" in any file name anywhere are replaced by "Storm"). Note that changing this is not required to load a map - ComponentList is only used for the editor (which we don't have atm anyway).
How Do I Test My Map?
There is only one legitimate method for testing your map that I know of - "replacing" an existing map so that your map is loaded. This method requires a Technical Alpha license on your Battle.net account. If you're interested in non-legitimate methods, google them and don't discuss them here, please.
Name your map's folder "Tutorial01.StormMap" and place it in /Heroes of the Storm Tech Alpha/Maps/Heroes/BuiltIn/StartingExperience/. Launch your Heroes of the Storm installation, log in to Battle.net, and go to the Options menu in the upper-right. Click on "Play Tutorial". Instead of the tutorial, you will launch your map. You can probably do this with other maps in other places, but this is much more convenient.
What's the Future of Heroes of the Storm Mapmaking?
There is a world of possibilities out there when you consider that Blizzard has already created the setting (King's Crest forests, King's Crest docks, etc) and all the major assets (terrain, structures, doodads, creep waves, heroes, jungle camps, etc).
Blizzard plans to officially support custom maps once the game is out of the Technical Alpha phase and has mentioned a desire to release a version of the Galaxy Editor for Heroes of the Storm when it reaches Open Beta.
For now, it's totally possible to make a SC2 -> Heroes map converter. It could have a few different options when converting so that you could swap terrain palettes and units with the proper Heroes counterparts. You could even have a field that lets you setup the 'lanes' via several series of regions like the official Blizzard maps do.
Is there a data editor?
If so, can you copy/paste XML code from SC2's data editor into the Heroes editor? Yell if you want me to PM some example code.
What about triggers? Can you copy/paste code from SC2 to Heroes? I would assume so.
What models are in Heroes? Kinda a big question, but I'm sure that a library of model images would go down very well with anyone interested in Heroes.
How is the terrain editor? Can you place creep? Can you place cliffs (there doesn't appear to be any cliffs in any of the maps)? Ramps?
What fields does the data editor have? Probably too vague a question. I'd like to see if all the SC2-specific fields are still in Heroes.
Whether you answer any of the above or not, thanks for your time! I do wish Blizzard would take steps to include the SC2 mapping community into Heroes (maybe they have already and I missed the boat?), but seeing the way things are set up second-hand is better than nothing!
Wouldnt it make sense to have aracade as whole? What sense would there be to have sc2 arcade and heroes arcade?
No Editors are available at the moment - including the Heroes' Galaxy Editor. All editing must be done directly to the XMLs.
All XML code and galaxy script is directly compatible except for some very minor compatibility issues if the arguments have changed to a native function you're using or something, so copy and paste will work fine even if Blizzard doesn't support it directly.
Here, I stripped the names from ModelData.xml: http://www.sc2mapster.com/paste/9623/
Note that a few of the models listed here may not actually exist. Blizzard has carefully scrubbed the data files clean of unreleased skins and unannounced heroes, so even if that stuff is listed here, it isn't usable.
Yes, yes, and yes.
For the moment, SC2 and Heroes are using different versions of the engine and different versions of the editor (there are references in Heroes' files to a "Galaxy Editor v2.5.0"). It wouldn't make sense to unify the Arcade yet. Maybe in LotV.
Interesting list! Luxoria and Ashenvale caught my eye. Ashenvale would certainly be a WoW-themed battleground, while I'd hazard a guess that Luxoria is a Protoss world. There's still the original Cyberworld assets in there, too, and a few hints at "Underworld", though that may just be part of the grave golem map.
There's a firebat vehicle, in the same sense that there is a dragon-knight vehicle.
Zamuro (blademaster?) is referenced.
Good old xel'naga watch tower is still there, though it's basically the only sc2 model.
Other than that, that is a seriously massive amount of models.
Thanks for the list!
i would call this the death of an undead, good bye sc2 mapping, hello heroes mapping
It takes less time to get some of the more popular sc2 maps going, than it does for some actual games to fill out their lobby.
Calling it dead is silly.
Just saw the references to Hell Maws and Heaven's Gates. Possible Diablo Heaven vs Hell battleground?
I'm also pretty curious what an "ogrenaut" is. StarCraft themed ogre?
ComponentList is not actually needed, this file is for edtor only.
The mimimum requirement for a runable map is
DocumentHeader
MapInfo
MapScript.galaxy
Only 3 files, if you want the map to runable locally.
If you want to make the map runable on BN, you will need to add:
Attributes
Other optional components:
Data:
Base.StormData\GameData\*Data.xml
Localized strings:
xxXX.StormData\LocalizedData\GameStrings.txt
BankList:
BankList.xml
Minimap:
CustomMiniMap.tga
MiniMap.tga
Pre-placed objects:
Objects
Preload:
Preload.xml
PreloadAssetDB.txt
Pre-placed region:
Regions
Terrain&Cell Pathing:
CellAttribute_Pde
CellAttribute_Pgr
CellAttribute_Pnb
CellAttribute_Vsh
CellAttribute_Pnp
CellAttribute_Vbl
CellAttribute_Vur
t3CellFlags
t3FluffDoodad
t3HardTile
t3HeightMap
t3SyncCliffLevel
t3SyncHeightMap
t3SyncTextureInfo
t3Terrain.xml
t3TextureMasks
t3VertCol
t3Water
Editor Only:
DocumentInfo
Triggers
ComponentList.StormComponents
xxXX.StormData\LocalizedData\ObjectStrings.txt
xxXX.StormData\LocalizedData\TriggerStrings.txt
Version Files:
/*.version
Nice list! Here's a few you can add:
CellAttribute_Pde
CellAttribute_Pgr
CellAttribute_Pnb
CellAttribute_Vsh
Localized Editor-Only strings:
xxXX.StormData\LocalizedData\ObjectStrings.txt
xxXX.StormData\LocalizedData\TriggerStrings.txt
Then of course there are cutscenes, stormlayouts, etc etc - all that in the Data directories. Other types of stuff go in Base.StormAssets, like textures, models, sounds (non-localized), etc.
The assets file are consided as 'Imported Files', so they are not in the 'reserved' file list.
But I did forget to add ObjectStrings.txt and TriggerStrings.txt
They are now called 'Knights', apparently.
And are these so called knights, knights that we know of? or are they actually something else?
Ogrenaut may be something like the the Dragon Knight. You capture him, and use him to destory enemy.
Am I crazy or is there something wrong with this set of functions?
These are two Blizzard functions (one calls the other), but calling the first function doesn't seem to work. No errors are thrown, but the randomization is not complementary at all.
Total guess, but it may be due to it referencing the now defunct "siege" class of heroes.
Try removing "&& (lv_allowSiege == false))" from the "libGame_gf_HeroSelectionRandomlyPickUnusedHeroWithFilter" action at the bottom.
It may also be that "libGame_gf_HeroSelectionRandomlyPickUnusedHeroWithFilter" doesn't exist anymore. I never saw any option to pick a random hero, excluding certain hero archetypes, from watching streams.