Staredit Network > Forums > SC2 General Discussion > Topic: Starcraft II Mapping/Modding Mechanics
Starcraft II Mapping/Modding Mechanics
Feb 27 2010, 7:40 am
By: Heinermann  

Feb 27 2010, 7:40 am Heinermann Post #1

SDE, BWAPI owner, hacker.

Units:
Stored as an "object" in an XML file. You can place any unit, including custom units that were added by mods. You can scale the units to any size.

Terrain:
The maps are created from a height map with custom textures splattered over it. Doodads are stored as objects just like units are. The terrain can also be scaled, and map sizes larger than 256x256 are supported (the width/height are 32-bit integers each).

Modding:
You can add any files to the map and they will gain priority over the other archives. You don't need to completely replace XML or TXT files, you only need to add your changes. For example: adding a new unit to UnitData.xml

Galaxy Script:
A scripting language for trigger development. See Galaxy Wiki.

Native trigger debug UI:


Other stuff...

EDIT: Do not discuss the crack here. It is against the rules. I hope you'll only discuss things that people have tested or discovered.

Post has been edited 1 time(s), last time on Feb 27 2010, 7:46 am by Heinermann.




Feb 27 2010, 7:59 am Corbo Post #2

ALL PRAISE YOUR SUPREME LORD CORBO

Can you tell me if the maps/terrain textures act as "tiles" like in SC1 meaning, "premade" blends that you place (just like isom edges) or do the textures blend in new terrain via masking, meaning there are no real edges, it's just a texture overlayed on top of another "base" texture?
Nevermind I opened a map and it seems they do blending via masks.


My discoveries from poking mpqs:

All units/models, like many other games, have two maps each, a diffuse map that is the main texture of the unit and a normal map that take it acts like the terrain "height" map. Diffuse map would be the texture of the unit and the normal map "extrudes" part of said texture to make the unit look less flat. Leads me to think that the models will most likely be very basic since details are controlled by the maps. Same goes to terrain textures, such as cliff edges, "plating" details ans so on, terrain geometry will most likely be flat + texture and bumped up (or down) by the normal map.
Also, it seems that there's one model for different unit animations?

Post has been edited 4 time(s), last time on Feb 27 2010, 8:46 am by Heidi Klum.



fuck you all

Feb 27 2010, 8:44 am Sixen Post #3



Where'd you get that "Trigger Debugging" program? Or did you create it yourself? If you've created it yourself, can you share or explain it?



None.

Feb 27 2010, 9:09 am Jack Post #4

>be faceless void >mfw I have no face

@corbo Terrain isn't controlled by a normal map, as normal maps don't affect the actual geometry. Displacement maps are used instead. I just hope they can be a resolution big enough to allow us to make small details, essentially scaling down the terrain. That means 256x256 can seem far bigger.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Feb 27 2010, 9:11 am Voyager7456 Post #5

Responsible for my own happiness? I can't even be responsible for my own breakfast

OK, so I've been changing files directly in the Liberty.SC2Mod\Base.SC2Data archive.

Editing RaceData works fine, but editing pretty much anything else (UnitData for example) does not. But when you add your changes to the map, it works fine.

As you said, the maps have priority over the other archives. But examining the maps does not show any sort of datafiles or anything that should be replacing the ones in the base archive. Where does it get the data? I'm trying to make map-independent edits.

EDIT: Adding the files to the Liberty.Multi folder does it. Thanks Corbo. :wub:

EDIT2: I guess my question still stands though... there's no copy of the base files in the Multi folder - so where does it get the stuff to overwrite with?

Post has been edited 2 time(s), last time on Feb 27 2010, 9:31 am by Voyager7456.



all i am is a contrary canary
but i'm crazy for you
i watched you cradling a tissue box
sneezing and sniffling, you were still a fox


Modding Resources: The Necromodicon [WIP] | Mod Night
My Projects: SCFC | ARAI | Excision [WIP] | SCFC2 [BETA] | Robots vs. Humans | Leviathan Wakes [BETA]


Feb 27 2010, 10:29 am Corbo Post #6

ALL PRAISE YOUR SUPREME LORD CORBO

Quote from name:zany_001
@corbo Terrain isn't controlled by a normal map, as normal maps don't affect the actual geometry. Displacement maps are used instead. I just hope they can be a resolution big enough to allow us to make small details, essentially scaling down the terrain. That means 256x256 can seem far bigger.
The height for cliffs and terrain levels is most likely a heightmap or displacement map like you called it. Surfaces get bumped up by a normal map. Unless you've SEEN the files like I have you can't say they're displacement maps. Displacements are black/white only. The normals I am seeing, besides being named nexus_normal.dds, they're not black and white like a displacement map. Don't get me wrong, I know normal maps don't affect geometry, neither do bumps, they just trick you to think they do :hurr:

Also, I was going to add what voyager said but I just saw he already did.
But let's make a quick starcraft 2 modding tutorial for everyone else to start modding!


-What you do is open up Starcraft 2 MPQs, whichever has the file you wish to edit.
-Extract and edit the files like you would like in any SC1 mod.
-When you're done, you're going to tell SCII to load your file, what you do is recreate the path where the file was in the MPQ in the LibertyMulti.SC2Mod folder (under Mods). So for example, if the file was Assets\Textures\nexus_diffuse.dds in the MPQ you'll have to make the folder "Assets" in the LibertyMulti.SC2Mod folder and inside "Assets" a "Textures" folder and you'll be placing your edited file in there.
-Run SC2 and you're done, it should load your file.


I poked stuff for a while and managed to change a few things:



I have to add that even when I was able to change HP amount and such, I only managed to edit number values. I tried changing "light-Mechanical" but I couldn't. I might have done something wrong, though, or it might be reading the index value from another XML and I have yet to edit that one.

EDIT: Note that you can make your changes not be "global" but rather, map dependant. So that your changes only are made by using a specific map. You can do this simply by adding the file you edited inside your SC2 map. (yes, maps are still mpqs) Add the file to the correct path and MPQ name (MPQNAME\Assets\Textures\) and you're done. Changes should only affect SC2 when using that map only.

Post has been edited 3 time(s), last time on Feb 27 2010, 4:44 pm by Heidi Klum.



fuck you all

Feb 27 2010, 10:52 am Sixen Post #7



@Heidi: The problem is, those changes will only be local changes, I believe. Unless you can host the map as a Custom Map and the other person downloads your Custom Map.

Also, you tried changing the Armor type, did you give it a real Armor type to replace it, or something you made up?



None.

Feb 27 2010, 11:00 am Corbo Post #8

ALL PRAISE YOUR SUPREME LORD CORBO

Quote from Sixen
@Heidi: The problem is, those changes will only be local changes, I believe. Unless you can host the map as a Custom Map and the other person downloads your Custom Map.

Also, you tried changing the Armor type, did you give it a real Armor type to replace it, or something you made up?

I edited and said that you can make them load via a map and affect only THAT map. The other way explained above the screenshot is to make it affect the whole game and not just a map. If by local you mean "Only in your computer" then the answer would be yes, they're local, but, just like any other SC1 mod you'd have to distribute it around so anyone can play your mod.

As for hosting custom maps, you probably will be able to do so in the future and I do think you'll be able to shove custom files/models inside the map you're going to distribute.

Lastly, I haven't really poked that much, but I'll be sure I do more experiments later, It's late (or more like early) and going to bed right now :P though, yes it was something I made up and not an existing armor type.



fuck you all

Feb 27 2010, 11:04 am Excalibur Post #9

The sword and the faith

My worst fears have come true: SC2 mapping looks to be as complicated as WC3, meaning I won't be able to make heads or tails of anything. :(




SEN Global Moderator and Resident Zealot
-------------------------
The sword and the faith.

:ex:
Sector 12
My stream, live PC building and tech discussion.

Feb 27 2010, 11:28 am Sixen Post #10



Quote from name:Heidi Klum
Quote from Sixen
@Heidi: The problem is, those changes will only be local changes, I believe. Unless you can host the map as a Custom Map and the other person downloads your Custom Map.

Also, you tried changing the Armor type, did you give it a real Armor type to replace it, or something you made up?

I edited and said that you can make them load via a map and affect only THAT map. The other way explained above the screenshot is to make it affect the whole game and not just a map. If by local you mean "Only in your computer" then the answer would be yes, they're local, but, just like any other SC1 mod you'd have to distribute it around so anyone can play your mod.

As for hosting custom maps, you probably will be able to do so in the future and I do think you'll be able to shove custom files/models inside the map you're going to distribute.

Lastly, I haven't really poked that much, but I'll be sure I do more experiments later, It's late (or more like early) and going to bed right now :P though, yes it was something I made up and not an existing armor type.

Truth, I suppose that makes sense.

Quote from name:Sexcalibear
My worst fears have come true: SC2 mapping looks to be as complicated as WC3, meaning I won't be able to make heads or tails of anything. :(
Yeah, GalaxyEdit will be even more complex than WorldEdit... So... :P.



None.

Feb 27 2010, 4:00 pm Heinermann Post #11

SDE, BWAPI owner, hacker.

Quote from Sixen
Where'd you get that "Trigger Debugging" program? Or did you create it yourself? If you've created it yourself, can you share or explain it?
It was created by Blizzard Entertainment and comes with Starcraft II Beta.

Quote from name:Heidi Klum
I have to add that even when I was able to change HP amount and such, I only managed to edit number values. I tried changing "light-Mechanical" but I couldn't. I might have done something wrong, though, or it might be reading the index value from another XML and I have yet to edit that one.
You may have to set the current attributes to 0. For example:
Code
       <Attributes index="Light" value="0"/>
       <Attributes index="Mechanical" value="0"/>


Quote from name:Heidi Klum
EDIT: Note that you can make your changes not be "global" but rather, map dependant. So that your changes only are made by using a specific map. You can do this simply by adding the file you edited inside your SC2 map. (yes, maps are still mpqs) Add the file to the correct path (Assets\Textures\) nd you're done. Changes should only affect SC2 when using that map only.
I've added mine to "mpqname\mpqpath" like the localization strings are.




Feb 27 2010, 4:46 pm Corbo Post #12

ALL PRAISE YOUR SUPREME LORD CORBO

Quote from Heinermann
Quote from name:Heidi Klum
EDIT: Note that you can make your changes not be "global" but rather, map dependant. So that your changes only are made by using a specific map. You can do this simply by adding the file you edited inside your SC2 map. (yes, maps are still mpqs) Add the file to the correct path (Assets\Textures\) nd you're done. Changes should only affect SC2 when using that map only.
I've added mine to "mpqname\mpqpath" like the localization strings are.
You're absolutely right, I didn't check what I did and I forgot I added the MPQ name + path. Thanks, I corrected my post.



fuck you all

Feb 27 2010, 6:22 pm Jack Post #13

>be faceless void >mfw I have no face

Quote from name:Sexcalibear
My worst fears have come true: SC2 mapping looks to be as complicated as WC3, meaning I won't be able to make heads or tails of anything. :(
This 'modding' they are doing will be nothing like galaxyedit. If you want to add custom stuff, then yes, it'll be complicated compared to SCMDraft, but normal mapping shouldn't be significantly different, just more powerful.



Red classic.

"In short, their absurdities are so extreme that it is painful even to quote them."

Feb 27 2010, 8:19 pm Sixen Post #14



Quote from Heinermann
Quote from Sixen
Where'd you get that "Trigger Debugging" program? Or did you create it yourself? If you've created it yourself, can you share or explain it?
It was created by Blizzard Entertainment and comes with Starcraft II Beta.

It.. Wha? Do tell, because it's nowhere that I can see.. Heh. Did you extract it or something?

EDIT: Looked through all the MPQ's, nothing to extract.

Post has been edited 3 time(s), last time on Feb 27 2010, 8:35 pm by Sixen.



None.

Feb 27 2010, 9:02 pm Corbo Post #15

ALL PRAISE YOUR SUPREME LORD CORBO

Hey guys, for testing purposes + having fun I've done some edits that makes you start with all terran units, protoss units, zerg units OR have mixed races (you start off with probes, drones, scvs and CCs and Nexus). Also made everything have build time of 1 (includes researchs, upgrades and other stuff)

I'm not sure if I should post it so I won't but if anyone wants it to have fun + quickly test what units or buildings can/can't PM me and I'll send it to you. Don't post in the topic simply because it'd be filling it with unrelated stuff.

@below, it's not really a map, it's actually files but I'll just post it cause I did want to post it anyway :P It's nothing fancy, it'll just help people who want to poke units and techs without losing much time
http://www.mediafire.com/?ctywzzmnjjg

Post has been edited 1 time(s), last time on Feb 28 2010, 4:50 am by Heidi Klum.



fuck you all

Feb 28 2010, 4:40 am Heinermann Post #16

SDE, BWAPI owner, hacker.

In "documents\Starcraft II Beta\Variables.txt", add the following line:
Code
trigdebug=1


You can post the map here. It's no different than hosting a Starcraft: Broodwar map. There's no possibly way that anyone can argue one is against the rules and the other is not. Several websites are hosting maps and replays already anyway.




Feb 28 2010, 5:01 am Centreri Post #17

Relatively ancient and inactive

Hrrm. This is interesting, but I think I'll wait until we actually get an editor to play around with mapping. PHANTOM, here I come. :P



None.

Feb 28 2010, 5:11 am Sixen Post #18



Quote from Heinermann
In "documents\Starcraft II Beta\Variables.txt", add the following line:
Code
trigdebug=1


You can post the map here. It's no different than hosting a Starcraft: Broodwar map. There's no possibly way that anyone can argue one is against the rules and the other is not. Several websites are hosting maps and replays already anyway.

Oh, very nice, Heinermann... Where'd you find that out? Is there a list of all Variables somewhere or something? It'd be handy for Tech Support if you don't mind, ;P.

Also, if you don't mind me asking, where can we run triggers from? The only thing i've found is the Galaxy Files, which would be for the Local user only. Any info in that regard, or is that what you did as well?

Post has been edited 1 time(s), last time on Feb 28 2010, 5:28 am by Sixen.



None.

Feb 28 2010, 6:43 am KrayZee Post #19



What about colored text?



None.

Feb 28 2010, 7:13 am stickynote Post #20



Do you know what the system requirements are to play sc2?



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[03:45 am]
Sylph-Of-Space -- Does the shoutbox get disabled when there's spammers?
[2024-5-17. : 6:47 am]
NudeRaider -- lil-Inferno
lil-Inferno shouted: nah
strong
[2024-5-17. : 5:41 am]
Ultraviolet -- 🤔 so inf is in you?
[2024-5-17. : 4:57 am]
O)FaRTy1billion[MM] -- my name is mud
[2024-5-17. : 4:35 am]
Ultraviolet -- mud, meet my friend, the stick
[2024-5-16. : 10:07 pm]
lil-Inferno -- nah
[2024-5-16. : 8:36 pm]
Ultraviolet -- Inf, we've got a job for you. ASUS has been very naughty and we need our lil guy to go do their mom's to teach them if they fuck around, they gon' find out
[2024-5-16. : 5:25 pm]
NudeRaider -- there he is, right on time! Go UV! :D
[2024-5-16. : 5:24 pm]
lil-Inferno -- poopoo
[2024-5-16. : 5:14 pm]
UndeadStar -- I wonder if that's what happened to me. A returned product (screen) was "officially lost" for a while before being found and refunded. Maybe it would have remained "lost" if I didn't communicate?
Please log in to shout.


Members Online: 9andrewc3322eb1