• 0

    posted a message on Removing Doodad/Actor Model with Triggers

    I am adding a glow to units using triggers, as the glow's color is necessary for visual feedback for each unit. Everything is working for me except one thing: the previously added doodad and/or actor model is not being destroyed.

    I am using omni lights and gas canister glow. I have tried destroying doodads that were hand placed, doodads spawned by triggers, and attached as actors. I have not used attach as model with a generic actor as I want the pre-made actor. Here's the list of codes that I have already tried (in generic form):

        Events
            Timer - Every 1.0 seconds of Game Time
        Local Variables
        Conditions
        Actions
            Unit Group - Pick each unit in (Last created units) and do (Actions)
                Actions
                    Actor - Send message "Destroy Immediate" to actor (Look at target attached to Center of (Picked unit))
                    Actor - Kill actor model (Look at target attached to Center of (Picked unit))
                    Actor - Attach Gas Canister Glow to Center on (Picked unit)
    

    And the code for the doodads:

            Animation - Remove Any doodads in the (Entire map) region
            Animation - Kill Any doodads in region (Entire map)
            Actor - Remove death models in region (Entire map)
    
    Posted in: Triggers
  • 0

    posted a message on [Solved] Unit Collision & Gates Delayed Opening/Closing

    The delay is due to the ability being a Morph ability. I managed a work around of placing duplicate gates at the same location and alternating which gate is closed and opened in the trigger.

    Thanks for the demo offer SuperEvil, but I'll stick with the novice method for now.

    Posted in: Data
  • 0

    posted a message on [Solved] Unit Collision & Gates Delayed Opening/Closing

    Thanks for the help Tya, it was the footprints that was messing with the collisions. I had made the units flying since the collision options were not showing any signs of working because of the footprints.

    However, the gates do not appear to have a cooldown associated with the ability. I had sped up the model's animation speed to make the gates open/close faster, but I will guess that there is also a speed for the ability? If anyone knows what field I am looking for I would appreciate the answer.

    Posted in: Data
  • 0

    posted a message on [Solved] Unit Collision & Gates Delayed Opening/Closing

    I have run into three bugs that I cannot seem to get to work properly. The first is unit collision. I needed a wall that only enemy units can pass through, so I created a wall using a neutral unit of debris. I also created a wall around the map using sandbags. The player's units properly collide, but the enemy units seem to decide when they can and can't collide. I've seen them "fly" over the sandbags and metal gates, yet most of the time they refuse to pass over the debris. Here's the list of units and their collisions:

    • Ghost (Player's units): Collisions: Burrow, Ground, & Forcefield; Movement Plane Array: Ground
    • Baneling/Ultralisk (Enemy's units): Collisions: Flying; Movement Plane Array: Air
    • Sandbags/Gates (wall to both players): Collisions: Burrow, Ground, Structure, & Flying; Movement Plane Array: Ground/Air
    • Debris (wall to Player only): Collisions: Ground; Movement Plane Array: Ground

    All the unused options are unchecked. Before I had the opposite problem where units were able to pass through units that they were suppose to collide with.

    Additionally, I am having a problem with gates. I am using Metal Gates that are opened and closed by a trigger. The gates have a sped up animation and they are given 1.5 seconds by the trigger before they are told to shut. However, the gates have some kind of cooldown as they close about 3 seconds after they were issued the order by the trigger. Is it a cool down in the data for gates and/or abilities doing this or is there a problem with how the game operates gates/doors?

    Posted in: Data
  • 0

    posted a message on Modify a Unit's Range, Health, & Attack Priority (with Triggers)

    What I need to have happen is changing the target of a Baneling's attack to target the Ghost that will kill the most Ghosts. I think I could make an ability for Ghosts that would scan to see how many Ghosts are within a Baneling's blast radius of that individual Ghost. Using that number (X), I would prefer to create the equation:

    P = X + .1 * D; where P is that Ghost's priority score and D is the distance between

    Then when Banelings are to be given an attack order, the Baneling scans all alive Ghosts to determine which has the highest priority score and is ordered to attack that Ghost. This scan would have to reoccur often. I also will need to lock in the Baneling's target after 5 seconds to ensure players don't kite the AI.

    Would a trigger be the way to tell the Baneling what to do, or is there some kind of AI script that could be edited to do this?

    Posted in: Triggers
  • 0

    posted a message on Modify a Unit's Range, Health, & Attack Priority (with Triggers)

    I successfully got the maximum health of units to change by changing units' properties.

    However, I have not found any way to change a unit's attack range or a unit's attack priority by an equation. I could create upgrades, but the game has 50+ units which would mean creating 50+ upgrades and manually changing the value of each upgrade to tune it. I can also do the attack priority with a lengthy trigger that determines what unit is the highest value target and then sends an order to the attacking unit, but similarly would require changing 50+ actions if I wanted to make a single change to the equation.

    Any more suggestions?

    Posted in: Triggers
  • 0

    posted a message on Modify a Unit's Range, Health, & Attack Priority (with Triggers)

    I am working on a unit splitting mini game, and I need to change a unit's attack range, max health, and attack priority on the fly with some equations. I did not see any options in the unit editor or the trigger's list of actions to make these stats change according to variables or equations. Here's more details on how & why each are needed:

    1. Attack Range: The unit's attack range is determined by an equation of how many units are left alive. As units die, the attack range of the units lowers. The attack range only matters for the basic attack. My demo is using Ghosts with their C-10 Canister Rifle.
    2. Max Health: The unit's max health is to be equal to the number of units that are alive. I found a few ways to do this already, but I would prefer to change the unit's max health instead of these methods:
    • * * Amplify the damage the unit takes.
    • * * Damage the unit.
    1. Attack Priority: Units that are grouped together will be targeted over units that are by themselves, and then the targets are prioritized by distance. I imagined creating a hidden ability that scans to determine how many units are within a certain radius of that unit.

    One alternative for all three I thought of is doing unit upgrades; however, that would mean having a rank of the upgrade for each possible value. Does anyone have any other suggestions on how these can be done?

    Additionally, here's some other features I'm considering that I could use advice for:

    • Zooming out the player's camera
    • Displaying text like a texture on the ground (rather than making the text a part of the UI); preferably with the ability to update the text like in dialog
    • Apply a colored aura on a unit whenever the unit is within range of a point or target unit
    • A countdown to the beginning of the game
    Posted in: Triggers
  • 0

    posted a message on Team Recruitment - Marine Split Mini Game - Hardware Integration

    Stages

    Only Stage 1 serves as a prerequisite to any other stage.

    Stage 1: Mod Creation

    Stage 1 consists of creating the base mod with all the essentials. All other stages will require Stage 1 to be near completion.

    • Creation of the map (elevation, pathing, static props, animated props)
    • Creation of the units (attacks, health, movement, AI, function equations)
    • Starting map menu (creation of leaderboard variables, interactive UI)
    • Basic UI (timers, wave number, number of Marines alive)
    • Wave functionality (spawning units, releasing waves)
    • Basic balance testing (ensure Banelings cannot be kited, determine basic difficulty levels)

    Stage 2: Advanced UI

    Stage 2 is advanced balance testing and updating the UI to give as much information as possible.

    • Balance Marine attack range (make the ranges roughly equal difficult at each number of Marines)
    • UI indicator of current Marine attack range (visual indicator of what Marines may or are out of range)
    • UI indicator of Marines with attack off cooldown (visual indicator that a Marine is ready to fire)

    Stage 3: Leaderboards & Testing

    Stage 3 is advanced difficulty testing and integration of personal and/or online leaderboards.

    • Request testing by a pro player (determine if the max difficulty is correct, determine if the mini game feels genuine)
    • Create local leaderboards (record: time, # of waves, average APM, peak APM over 10 seconds; online optional)

    Stage 4: Hardware Compatibility

    Stage 4 is taking the hardware's output and putting it to use in SC2.

    • Extract the hardware's XML inputs
    • Perform any necessary calculations
    • Use inputs to manipulate unit control & selection

    Stage 5: Hardware Advanced UI

    Stage 5 is creating the advanced UI for the hardware.

    • Create new UI to appear over the default UI when toggled
    • Update the UI to correspond to the inputs

    (unlikely) Stage 6: Implement Hardware to Standard SC2 Multiplayer

    Stage 6 will only occur if the hardware can work for online mods. If it works, then it will be attempted to take the UI from Stages 4 & 5 and implement them into standard SC2 gameplay, adding compatibility for the rest of the units and buildings.

    Contact

    If you are interested in volunteering, send me a PM for specific details on your selected Stages. Each stage can be broken up even further, so more than one person may volunteer. If you have any general questions or concerns, post them here.

    Posted in: Team Recruitment
  • 0

    posted a message on Team Recruitment - Marine Split Mini Game - Hardware Integration

    The Units

    The player will control a number of Marines of 50, 100, 150, or 200. An enemy wave will be released every 5 seconds. Each enemy wave consists of two enemies: a Baneling and an Ultralisk. The Baneling is released first and 2.5 seconds later the Ultralisk will be released. Banelings are immune to damage meaning at least one Marine is guaranteed death each wave. Ultralisks have enough hp that all living Marines have to attack it, else the Ultralisk will kill additional Marines. Hence, the player will have to split a portion of the Marines against the Baneling, and then regroup the Marines together to be within range of killing the Ultralisk.

    The Marine

    The Marines may be better represented as Ghosts, as they will not have stim and will have a slow rate of fire. Each Marine will only be able to shoot once per 4 seconds, meaning Ultralisks will rampage through the Marines if a single Marine is out of range. The Marine's attack range will also be a function of the number of Marines currently alive. The reasoning for this is to allow the player to only micro around 50 Marines at a time and force the player to constantly change their selected and hot keyed marines. The mod will indicate to the player what Marines will be out of range of the Ultralisk.

    • Health: 1
    • Speed: 2.0 relative to the others
    • Damage: 1 (4 second cooldown)
    • Range: function(number of Marines alive)
    • Movement: No-clip while in movement; first Marine standing still in a place cannot be budged
    • Attack Move: Can attack while in movement

    The Baneling

    The Baneling is released first for each wave, and is what ensures that the game will draw to an end. The Baneling is immune to damage and being targeted. It's splash radius is just enough to force the player to be precise with his/her Marine placement. The Baneling will have AI that makes it target the Marine where it will kill the most Marines. However, the Baneling will need some AI conditions to prevent the player from kiting it, so after 4 seconds the Baneling will lock on to its target.

    • Health: immune
    • Speed: 5.0
    • Damage: 1
    • Splash Radius: 2.5x Marine size
    • AI: Targets largest Marine crowd with a factor of distance; locks its target after 4 seconds
    • Movement: No-clip

    The Ultralisk

    The Ultralisk is the tool to force the player to regroup the Marines. Like any other Ultralisk, it likes chopping Marines into a fine salad. Its health is equal to the number of Marines. Since only Marines who have already attacked would ever be within range, when a Marine dies to an Ultralisk it's current hp remains the same but total hp is reduced.

    • Health: function(number of Marines alive)
    • Speed: 3.0
    • Damage: 1
    • Splash Radius: 2.5x Marine size
    • AI: Targets nearest Marine
    • Movement: No-clip

    The Map

    The playing field for the mini game is within an enclosed valley with some doors leading off screen where the enemy units spawn. The ideal Marine splitting locations are marked with any kind of prop such as lights. Marines are unable to enter the area around the doors (creep).

    The following example image has some additional grid lines to show roughly how the Marine's varying ranges come into play: Marine Splitting Map

    Posted in: Team Recruitment
  • 0

    posted a message on Team Recruitment - Marine Split Mini Game - Hardware Integration

    Prologue

    I have custom hardware that, in theory, will make a player's APM twice as effective for certain micro intensive scenarios. However, theory is not good enough, so I am seeking to create a demo to both test and showcase the hardware's performance.

    Therefore, I am seeking a team to create a marine splitting mini game with a heavy emphasis only on the player's control. Real SC2's marine splitting depends upon the player's timing, decisions, and stutter stepping. Since this mod is to showcase the effect the hardware has, the mini game's mechanics will diminish the effects those three factors have on marine splitting.

    I have divided the project into five stages to outline the final design, and the project will be starting from scratch. The project has a lot of freedom for whoever volunteers, so long as the mini game's focus remains on the player's control in marine splitting.

    Overview

    The mod will begin as a single player offline experience. Online leaderboards and other online features are optional, but not required nor suggested. The mod's difficulty will scale by increasing and decreasing the game speed, and changing the length of the mini game. Each game will record how many waves were survived, the time survived, average APM, and the peak APM.

    Starting up the map, the player will be prompted with a menu similar to the one below (partly made in SC2 editor, partly with image editing): Marine Splitting Menus

    The player will be able to select the number of starting marines, the game speed (difficulty), and whether they are using the hardware or standard PC and mouse interface & controls. After selecting the mode, the map will give the player complete control. The waves of enemies will start once the player presses the start key. This allows the player to get in the groove of microing the marines and creating unit bindings before starting the mini game.

    Posted in: Team Recruitment
  • 0

    posted a message on SCII Demo Software for Custom Hardware Questions

    1 & 3) I was looking in the wrong directory or something. What I created was an infinite number of dialog elements which was creating the "memory leak". Not sure what I was doing wrong regarding reloading the bank, but I eventually got something that works.

    2) I'll look for that general discussion board example for the external program. Assuming all goes well with that, I'll be posting the project as a new thread and asking for some help with it.

    Thanks for the help and answers.

    Posted in: General Chat
  • 0

    posted a message on SCII Demo Software for Custom Hardware Questions
    Quote from Ahli634: Go

    @GuNSl1nG3R: Go You require WoL, I believe. AfaIk, the starter edition has no access to the editor. But it's worth a try anyway as you would need to download the game in any case.

    The editor does work with the free trial, but you need WoL to play test anything you make with it.

    I took a random tower defense mod to start as a base to test using banks with my novice modding skills. The test only tested SC2's ability to read banks, not the ability to write banks while SC2 reads them (due to three problems listed below). I also was not able to confirm if what I coded is actually writing/reading a bank (its not in the SC2 documents directory).

    Here's what I found/confirmed (assuming the bank was working):

    • SC2 cannot read faster than once per frame (16 per game second).
    • SC2 can read banks of few variables (3 integers) at a rate of 16 times per game second (I am presuming the mod runs at 1.0x speed), which is once every 62.5ms.

    And here's the list of problems with my modding and/or SC2:

    1. SC2 does not save the bank in the normal SC2 /my documents directory when testing mods, or my mod is not producing the bank (action: open bank).
    2. My hardware can export its information as a XML, but only through a third party software's request (just about any popular language; ie Java, C+). Is there any third party software for SC2 that writes XML using information extracted from a server or other source? If so, I could simply rewrite the server portion to address my hardware instead.
    3. Reloading banks causes a memory leak -like issue within SC2. SC2's memory usage, with the tower defense game doing absolutely nothing, rises at a rate of about 600kb per second indefinitely. Eventually it leads to the common problems of a memory leak such as 2 frames per second and taking 5 minutes to exit the map. Even after exiting the map, the memory leak still affects SC2, as its memory usage does not return to anywhere close to where it was when it started the map. Based on the fact that SC2 isn't anywhere near its 2gb artificial memory cap, chances are the reload bank action is writing new variables to the ram instead of writing over the old. Or, it is writing some kind of value to something like a temporary or hidden text file, and that file is reaching 100mb plus in size, which results in the severe lag and memory leak-like issues when the game is attempting to open it.
    Posted in: General Chat
  • 0

    posted a message on SCII Demo Software for Custom Hardware Questions

    Sounds like it'll be worth the investment to find out. I know where to find help or volunteers. So unless anyone has more discovery to contribute, this topic is solved except for one last question:

    In order to fully use the modding tools, do I need to purchase HotS, WoL, or can you mod with the free trial?

    Posted in: General Chat
  • 0

    posted a message on SCII Demo Software for Custom Hardware Questions

    Thanks for the reaffirmation that banks could be used, but I still have three concerns regarding banks:

    • I saw on another topic that Blizzard was more or less upset with reloading banks, would that not apply if the map is ran locally?
    • Can a third party program rewrite banks (or write a new bank over the previous) without it or SCII disturbing each other's process?
    • Finally, can SCII reload banks in the fore mentioned condition faster than .1s (100ms)? [I saw that it reload in .5 seconds]
    Posted in: General Chat
  • 0

    posted a message on SCII Demo Software for Custom Hardware Questions

    I have some custom hardware that I am looking to create a demo software for to advertise its potential. SCII would be the ideal platform to showcase the hardware; if a custom map with the proper attributes can be created. I do not own SCII, but I have already identified what is probably going to be the only challenge.

    SCII will require modding in order to make the hardware compatible. Here's the list of the conditions for the demo:

    • SCII needs to read 3 to 5 data inputs that are integers ranging up to 255 from a third party source.
    • SCII will need to read those inputs at least once every 100ms (.1s).
    • The demo would be single player, although it may have leader scoreboards.
    • The hardware is capable of writing several file types including XML.

    Over at the Hive Workshop, it was recommended pursuing creating XML files or banking, but reading up on banking here, it appears that banks are intended to only be read once a map. It's unlikely to work, but the hardware would be able to write the data to the PC and create a file (bank or XML) that uses pointers or some other method of updating itself with the written data. I assume that writing the same file that SCII reads will not work, since Windows does not like it when programs attempt to share.

    If all else fails because Blizzard has the floodgates to this closed or SCII is not able to handle such operations, I am open to suggestions on another platform that will have a similar UI and units/AI to that of SCII. And if this demo is possible, then I will be hunting volunteers.

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