Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: New Direct Damage System
New Direct Damage System
Aug 12 2009, 6:21 am
By: TiKels
Pages: < 1 2 3 4 >
 

Aug 17 2009, 9:53 pm poison_us Post #41

Back* from the grave

Quote from Sorrow_Faith
I'm just defending what i said from people that believe I am lies.

YOU ARE LIES!
Regardless, kudos to TiKels & Pyro for spreading this, since it really can't be said they discovered it. For some reason, people decided to keep this to themselves, the greedy good-for-nothings.




Aug 18 2009, 6:02 pm JaFF Post #42



OK, I've finished an example map for this. This is set for 4 reavers, but it can be made to work with any number of reavers, of course.

Attachments:
HUMAN_DDS.scm
Hits: 53 Size: 45.74kb



None.

Aug 18 2009, 11:53 pm SelfPossessed Post #43



This is epic. No new AoS should be made without this implemented.

Some Notes:
  • Can you stack scarabs normally? I was under the impression that scarab stacking worked due to the peculiarities of Random Suicide Mission. If you cannot, the scarab and the resulting damage output would be offset.
  • If a player has multiple upgradable spells that use scarabs, upgrading them is not an option as it would upgrade EVERY spell for that player. The exception is if you made a spell "mastery" of sorts.
  • The only real issue now with DDS is that every scarab counts as a weapon sprite, which hurts given the weapon sprite limit of 100. The only real advantage of the previous method (computer + random suicide) is that the scarab can be used for more than 1 trigger cycle. You could then decrease the number of scarabs needed by dealing damage over several trigger cycles.

Also, less credit stealing nerd-rage crap. The storage system concept Jaff created was conceptually co-developed by me, but I don't see the need to cry about it when people don't revere my internet pseudonym each time it is referenced in conversation. It just doesn't matter. Credit should really only be given to dedicated map makers who make use of such concepts.

Out of curiosity though, do we have any members of the community who are intimate with the Korean UMS scene? There has to be other concepts that we're ignorant of.



None.

Aug 19 2009, 12:01 am Vrael Post #44



Quote
Can you stack scarabs normally?
Yes. The collection system featured in the DDS wiki uses a horizontal 39-tile location for scarabs to move along, but for my purposes I have found it sufficient to store the scarabs in a 1x1 tile surrounded by water, and this trigger:

Conditions:
Always
Actions:
Move all Protoss Scarab owned by All Players at 'Holding Location' to 'Holding Location'
preserve trigger.

They stack fine for me.



None.

Aug 19 2009, 12:13 am SelfPossessed Post #45



Sweet, stacking is possible. I was worried since Jaff's test map had the scarab offset.

About the storage system, if you keep them all in one 1x1 tile, you cannot keep track of how old the Scarab is. Because of this, you might occasionally move a Scarab that is dying to a target location. This Scarab will deal no damage. It's rare, but it does happen.

I'm also curious if the storage system can be improved for this version of DDS via 1 separate computer running AI Scripts. Since this DDS method does not use AI Scripts, it should be theoretically possible. Hrmm.



None.

Aug 19 2009, 12:20 am Morphling Post #46



Quote from SelfPossessed
Sweet, stacking is possible. I was worried since Jaff's test map had the scarab offset.

About the storage system, if you keep them all in one 1x1 tile, you cannot keep track of how old the Scarab is. Because of this, you might occasionally move a Scarab that is dying to a target location. This Scarab will deal no damage. It's rare, but it does happen.
Couldn't you make the scarab live forever with the help of Set Generic Command and Make These Unit Patrol?
Edit:
Quote from SelfPossessed
I'm also curious if the storage system can be improved for this version of DDS via 1 separate computer running AI Scripts. Since this DDS method does not use AI Scripts, it should be theoretically possible. Hrmm.
You were thinking the same as me. :D



None.

Aug 19 2009, 12:56 am SelfPossessed Post #47



The issue with set generic command and make these units patrol is that it only works on a small portion of scarabs. The rest will blow up. To store these scarabs, you'd have to perform the two AI scripts, wait however long it takes for the failed ones to blow up, move the successful ones, then repeat the process until you have enough stored. It's basically impractical if there are spells that can be cast repeatedly in a short period of time.

The weapon sprite limit is still a big issue though. :(



None.

Aug 19 2009, 12:18 pm JaFF Post #48



Quote from Vrael
Quote
Can you stack scarabs normally?
Yes. The collection system featured in the DDS wiki uses a horizontal 39-tile location for scarabs to move along, but for my purposes I have found it sufficient to store the scarabs in a 1x1 tile surrounded by water, and this trigger:

Conditions:
Always
Actions:
Move all Protoss Scarab owned by All Players at 'Holding Location' to 'Holding Location'
preserve trigger.

They stack fine for me.
The tests I ran showed that proper stacking is not possible without the Random Suicide AI. And by proper I mean the scarabs being able to move stacked in the storage location. Yes, they can be stacked by the move command and exist at the same coordinate while stationary, but in motion they block each other.
Quote from SelfPossessed
The issue with set generic command and make these units patrol is that it only works on a small portion of scarabs. The rest will blow up. To store these scarabs, you'd have to perform the two AI scripts, wait however long it takes for the failed ones to blow up, move the successful ones, then repeat the process until you have enough stored. It's basically impractical if there are spells that can be cast repeatedly in a short period of time.
The only problem with that is the time it takes to generate enough eternal scarabs. If you have N seconds while the map loads, provides intro credits, runs through a tutorial, etc, you can use that time to get those scarabs. I'll make a test map for this, as it is clearly the best option - it will not eat up too many weapon sprites and once it finishes making the scarabs, the laggy create/move/remove actions do not run at all.




IMPORTANT INFORMATION:


The map attached shows that there is something fishy going on with the 'move' order for human-owned scarabs. To see it for yourself, check the triggers, which function the same way as the old DDS example map, and guess what will happen. Play the map (you'll also see that human scarabs do not stack properly). Then, remove two reavers for P2, which will essentially cut the scarab production by half. Play the map. It will work as it should. Then remove two reavers for P1 - it should do the same thing, right? Play the map. Witness the difference. Hence:

If we move a scarab from location A to location B, then check whether there is a scarab in location A in the same trigger cycle...
-For P2, that condition will not be met.
-For P1, that condition will be met.

This means that for P1, there is a move order update delay, just like we know of 'kill' update delays. I do not know whether it has something to do with the Random Suicide AI, P1 being human, P1's triggers runnig first or any other factor yet. I will keep you guys updated.


Further Update: Random Suicide AI and it's effect


Remove two reavers for P2 and remove the Random Suicide AI command (the 'Const' trigger under P2's triggers). Play the map; pay strict attention to the rightmost reaver. It shoots and gets removed very rarely, hence all 4 triggers for the CPU DDS fire at the first reaver. Now, turn the Random Suicide AI on again, but leave the tow reavers as they are. Playe the map. You will see that the leftmost reaver shoots equally fast (as it should).

Hence, the Random Suicide AI is removes the 'move' update delay from the player it runs for (for scarabs at least). Which is why the Human DDS map was such a buggy pain to make - the unit checking mechanics in it were different.

Attachments:
DDS_Comparison.scm
Hits: 12 Size: 45.79kb

Post has been edited 6 time(s), last time on Aug 19 2009, 3:35 pm by JaFF.



None.

Aug 19 2009, 3:53 pm SelfPossessed Post #49



Quote from JaFF
The tests I ran showed that proper stacking is not possible without the Random Suicide AI. And by proper I mean the scarabs being able to move stacked in the storage location. Yes, they can be stacked by the move command and exist at the same coordinate while stationary, but in motion they block each other.

Not stacking during the move only slightly slows down the timing. You'd just have to decrease the storage location size to accommodate.

Is it still possible to move stacked scarabs (no AI) as an attack? As in, if they were stacked beforehand, would moving several scarabs to a target location keep their stacked property long enough for the explosion?

Quote from JaFF
The only problem with that is the time it takes to generate enough eternal scarabs. If you have N seconds while the map loads, provides intro credits, runs through a tutorial, etc, you can use that time to get those scarabs. I'll make a test map for this, as it is clearly the best option - it will not eat up too many weapon sprites and once it finishes making the scarabs, the laggy create/move/remove actions do not run at all.

How does this not eat as many weapon sprites?

Also, this is not viable if there are spells which are rapidly repeatable as you cannot replenish the scarabs fast enough.

Quote from JaFF
IMPORTANT INFORMATION:

I'm not completely sure on how the delay works (working from hazy memory), but wouldn't executing an update action solve this? To clarify, in the trigger before you execute the bring condition, create a trigger similar to always kill cantina for current player preserved. At least, I think that's how it works. *shrugs*

Also, if this is true, it would explain why scarabs are collected faster with Random Suicide. I always thought that Reavers just attacked faster (acquired target earlier) when under influence of that AI script.



None.

Aug 19 2009, 4:41 pm JaFF Post #50



Quote from SelfPossessed
Not stacking during the move only slightly slows down the timing. You'd just have to decrease the storage location size to accommodate.

Is it still possible to move stacked scarabs (no AI) as an attack? As in, if they were stacked beforehand, would moving several scarabs to a target location keep their stacked property long enough for the explosion?
To your first statement: Not really. If you look at how the attached example map works, the human storage is a complete mess, with some scarabs exploding even in the middle of the path.

I never tried moving several scarabs. I guess you can just take the first example map I posted in this thread and slightly change the triggers to make it move more than one scarab per attack.

Quote from SelfPossessed
Quote from JaFF
The only problem with that is the time it takes to generate enough eternal scarabs. If you have N seconds while the map loads, provides intro credits, runs through a tutorial, etc, you can use that time to get those scarabs. I'll make a test map for this, as it is clearly the best option - it will not eat up too many weapon sprites and once it finishes making the scarabs, the laggy create/move/remove actions do not run at all.

How does this not eat as many weapon sprites?

Also, this is not viable if there are spells which are rapidly repeatable as you cannot replenish the scarabs fast enough.
A standard DDS should hold the maximum possible amount of scarabs needed plus some extra to help it regain its normal state faster. This one should only hold the maximum possible amount needed, because it regains its normal state within one trigger loop.

Quote from SelfPossessed
Quote from JaFF
IMPORTANT INFORMATION:

I'm not completely sure on how the delay works (working from hazy memory), but wouldn't executing an update action solve this? To clarify, in the trigger before you execute the bring condition, create a trigger similar to always kill cantina for current player preserved. At least, I think that's how it works. *shrugs*

Also, if this is true, it would explain why scarabs are collected faster with Random Suicide. I always thought that Reavers just attacked faster (acquired target earlier) when under influence of that AI script.
You're thinking of the kill delay. I tried both killing and moving units, but nothing helps.

...

EDIT:

Also note that with constant updating disabled for P2 and both players having only 2 reavers, it spams the unplaceable message only for the P1 reavers. Which means that while both triggers detect a scarab in the location, P1 actions do not see the scarab, while P2 actions can still see it (hence they can center a location on it).



None.

Aug 19 2009, 5:48 pm SelfPossessed Post #51



Quote from JaFF
To your first statement: Not really. If you look at how the attached example map works, the human storage is a complete mess, with some scarabs exploding even in the middle of the path.

I never tried moving several scarabs. I guess you can just take the first example map I posted in this thread and slightly change the triggers to make it move more than one scarab per attack.

I suppose a new storage system for this version would be in order then. Although, due to how rare it is to get the failed scarab, some map makers probably wouldn't care and would just store them in a 1x1 location.

Quote from JaFF
A standard DDS should hold the maximum possible amount of scarabs needed plus some extra to help it regain its normal state faster. This one should only hold the maximum possible amount needed, because it regains its normal state within one trigger loop.

How do you regain normal state within one trigger loop when using set generic command and patrol?

Quote from JaFF
IMPORTANT INFORMATION:

I'm not sure if it will help, but have you tried the following?

//Stacking
Conditions: Always
Actions:
Move Scarabs from Stack Area to Storage
Preserve

//Always Move Scarab Away
Conditions: Always
Actions:
Center Location on Scarab at Reavers
Move Scarab to Stack Area
Preserve

//Recreate Reaver
Conditions: Bring at most 0 Scarab to Location
Actions:
Remove Reaver at Location
Create Reaver at Location w/ 1 Scarab
Preserve

Note that always moving does not cause extra lag so long as no unit is moved. Also, you would have to copy the last two triggers several times depending on how many Reavers you have.

The idea behind this is that you don't need to check if the Scarab exists until AFTER you move it. I am hoping that when the Scarab is moved in the second trigger, it will force an update.



None.

Aug 19 2009, 6:22 pm JaFF Post #52



If Patrol at Generic Command Target makes scarabs live forever and it does not disrupt the effects of the RS AI, we simply have a 1x1 tile storage and re-use those scarabs. It takes one trigger loop to deal damage; they can be moved back to storage the in the next loop.

The triggers you suggested make no sense. They will constantly re-create the reaver each trigger loop after the first loop he does not shoot. And since reavers rarely manage to shoot within a loop (depends on the angle of creation), we get a situation when the reaver gets created/removed and produces a minimal amount of scarabs.

Post has been edited 1 time(s), last time on Aug 19 2009, 6:28 pm by JaFF.



None.

Aug 19 2009, 6:35 pm SelfPossessed Post #53



Quote from JaFF
If Patrol at Generic Command Target makes scarabs live forever and it does not disrupt the effects of the RS AI, we simply have a 1x1 tile storage and re-use those scarabs. It takes one trigger loop to deal damage; they can be moved back to storage the in the next loop.

Random Suicide enforces a death after a short period of time. Generic Command and Patrol will not cancel it. I was under the impression that you were trying the scarabs that live forever for the non-RS AI DDS.

For a naming convention, perhaps we can use DDS (direct damage system) for the system in general, RSDDS (random suicide direct damage system) for the previous method, and UMDDS (unplaceable move direct damage system) for the current method. It's more descriptive than EoS at any rate. *shrugs* I also remember a suggestion earlier for SDS (scarab damage system) which may be preferable over DDS. The final name should be decided by the community though.

EDIT:

Quote from JaFF
The triggers you suggested make no sense. They will constantly re-create the reaver each trigger loop after the first loop he does not shoot. And since reavers rarely manage to shoot within a loop (depends on the angle of creation), we get a situation when the reaver gets created/removed and produces a minimal amount of scarabs.

Wait, can't you detect if a scarab exists or not before it is shot? Give me a bit, I'll look into this.



None.

Aug 19 2009, 6:42 pm JaFF Post #54



Quote from SelfPossessed
Random Suicide enforces a death after a short period of time. Generic Command and Patrol will not cancel it. I was under the impression that you were trying the scarabs that live forever for the non-RS AI DDS.
I didn't know that. This makes my idea useless.

Quote from SelfPossessed
Wait, can't you detect if a scarab exists or not before it is shot? Give me a bit, I'll look into this.
I don't understand you. If it is shot, it exits the reaver. Do you mean that the 'shot' and the scarab exiting the body of the reaver can happen in different trigger loops? If this is what you mean, how is it relevant to your triggers not working?



None.

Aug 19 2009, 6:46 pm SelfPossessed Post #55



Got it.

If a Reaver has a scarab inside that is not shot, then both of the following is true:
Bring at least 1 scarab
Bring at most 0 scarab

HOWEVER if a Reaver has no scarabs, then only the following is true:
Bring at most 0 scarab

Let me modify my trigger.

Post has been edited 4 time(s), last time on Aug 19 2009, 7:10 pm by SelfPossessed.



None.

Aug 19 2009, 6:53 pm JaFF Post #56



Quote from SelfPossessed
Got it.

If a Reaver has a scarab inside that is not shot, then both of the following is true:
Bring at least 1 scarab
Bring at most 0 scarab

HOWEVER if a Reaver has no scarabs, then only the following is true:
Bring at most 0 scarab

Let me modify my trigger.
Haha. Interesting find. I always thought that if a reaver has a scarab then the atleast 1 scarab condition will fire. This thing is totally anit-intuitive.



None.

Aug 19 2009, 6:54 pm SelfPossessed Post #57



Gah I edited without seeing your reply. See the attachment for an example of what I'm trying to do. I did it quickly so you have to modify it a bit to allow for multiple Reavers.

EDIT: Attachment
P1 and P2 have 2 Reavers each
Min = each time Reaver created for P1
Gas = each time Reaver created for P2

Attachments:
ddsstorage.scm
Hits: 6 Size: 39.44kb

Post has been edited 2 time(s), last time on Aug 19 2009, 7:25 pm by SelfPossessed.



None.

Aug 19 2009, 10:03 pm JaFF Post #58



The map.

It has maximum speed, SP. The reavers are removed/created in the same trigger loop the scarabs get moved. The crysalis is what allows you to turn on/off the reavers.

Attachments:
DDS_Human_CPU.scm
Hits: 11 Size: 44.7kb



None.

Aug 19 2009, 10:34 pm SelfPossessed Post #59



I see how you're doing the scanning now. I completely forgot about that. Brain fart. It's what I get for not mapping in a while.

Also, I didn't realize that exactly 0 works for scarab firing detection. I have this habit of using at most 0 instead of exactly 0, so I never bothered to check it. The triggers are much simpler now. :)

Anywho, are you sure that the latency problem is solved now? You said earlier that you had update problems for player 2 only or something (are you SURE it wasn't due to some error that you made in the triggers? possibly due to how all players works instead of current player?). Try the map with multiple players to ensure that the problem has gone away.

Aside from the update problem, there remains two primary issues of concern:
1) Scarab = weapon sprite. The biggest killer of DDS.
2) Without random suicide, scarabs don't stack properly on move. Unless a new storage system is created, that means you risk occasionally using a failed scarab for damage.



None.

Aug 19 2009, 10:37 pm JaFF Post #60



Quote from SelfPossessed
2) Without random suicide, scarabs don't stack properly on move. Unless a new storage system is created, that means you risk occasionally using a failed scarab for damage.
Have a path per reaver.

What latency problems do you speak of?



None.

Options
Pages: < 1 2 3 4 >
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:45 pm]
Pr0nogo -- hi
[01:41 pm]
neomirav -- Helloo...
[2019-7-21. : 11:21 am]
UEDCommander -- That worker hardcode shit is annoying
[2019-7-21. : 11:15 am]
UEDCommander -- I would like to point out that "successfully modded" and "done everything i want" are two big differences
[2019-7-21. : 5:46 am]
O)FaRTy1billion[MM] -- 🥝
[2019-7-21. : 4:47 am]
Pr0nogo -- kiwi
[2019-7-21. : 4:46 am]
A_of-s_t -- I think Corbo made it a mango at one point
[2019-7-21. : 4:46 am]
jjf28 -- what was it.. like... a peach originally?
[2019-7-21. : 4:46 am]
A_of-s_t -- lol :aofst: forgot about that one
[2019-7-21. : 4:45 am]
jjf28 -- :aofst:
Please log in to shout.


Members Online: Roy, Vrael, SkyTechRTS, reklamoboar, Suicidal Insanity, jjf28