Advanced Tutorial: The Grid System, Presented by JBL

Discussion in 'Maps and Replays' started by JBL, Aug 5, 2007.

Advanced Tutorial: The Grid System, Presented by JBL

Discussion in 'Maps and Replays' started by JBL, Aug 5, 2007.

  1. JBL

    JBL New Member

    Joined:
    May 25, 2007
    Messages:
    1,095
    Likes received:
    0
    Trophy points:
    0
    The Grid System explained by JBL

    _________________________________________________
    Introduction
    _________________________________________________

    This is not for noobs.

    This is one of the most useful trigger system, since it's discovery it's been used by the most professional map makers in many very awesome maps, this is the kind of trigger that makes the noobs and less noobs say: "wow". It's mostly used to create spell effects and/or throw projectiles. Please note that this tutorial is not for beginners, if you can't follow the instruction, do some more map making until you get the skills.

    This tutorial also includes "how to cast spells" tutorial because it's a good use of the grid system.
    _________________________________________________
    What You Need
    _________________________________________________
    • Hyper triggers under an unused computer player, as usual.
    • One location per human player who is going to use the grid system.
    • Triggers under the human player and under a computer (different than the computer with the hyper triggers, of course).
    • An additional location if you are going some spell effects, it's not needed but much easier (the 1 location method is for teh pros) and it's not needed if you are making a projectile.
    _________________________________________________
    The Spell's Trigger
    _________________________________________________

    In the example that I will show you, it's going to be a spell to summon a marine and when the marine is summoned it does some special cool effect, let's say a spiral of dying hallucinated observers arround the spell caster. and our condition to cast the spell is going to be probably one of the easiest one, bring some unit to a beacon (in some kind of spell casting menu) Of course it could be much sexier with the dropship system (that I might explain later in another tutorial) or any other way of triggering it, I'm using the beacon one because the goal of this tutorial is to show you the grid system, not a sexy way to cast spells.

    Code:
    Player(s): 
    Human player who triggers the wanted effect
    Condition(s): 
    Human player accumate at least X gas (mana) (this is to make sure you don't cast the spell with less mana than needed)
    Human player brings at least 1 "Unit" to the location named "Beacon"
    Action(s): 
    Substract X gas to human player
    Move all "Unit" at location "Beacon" to another location (this is to make sure the spell will be casted once)
    Move Location X over Spell Caster for Human Player (this is important since it makes sure the marine is summoned close to your spell caster and this will be important with the grid system too)
    Create 1 Marine at Location X for Human Player
    Set Switch 1 (to start the grid system thingy)
    Preserve Trigger
    
    Note: Location X should be 1x1 or 2x2 or 6x6 really...

    Now that the location X is over the spell caster and that the swtich 1 is set, we can start doing some sexy effects that will be displayed everytime you cast the "summon marine" spell.

    _________________________________________________
    The Grid System's Trigger(s)
    _________________________________________________

    Code:
    Player(s): 
    A computer player with no hyper triggers.
    Condition(s): 
    Switch 1 is set
    Human player brings at least 1 spell caster to location X (optional, read below)
    Action(s): 
    Create 9 overlords to location X for current player. (aka computer player)
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    (Clear switch 1)
    (Preserve trigger)
    ***STOP***
    Ok, before finishing this huge trigger, I need to add some precisions.

    Note: Location Y should be 2x2
    Note: You NEED hypertriggers or else we will see the overlords.
    Note: The difference between "remove" and "kill" is that with "remove" you don't see the death animation.

    Ok so the trigger you can see here would create 1 lil small blueish explosion that looks like *poof* (hallucinated unit) at the bottom left corner of an imaginary square what would be over the spell caster... this "imaginary square" is called the grid.. it's a 3x3 grid made with the 9 overlords that were created over the spell caster. The "X" on this "grid" shows where the *poof* will be.

    Code:
    O O O
    O S O
    X O O
    
    O = nothing
    X = *poof*
    S = spell caster
    
    Why overlords? because they are the ones that fit the best. simple as that. and You have the chance of not having to test all the flying units in the game (because I had too, being one of the first to use this grid system, I actually figured everything by myself.

    so when you create the 9 overlords over the spell caster at location X, they spawn in a 3x3 square formation, when I move the location Y over the overlord, it has to choose between 9! OMG which one will it choose.. (I had to test that too) it's always the one at bottom left.. it has the priority...

    Code:
    3 6 7
    2 5 8 
    1 4 9
    
    lowest number = highest priority in targeting, no matter what effect is targeting the unit
    
    This is the priority order, see how it always start from bottom left going up but when you reach the 7th overlord, it switches.. (I had to figure out this by myself as well).

    That means if we want to see a small *poof* effect at the top right, we need to center the location Y to the top right.. right?
    but how are we going to tell the computer to move location Y over the 7th overlord? it's very easy..

    Code:
    Action(s): 
    Create 9 overlords to location X for current player. (aka computer player)
    ---> Remove 6 overlords @ anywhere for current player. <---
    Move Location Y over a overlord @ anywhere, owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    That's how it's done. Notice the "remove 6 overlords" its job is to remove the 6 first overlords, since the priority also applies here, it removes the 3 overlords in the left columb and the 3 overlords in the center columb... which gives:

    Code:
    O O 1
    O O 2
    O O 3
    
    O = nothing
    lowest number = highest priority
    
    ...and that's how we create a small hallucinated explosion at the top right of the grid. Now let's go on with the trigger I started about 2 hundred words before. We want to create a spiral of *poofs* that will start from bottom left of the grid and turns around the spell caster, clockwise, and ends right under the spell caster. Here I go:

    Code:
    Player(s): 
    A computer player with no hyper triggers.
    Condition(s): 
    Switch 1 is set
    Human player brings at least 1 spell caster to location X (optional, read below)
    Action(s): 
    Create 9 overlords to location X for current player. (aka computer player)
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 1 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 2 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 5 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 6 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 7 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 8 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 9 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Create 9 overlords to location X for current player. (aka computer player)
    Remove 3 overlord at anywhere for current player.
    Move Location Y over a overlord owned by current player.
    REMOVE all overlords for current player.
    Create 1 hallucinated observer for current player at Location Y
    KILL all observers for current player.
    
    Preserve Trigger
    Clear Switch 1 (to turn it off)
    
    ahh now that's what I call map making! I added space between the blocs so it's easier to read..
    Note: you might need more than 1 trigger to do that stuff.. that's why it's often refered as a "trigger set" to use this with more than one trigger, just use switches, like.. at the end of the first trigger we would get a switch that it set to start the 2nd trigger.. etc.

    Now, if we don't add waits between the "blocs" this is going to be super duper fast. and probably faster than what you want it to be.

    If the computer player holding these triggers isn't going to run other triggers, you can use waits....

    If not, you will need a death counter system (probably more than one) and you will need 1 trigger for every position in the grid system.. which comes very handy when you have many spell effects because all you have to do is trigger the positions you need, one after the other. I won't teach you this in this tutorial.. but if you have trouble I can answer your questions.

    That's the end of the tutorial.. I'll probably add more advanced tutorials later to complement these.

    If you have any questions about map making in general, you can ask anything there:
    http://www.starcraft2forum.org/forums/index.php?topic=489.0
    If you have any questions about this grid system, ask them here.

    Thanks for reading!
     
  2. Imagine.

    Imagine. New Member

    Joined:
    Jun 24, 2007
    Messages:
    1,260
    Likes received:
    4
    Trophy points:
    0
    Nice tutorial JBL! I was going to explain but I have not used the grid system for any of my maps. For those of you who are going to use the grid system, it will take time to get it your way but it is very useful for managing specific objects within it. If I recall correctly, there are three types of grid systems:

    1. Coordinate Grid
    2. Mobile Grid
    3. Modular Grid
     
  3. JBL

    JBL New Member

    Joined:
    May 25, 2007
    Messages:
    1,095
    Likes received:
    0
    Trophy points:
    0
    oh, forget the coordinate grid.. is pretty useless.. unless you have like a super large area to cover with like 100 x 100 zones.. which = 10 000 zones that need to be distincted..
    coordinate grid was invented by SaLaCiouS(U) aka Schmidley.

    I don't know what you mean by mobile grid and modular.. what I described is probably the mobile grid.. then what is the modular one? the one with two 2 squares x 6 squares locations, one for horizontal, one for vertical? that's what I've used in Reflector 2

    Personally i do my grid with death counters in order to reach a better variety of effects.. I make 1 trigger for every grid position and then, in other triggers i just "activate" them and do w/e I want with them.

    I was thinking of an arena game using multiple grids.. it was a ball game.. and theres a menu where you can shape the trajection of your projectile and then when you shoot it follows what you previously made on the menu (by moving some units on a grid) but it takes so much time to actualy move the units that it can't be an action game.. I was thinking of adding presets too.. but the presets would mostly be used so it takes less time to place ur units corectly.

    I had so many ideas back when I was making maps.

    do you know how to stack crystalic cannons without having to turn off and on the lights? I actually did that in a defense map that I never finished.