Order Limit
Aug 26 2010, 5:02 pm
By: xAngelSpiritx  

Aug 26 2010, 5:02 pm xAngelSpiritx Post #1

eternal lurker



I've been doing insight into this limit. So far I've found that:
(Note: In the attached map, a marine unallied with the player walks within range of 1650 stacked floortraps. The following are my observations from said map)

* The attached test map crashes once the blue marine comes into contact with the floortraps, and AFTER the order limit has been hit.

* The red marine can still be ordered once the order limit is hit.

EDIT:
More observations:

You can't see it on the screen, but if you look at the minimap, the blue marine is approaching the floortrap. Of critical importance is the fact that he will walk directly into the floortraps. This is what happens shortly after:
* The marine comes into range of the floortraps. The 'Unable to add order.' message is shown.
* The marine continues walking and comes into contact with the floortraps (i.e. it touches them).
* Slo-mo here. The marine turns to walk around the floortraps, displaying its top-right diagonal frame.
* The game crashes immediately after.

* Intrigued by the crash, I try something else: This time, I move the marine to the right so it walks PAST the floortraps, but not INTO it:

It doesn't crash this time. The marine continues normally.


* Still no luck on determining an exact amount. Another interesting thing to note is that, in the test map, only 100 floortraps at a time will do damage to the marine. The other 1550 don't do damage. I presume it's because of sprite max though, not the order limit.


EDIT 2:

* This time, I try seperating the floortraps into 2 groups of 800 stacked each.

* I can deduce absolutely nothing from what happened, except that the first 800 stacked floortraps did not hit the limit before the second group.

Attachments:
Order_Limit.scm
Hits: 3 Size: 44.76kb

Post has been edited 4 time(s), last time on Aug 26 2010, 5:35 pm by xAngelSpiritx.



None.

Aug 26 2010, 5:34 pm xAngelSpiritx Post #2

eternal lurker

I've managed to deduce the exact order limit to be 1,000 (give or take one due to the blue marine). Any higher than 1,000 and the game gives the message "Unable to add order."



None.

Aug 27 2010, 11:40 am Zhuinden Post #3



The order buffer is 2000 unit commands. :)
I think the crash has something to do with the unit death. No?



None.

Aug 27 2010, 11:43 am xAngelSpiritx Post #4

eternal lurker

The marine doesn't die. It has 9999 hp and 255 armor.

EDIT: Also, if it is 2000 commands, then could you explain to me why it only takes 1,001 stacked floortraps to hit the limit? I assume each floortrap's "Attack" order takes up one order.

Post has been edited 1 time(s), last time on Aug 27 2010, 11:51 am by xAngelSpiritx.



None.

Aug 27 2010, 5:27 pm rockz Post #5

ᴄʜᴇᴇsᴇ ɪᴛ!

0 life units are invincible ya know...

I think we'll have to wait for someone who knows about this stuff to make any conclusions. Intriguing though, that the order limit would be 2000 when you can only have 1700 units? I remember making a 1700 unit brawl, which ended up not doing anything, but I could still move around just fine.

I believe you've made your point that the order limit is indeed 1000. Please update the wiki with any other findings you have.

http://www.staredit.net/starcraft/Map_limits



"Parliamentary inquiry, Mr. Chairman - do we have to call the Gentleman a gentleman if he's not one?"

Aug 28 2010, 2:58 pm Heinermann Post #6

SDE, BWAPI owner, hacker.

0-life units are not invincible. Repair and heal destroys them. Broodling and Mind Control work.

Also; Zhuinden was right (as surprising as it might be).


AFAIK units can run more than one order at a time (or rather, queue it).




Aug 28 2010, 5:57 pm Roy Post #7

An artist's depiction of an Extended Unit Death

Quote from Heinermann
0-life units are not invincible. Repair and heal destroys them. Broodling and Mind Control work.
You cannot repair/heal a 0-life unit. You get the "Must target ________ units" message. I believe rockz meant invincible as far as taking physical damage goes.




Aug 28 2010, 7:21 pm Undead-Fox Post #8



It feels odd that Blizzard would have undersighted to this extent... making the map unit max so much larger than the unit order max.
Though then again, I've always had fun going into Fastest games and building a shit ton of Zerglings, just to max it before anyone could get squat
for an army and watch the craziness of QQ ensue.



None.

Sep 10 2010, 6:02 pm O)FaRTy1billion[MM] Post #9

👻 👾 👽 💪

Quote from Heinermann
0-life units are not invincible. Repair and heal destroys them. Broodling and Mind Control work.

Also; Zhuinden was right (as surprising as it might be).


AFAIK units can run more than one order at a time (or rather, queue it).
Units have a primary and secondary order in the unitnode struct, but the only CORDER references I found were the queue references..? Unless the order references are in a different struct (sprites or something).



TinyMap2 - Latest in map compression! ( 7/09/14 - New build! )
EUD Action Enabler - Lightweight EUD/EPD support! (ChaosLauncher/MPQDraft support!)
EUDDB - topic - Help out by adding your EUDs! Or Submit reference files in the References tab!
MapSketch - New image->map generator!
EUDTrig - topic - Quickly and easily convert offsets to EUDs! (extended players supported)
SC2 Map Texture Mask Importer/Exporter - Edit texture placement in an image editor!
\:farty\: This page has been viewed [img]http://farty1billion.dyndns.org/Clicky.php?img.gif[/img] times!

Sep 10 2010, 11:58 pm DavidJCobb Post #10



My guess as to the crash is that when the blue Marine hits the traps and walks around, StarCraft attempts to simply add a new order for it (move to the side) to the end of the orders array, without checking if the orders array is full... so the game writes outside the array bounds, effectively causing a kind of buffer overflow. It likely overwrites sensitive or critical data, hence the crash.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
[2024-4-17. : 1:08 am]
O)FaRTy1billion[MM] -- i'll trade you mineral counts
[2024-4-16. : 5:05 pm]
Vrael -- Its simple, just send all minerals to Vrael until you have 0 minerals then your account is gone
[2024-4-16. : 4:31 pm]
Zoan -- where's the option to delete my account
[2024-4-16. : 4:30 pm]
Zoan -- goodbye forever
Please log in to shout.


Members Online: Vrael, Roy