• 0

    posted a message on Canceling unit training

    In the train ability, there is normally 2 commands: Cancel last and cancel slot. You need to use issue order of that command to cancel a training. Though there might be a better way, not currently in front of editor.

    Posted in: Triggers
  • 0

    posted a message on Multi-Part Splat?

    @rockerfrozzo:

    You need to use a Quad actor

    They have field to indicate the model/splat to be used for the start, the end, and the middle. The middle will be replicated to extend to the total length of the quad.

    Posted in: Data
  • 0

    posted a message on The 10,000 post club

    Thoughts on data wizards? I know I haven't had as much time to work on them as I would have liked.

    Posted in: Off-Topic
  • 0

    posted a message on Stasis ward upgrade

    @Bareleon:

    I would suggest you make a new thread asking the question, so that we don't mix questions. Also, you may wish to refine your question, in terms of what you are trying to achieve.

    Posted in: Data
  • 0

    posted a message on Stasis ward upgrade

    Depends on what is being changed by the upgrade.

    Posted in: Data
  • 0

    posted a message on Roach 'Smart Burrow' freezing map

    First problem, you need to remove the waits. Tactical AI functions run every second. Use a debug statement to see what I mean. This is why maps with AI and a TON of casters have lag issues sometimes.

    Posted in: AI Development
  • 0

    posted a message on Monetizing comes to Starcraft II

    I see this as merely satisfying existing demand. Quite frankly, I believe Blizzard doesn't actually care about these features, but people have explicity demanded it, so it is being delivered. No sane company will turn down free money.

    Is it possible they will monetize other content? Perhaps.

    I see this as the final evolution of SC2 into the current market payment structure. SC2 will never be true F2P, but it isn't P2P either. It is now effectively sold in components so people can choose which features they want at price points that are accpetable, and with rough analogies to what those features and content cost.

    The campaigns will always remain relatively more expensive, since they are the largest one time cost.
    The melee 1v1 will command a price point to keep the game (relatively) free of trolling and botting (not hacking).
    The Arcade and Custom maps are sandboxes, and as such are F2P. However, for the same above reasons and others, publishing capability will never be free. This is industry standard (every app store I'm aware of requires a license to publish, and Unity/Unreal also have fees/licensing, just more flexible).
    These cosmetics will be the bottom part of the market, and although not mentioned in the 3.8 announcement, the revenue is being shared with Carbot (he confirmed this on reddit). Furthermore, the WCS portraits worked under a similar scheme, and the upcoming Warchests are effectively seasonal passes, akin to the DOTA 2 compendium.
    Coop Commanders will always cost, because they do take time and effort to design, as well as produce unique assets/artwork for. Also the cost of the commanders is effectively covering any costs related to making mutators, making maps, and any feature additions (Mutators, Masteries, Custom Mutators, Leaderboards, etc.)

    This was pretty much inevitable, nearly the entire software industry is moving towards this, because it more accurately reflects the fact that software has 0 marginal cost, it is entirely a capital investment, so these payment structures are not to pay for copies of software, but to reflect the cost of ongoing services of coders creating what the customer desires, no different then an accountant/lawyer/doctor, who is paid entirely for their service, not the end result (though some can choose to be paid according to the end result if they feel it will be advantageous).

    Posted in: General Chat
  • 0

    posted a message on Stasis ward upgrade

    1) Create an upgrade
    2) In the Effects filed, add a new entry. Select Ability for Type. Select "Oracle - Build Stasis Ward" for the object. Scroll down and find the field Info (Build 1). Expand it if it isn't already. Find the Time field, and select it. For the Operation, select Subtract, and for the Value, enter 4. Select OK.

    This handles reducing the cast time to 1 second

    Now, for making it last only 5 seconds.

    1) Create a new behavior, of type Buff. Call it Oracle Stasis Timed Life.
    2) Set the Duration Field to 5 seconds
    3) Set the Expire Effect to Suicide (its built in, it runs a damage effect on the caster with the Kill flag, which kills it no matter what).
    4) As a quality of life thing, go to the Display Countdown Field and Enable Self, this will display the duration left on it to the owner of the unit.

    This will be the behavior that will cause the unit to die after 5 seconds.

    1) Go to Requirements. Create a new requirement.
    2) Using the tree view, go to the Use, and add a new Requirement Node. For the Type, select Greater Than
    3) Select the node you just created and right click and add a new Requirement Node. For type, select Count Upgrade. For the Upgrade/Alias, find the one you created earlier. For State, select Completed.
    4) Select the Greater Than node again, and add a new Requirement Node. For the Type, select Constant. For the value, use 0.
    5) Hit OK

    This requirement will only be satisfied once the Upgrade count of your upgrade is greater then 0.

    Now return to your behavior.

    1) Find the field called Requirements.
    2) Select the requirement you just created for this field.

    This now means this behavior will only activate once the requirement is fulfilled.

    Now, go to the Units and find the Oracle Stasis Ward.

    1) Go to its Behaviors field.
    2) Add the behavior you just create to this field (don't replace the cloak, just use the + to add another behavior)

    Now the unit has the behavior, which will only be active once the upgrade is completed, and when active, will cause the unit to die after 5 seconds.

    Posted in: Data
  • 0

    posted a message on Alexei Stukov/infested Co-op Commander/maps

    They are infested liberators with a new attack. Also infested banshees that can burrow.

    Posted in: General Chat
  • 0

    posted a message on Blizzcon 2016

    Should be interesting to see what changes are made to the editor to support the AI effort. From DeepMind blog

    https://deepmind.com/blog/deepmind-and-blizzard-release-starcraft-ii-ai-research-environment/

    "We are also working with Blizzard to create “curriculum” scenarios, which present increasingly complex tasks to allow researchers of any level to get an agent up and running, and benchmark different algorithms and advances. Researchers will also have full flexibility and control to create their own tasks using the existing StarCraft II editing tools."

    Posted in: General Chat
  • 0

    posted a message on Blizzcon 2016

    Skynet incoming.

    Posted in: General Chat
  • 0

    posted a message on (solved) Can we change portrait per unit?

    Yes, Unit actors have a field to indicate the actor to use for their portrait. So you can create your own portrait actor and do whatever you want in it.

    Posted in: Data
  • 0

    posted a message on Does a trigger create lag if it doesnt meet conditions?

    Few additions to what Ahli wrote

    1) SC2 does have deterministic thread ordering, in the sense that if 5 threads are started in the same game loop, they will execute in the same order each time they fire off in the same game loop. SC2 is NOT parallel, so there is a threadpool which is basically a queue. The game simply runs through the queue each game loop and executes.

    2) There is blocking and non blocking thread execution, and it all revolves around thread scheduling. Threads can be delay by wait, wait is no different then normal sleeps in threads. As a result, you CAN have threads that can block other threads. Furthermore, race conditions do exist, since each trigger thread can reference a global variable and if neither thread sleeps, you can end up in an incorrect state (NOTD 1 had this issue in a few places).

    When Thread A creates thread B (either from a Run Trigger action, or from an Action that is done a Create Thread), it can choose to block or not block. Now, what this really ends up meaning is that Thread A can choose to wait until Thread B completes and returns before continuing, this is blocking.

    But it can also choose to only wait AS LONG AS Thread B is actually alive. This means the moment Thread B sleeps (Wait of any kind), A will resume executing.

    3) Critical sections do address the issues that can arise from the above, because you can have code that sleeps an unknown amount of time. So you can easily have code in Thread A that executes, that should not wait for thread B to return, but later on, DOES need to wait for Thread B to return. Critical sections in SC2 are done as spinlocks

    while (lockvariable == true)
    {
    wait (1.0);
    }
    
    lockvariable = true;
    
    // Your code
    
    lockvariable = false;
    

    It just spins in place (evaluates variable then sleeps) until the lock is released.

    4) All of the above is bounded by the fact that the game engine itself enforces a live/deadlock detection by capping how long a thread is running and terminating a thread if it exceeds that duration (Shows as an error of "Thread XXX took too long to complete/execute". In that regard, it is almost impossible to cause a deadlock that will hang the game.

    Posted in: Triggers
  • 0

    posted a message on [solved]Turret Actors: Some Missing?

    All a turret actor does is allow a model to receive bearing updates from the weapon. This will orient the TurretZ attach point on the model to those bearings. Anything attached to that attach point will derive their bearings from it (instead of the scope) and thus also update with it.

    Posted in: Data
  • 0

    posted a message on [solved]Turret Actors: Some Missing?

    @TerraAzure: Go

    They are destroyed, because the unit scope is destroyed, and with it, the turret actor.

    Posted in: Data
  • To post a comment, please or register a new account.