I'm reaching out to y'all because, well, I'm way out of my depth. I'm itching to try and create an SC2 arcade title but I really don't even know where to begin. I'm familiar enough with the map design tools - finding a tileset, adding doodads and whatnot, but when it comes to modifying the underlying data that drives the gameplay I'm just about 100% clueless.
Here's, in broad, strokes, what I want to do as a minimum viable product:
1. Create a map or competitive match type where each player starts out with a single unit, not unlike the Commander from Total Annihilation or Supreme Commander etc
2. This unit can gather resources and build other units (like t1 type units) and also has a selection of upgrades. I'm actually OK with representing these as structures.
3. Players would win by killing the other player's 'commander' unit
4. I'd like to have custom resource types and design my own unit list/tech tree, upgrades etc
5. At this point I don't want to use any custom models or sounds
I basically have no idea where to begin, and any pointing in the right direction would be really helpful. I assume I'll be designing a new faction with unique units and upgrades. Eventually, down the road, if this is going to be its own game mode, would like to add the option for an AI player and leaderboard. Ideally, I'd like there to be a pool of maps to add.
I know this is a really broad question but I really have no practical idea where to start.
1. You can literally place the starting units on the map for each player, and deactivate the "Melee" trigger set that's created along with a new map. See the Trigger subforum on how to dynamically adjust starting units/resources and set up victory conditions, leaderboards and any other "match framework" stuff, most of that is impossible to do in Data.
2. So, a Harvest, Build/Train and Research Ability respectively. You can also assign resource costs to classic targeted "summon spells" if those prove more convenient for placing "trained" units. In terms of techtrees units, buildings and upgrades are all equivalent, but Upgrades have some nice innate modification capabilities (like the weapon/armor icon change in vanilla SC2)
3. Triggers. Trivial to detect unit death/ownership, completely impossible in Data as you have no "on-field" ability to end a match.
4. You have a hardcoded set of 4 resources: Minerals, Vespene, Terrazine and Custom. You can change their icons and display names to your liking, but more than 4 will require workarounds (structure with energy, "token" units, stacking buffs as "currency" etc.); gameplay-wise techtrees and upgrades are just a bunch of random data assets linked up in a specific manner (mostly via Requirements), the F12 display is a lot of tedious extra work to set up.
5. Depends on your definition of "custom". You can go a long way with just tinting, scaling, composite models and texture select (applying existing textures to models that weren't intended to use them); custom resource icons might need an import
Assuming you literally have no idea about the Data Editor check out the Tutorials section. You'll definitely want the "Creating your first unit" tutorials and basic knowledge of both Duplicating existing objects and creating new ones from scratch. Note that in almost all cases the Visual effects are isolated in Actors, which have no direct impact on gameplay! This creates an intrinsic rift you must fill yourself by properly synchronising the Actors to their gameplay assets, but it can work in your advantage: You can work on a game mechanic without worrying about visual glitches or huge explosions obscuring your view, and you can create a lot of "eye candy" that has no effect on gameplay (as an extreme example, the Colossus weapon just checks a couple of circles in a line and damages anything within, all the fancy sweeping beam stuff is done via Actors)
Now, I assume you have some kind of basic vision of what you want to do in terms of gameplay, but if not you might want to settle that first and prioritise the tutorials you learn based on that. For example a Tower Defense map will need a HUGE overhead of pathing manipulation, a Hero Battle map first and foremost needs a working hero system, an RPG map needs item/inventory handling (and some form of leveling too)...
Based on the questions you asked I would suggest focusing on unit creation and Melee replica/base-vs-base type content (Units-Structures-Upgrades-Tech), specifically point 2 above. The basic trigger work is trivial, and if you're fine with <=4 resource types you can work with the default ones for now, and jump right into getting some cool toys onto the field!
When I start a map I like to lay out all units/buildings I think I want to use, organize them on-map and whatnot. Helps to see them when you are planning factions.
Few Tips
use Records, Arrays, Action Groups and Action Definitions to keep your triggering neat and reduce the work you do.
This one is preference - don't modify existing units, copy them. When you copy them, on the check list check any unit-specific boxes (Weapon, Effects, Actor) - these will usually have the units name on them. Model isn't usually necessary to copy. What this does is creates a copy of those items that are automatically linked to your new unit (very important for actors). This applies to all data types.
Check out the buttons at the top of the Data Window. I almost never view raw data, but I switch constantly between uh... List and table views? The table view is a nice GUI to work with with tabs for quick editing of related fields, and the list view has a search bar (the search sorting transfers to the table view if you switch) that makes it real quick to find fields you want. List view also shows "non-default" entries at the top in blue, which is very useful for finding what makes an effect or whatever do what. Look at a preexisting ability or whatever in list view to see exactly what fields make the ability work. Mess around with the buttons.
2) Copy a Gather ability for gathering and put it on your unit. Check the Resource Drop Off fields on the unit so resources can be deposited at it.
"Upgrades" like requiring a spawning pool are handled through the Requirement data type. This data type can check if a player has researched an Upgrade (separate data type), if they have a certain unit type (like if they have a lair) and more. You link this to an ability to make that ability require meeting that Requirement.
The Validator data type is in a sense like a Requirement for Effect and Behavior (buffs) data types. They are quite different in what they can do (validators usually check the target/casters status, requirements check the player) but they both fulfill the role of enabling/disabling something.
Abilities and Weapons are ways of initiating an Effect, essentially how you get a unit to use an Effect (things like applying buffs, doing damage etc are Effects). Abilities and Weapons inherit the validator of the primary effect they cause, meaning it can't be used if that validator returns false. Most accept only 1 "primary" effect but you can use a Set Effect to combine multiple effects - but be sure you validate at the set level. Learn what the Caster/Target/Source fields (usually under an effects Target tab) do asap.
3/4) Easy. Basic triggering and ui/map setting changes. May take some time to figure out where to enter those values but its pretty simple.
5) importing is actually really easy and quick, so don't be afraid to try it. Only thing that's weird is setting textures if the model isn't pretextured.
Okay, so in general "more of the same" of what's already in SC2, which means most assets can be copied from Blizzard stock and most of the work will go into combining them into a functional game.
If you mean to implement your example as-is the main mechanical challenge will probably be to design and balance the actual unit interactions, everything else should be fairly simple compared to less RTS-focused projects.
For reference of what could go wrong see . You can stop watching after 18 minutes and should focus mainly on the way small secondary unit properties can make or break micro. The glide/overkill bugs and turret problems will definitely cause a lot of frustration in highly mobile skirmish combat, and the Damage Point mechanic could even be a main balancing factor in your mod (aka make a unit "feel" sluggish without crippling its actual movement speed)
I'm working on faction/unit design but consider that to be a phase 2. Phase 1 will be creating the Constructor, slapping on a couple of upgrade options and allowing it to build a harvester unit or something :)
Hey SC2Mapster people,
I'm reaching out to y'all because, well, I'm way out of my depth. I'm itching to try and create an SC2 arcade title but I really don't even know where to begin. I'm familiar enough with the map design tools - finding a tileset, adding doodads and whatnot, but when it comes to modifying the underlying data that drives the gameplay I'm just about 100% clueless.
Here's, in broad, strokes, what I want to do as a minimum viable product:
1. Create a map or competitive match type where each player starts out with a single unit, not unlike the Commander from Total Annihilation or Supreme Commander etc
2. This unit can gather resources and build other units (like t1 type units) and also has a selection of upgrades. I'm actually OK with representing these as structures.
3. Players would win by killing the other player's 'commander' unit
4. I'd like to have custom resource types and design my own unit list/tech tree, upgrades etc
5. At this point I don't want to use any custom models or sounds
I basically have no idea where to begin, and any pointing in the right direction would be really helpful. I assume I'll be designing a new faction with unique units and upgrades. Eventually, down the road, if this is going to be its own game mode, would like to add the option for an AI player and leaderboard. Ideally, I'd like there to be a pool of maps to add.
I know this is a really broad question but I really have no practical idea where to start.
Thanks in advance!
My current project: SCRAP (Scavenge, Collect, Reclaim, Attack, Prevail)
1. You can literally place the starting units on the map for each player, and deactivate the "Melee" trigger set that's created along with a new map. See the Trigger subforum on how to dynamically adjust starting units/resources and set up victory conditions, leaderboards and any other "match framework" stuff, most of that is impossible to do in Data.
2. So, a Harvest, Build/Train and Research Ability respectively. You can also assign resource costs to classic targeted "summon spells" if those prove more convenient for placing "trained" units. In terms of techtrees units, buildings and upgrades are all equivalent, but Upgrades have some nice innate modification capabilities (like the weapon/armor icon change in vanilla SC2)
3. Triggers. Trivial to detect unit death/ownership, completely impossible in Data as you have no "on-field" ability to end a match.
4. You have a hardcoded set of 4 resources: Minerals, Vespene, Terrazine and Custom. You can change their icons and display names to your liking, but more than 4 will require workarounds (structure with energy, "token" units, stacking buffs as "currency" etc.); gameplay-wise techtrees and upgrades are just a bunch of random data assets linked up in a specific manner (mostly via Requirements), the F12 display is a lot of tedious extra work to set up.
5. Depends on your definition of "custom". You can go a long way with just tinting, scaling, composite models and texture select (applying existing textures to models that weren't intended to use them); custom resource icons might need an import
Assuming you literally have no idea about the Data Editor check out the Tutorials section. You'll definitely want the "Creating your first unit" tutorials and basic knowledge of both Duplicating existing objects and creating new ones from scratch. Note that in almost all cases the Visual effects are isolated in Actors, which have no direct impact on gameplay! This creates an intrinsic rift you must fill yourself by properly synchronising the Actors to their gameplay assets, but it can work in your advantage: You can work on a game mechanic without worrying about visual glitches or huge explosions obscuring your view, and you can create a lot of "eye candy" that has no effect on gameplay (as an extreme example, the Colossus weapon just checks a couple of circles in a line and damages anything within, all the fancy sweeping beam stuff is done via Actors)
Now, I assume you have some kind of basic vision of what you want to do in terms of gameplay, but if not you might want to settle that first and prioritise the tutorials you learn based on that. For example a Tower Defense map will need a HUGE overhead of pathing manipulation, a Hero Battle map first and foremost needs a working hero system, an RPG map needs item/inventory handling (and some form of leveling too)...
Based on the questions you asked I would suggest focusing on unit creation and Melee replica/base-vs-base type content (Units-Structures-Upgrades-Tech), specifically point 2 above. The basic trigger work is trivial, and if you're fine with <=4 resource types you can work with the default ones for now, and jump right into getting some cool toys onto the field!
When I start a map I like to lay out all units/buildings I think I want to use, organize them on-map and whatnot. Helps to see them when you are planning factions.
Few Tips
2) Copy a Gather ability for gathering and put it on your unit. Check the Resource Drop Off fields on the unit so resources can be deposited at it.
"Upgrades" like requiring a spawning pool are handled through the Requirement data type. This data type can check if a player has researched an Upgrade (separate data type), if they have a certain unit type (like if they have a lair) and more. You link this to an ability to make that ability require meeting that Requirement.
The Validator data type is in a sense like a Requirement for Effect and Behavior (buffs) data types. They are quite different in what they can do (validators usually check the target/casters status, requirements check the player) but they both fulfill the role of enabling/disabling something.
Abilities and Weapons are ways of initiating an Effect, essentially how you get a unit to use an Effect (things like applying buffs, doing damage etc are Effects). Abilities and Weapons inherit the validator of the primary effect they cause, meaning it can't be used if that validator returns false. Most accept only 1 "primary" effect but you can use a Set Effect to combine multiple effects - but be sure you validate at the set level. Learn what the Caster/Target/Source fields (usually under an effects Target tab) do asap.
3/4) Easy. Basic triggering and ui/map setting changes. May take some time to figure out where to enter those values but its pretty simple.
5) importing is actually really easy and quick, so don't be afraid to try it. Only thing that's weird is setting textures if the model isn't pretextured.
Thanks much to both of you! For Photoloss, since you asked, I wrote up a little summation of what I'm trying to do at a high level http://waywardstrategist.com/2015/02/23/thought-experiment-scarce-resource-rts/
thanks again!
My current project: SCRAP (Scavenge, Collect, Reclaim, Attack, Prevail)
Okay, so in general "more of the same" of what's already in SC2, which means most assets can be copied from Blizzard stock and most of the work will go into combining them into a functional game.
If you mean to implement your example as-is the main mechanical challenge will probably be to design and balance the actual unit interactions, everything else should be fairly simple compared to less RTS-focused projects.
For reference of what could go wrong see . You can stop watching after 18 minutes and should focus mainly on the way small secondary unit properties can make or break micro. The glide/overkill bugs and turret problems will definitely cause a lot of frustration in highly mobile skirmish combat, and the Damage Point mechanic could even be a main balancing factor in your mod (aka make a unit "feel" sluggish without crippling its actual movement speed)
I'm working on faction/unit design but consider that to be a phase 2. Phase 1 will be creating the Constructor, slapping on a couple of upgrade options and allowing it to build a harvester unit or something :)
Thanks again for all your help
My current project: SCRAP (Scavenge, Collect, Reclaim, Attack, Prevail)