Carrying Capacity

Help - Resources - AI Scripting - Grafting - Plugins - Modding Projects
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
User avatar
Posts: 39
Joined: Mon Sep 15, 2008 8:39 pm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Carrying Capacity

Postby Hydrolisk » Sun Apr 12, 2009 7:22 pm

I have run a few experiments with Terran Dropships. Theoretically, the below will apply with all transports.
In all of my experiments, the Terran Dropship's have a cargo hold of 16.
I will attach the MPQ file I used to do my testings.
When different types of units are loaded in, the order of loading is the order of the different types of units listed.

All testing was done in SCBWv1.16.1.


Hypothesis: Non-Existent
[spoiler]What the Hell will happen if I do this, now? I remember bad experiences with this... Maybe this will work now. Eh, let's test it out.[/spoiler]

Experiment #1: Various Unit Types
[spoiler]A Firebat, Ghost, Marine, Goliath, Medic, SCV, Siege Tank, and Vulture are placed into the Dropship. 13/16 space used. With the Dropship selected, the latest units to be loaded are shown. Previous units do not appear to be shown. Where the Dropship's wireframe is, several "phantom Marine" will be, and it seems that they add on to the number of slots used. Thus, in theory, if one had 2 Siege Tanks inside and 4 "phantom Marines", the 4 "phantom Marines" will denote 4 spaces are in use.
-These "phantom Marines" will display the same message as when you hover a mouse over a unit with multiple units selected, e.g. "CTRL+Click to Select Units of Same Type". When one CTRL+Click OR Shift+Clicked, these "phantom Marines" will cause a crash. However, it is observed that the units that were pushed out into "phantom Marines" area are selected in a unit group first, before the crash.
-When one clicks on a "phantom Marine", you will select the unit that is represented by the "phantom Marine". In addition, a unit such as the Goliath, which would be represented by 2 "phantom Marines", will be selected if either representing "phantom Marines" are clicked.
-It would appear that the representing "phantom Marines" do not perfectly represent; when the "phantom Marine" that was supposed to represent the Medic was selected, the Medic itself did not show. Instead, clicked on the Medic's representative equated to selecting a Protoss Interceptor.
-Once a "phantom Marine" has appeared, if the player selects any more than 1 unit from the point on at the same time, the game will crash.
-In conclusion, when one loads more than 8 spaces worth of units into a transport, past units that do no fit in the standard space reserved for showing the wireframes of in-transport units will be pushed out into a "phantom Marine" state, where each unit is represented by a varying number of "phantom Marines". The number of "phantom Marines" is equivalent to the number of spaces the ousted unit requires. Thus, an ousted Goliath would require 2 "phantom Marines" to be represented. Furthermore, "phantom Marines" are displayed as if a player had drag-selected multiple units, but they crash when one Shift/CTRL+Clicks them. Finally, once a "phantom Marine" has been displayed, the player can no longer select more than 1 unit at a time without crashing.[/spoiler]

Experiment #2: 16 Marines
[spoiler]In this experiment, 16 Marines are trained. Once the Marines have been prepared, they are ordered to board the Dropship. The Dropship loads all 16 Marines and does not display any "phantom Marines". When ordered to Unload All, the Dropship unloads 8 Marines. After this, the Dropship will revert to having an 8 space carrying capacity. However, even when all 8 spaces are filled, the Load button will still be available and displayed. Despite that, the Load button will display an error message stating that no more units can be loaded if one orders the Dropship to Load more units. Game is stable.
-In a different game, 12 Marines and 4 Firebats are all loaded into a single Dropship. There are no "phantom Marines". The same occurs with 12 Medics and 4 Marines. However, when unloading, only the first 8 units that were unloaded will unload. The rest leave no trace except as taking up Supply.
-In a different game, 12 Marines are loaded into the Dropship. After that, the Dropship is destroyed. Although 12 Supply was spent creating the 12 Marines, only 10 supply returned.
-In conclusion, 16 one-space-units will render a Dropship "sterile". 12 1-supply units will result in a regain of 10 supply when the Dropship is destroyed.[/spoiler]

Experiment #3: Same Type Units
[spoiler]In this experiment, 4 Siege Tanks are prepared and then loaded fine into the Dropship. The third Siege Tank is displayed in the middle of/in between the first two Siege Tanks. There are no "phantom Marines". The fourth Siege Tank is observed to be a row to the left of the third, and is displayed in whole except for its blue outline. When ordered to Unload All, the Dropship unloads 4 Siege Tanks without difficulty. Game is stable.
-In the same game with the same Dropship, 8 Vultures are loaded into the Dropship without difficulty; no "phantom Marines". The fifth Vulture's outline appears as taking up a single space, whereas its wireframe is centered in the space. The single space being used is displayed in the upper left corner of the transport display. The sixth Vulture is similar to the fifth, but the single space that it takes up is in the second row's left corner. The seventh and eighth parallel the fifth and the sixth, but appear in the second column of the transport wireframe display.
-In conclusion, same-type units taking up more than 1 space independently will not render a Dropship "sterile" if the same-type units completely fill up a Dropship.[/spoiler]

Experiment #4: No 1-Spacers Allowed
[spoiler]In this experiment, 3 Siege Tanks and 2 Vultures are loaded into the Dropship without difficulty. No "phantom Marines". The third Siege Tank is in middle. Vultures are displayed like in the second paragraph of Experiment #3, except that they start appearing in the second column, overlapping the third Siege Tank.
-In conclusion, 1-space units mixed with non-1-space units will cause "phantom Marines".[/spoiler]

Conclusion: Final Verdict
[spoiler]1-Space units combined with Non-1-Space units will cause "phantom Marines", which appear to be some sort of buffer overflow bug, in my opinion. Solely 1-space units will render a Dropship "sterile", unable to go beyond 8. Also, permanently lost Supply-issues are prevalent with 1-space unit-filled Dropships. Dropships filled with different types of Non-1-Space units will not cause "phantom Marines" and appears to be extremely stable, at least when 16 carrying capacity is the limit. Dropships filled with same unit-type Non-1-Space units will not become "sterile".
-In regards to game stability, 1-space units and non-1-space units in the same Dropship going over 8 carrying capacity will cause high instability in the form of crashing when more than 2 units being selected at once later, and CTRL/Shift+Clicking "phantom Marines" will cause crashes too. An only-non-1-space unit-filled Dropship is perfectly stable, at least at 16 carrying capacity.[/spoiler]

Application: TheoryCraft
[spoiler]In future mods, I can imagine all units taking either 2 or 4 or even 8 spaces, proportional to 1, 2, and 4. Transports can have 16, to ensure stability. In future research, we may be able to increase the ratio of transported units by researching effects of transports with 20, 24, 28, 32, and more carrying capacity.
-These different ratios and proportions can carry over into balance, e.g. in a total conversion, one race has a greater ratio for transporting than another.[/spoiler]


This is the first time I've ever done anything like this. I hope this has contributed to the modding community.

BTW: Move this to Modding Discussion if need be. It might be more useful there. I dunno. Again, first time I've ever done anything like this.

Thank you for your time.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1266: count(): Parameter must be an array or an object that implements Countable

Return to “StarCraft Modding”

Who is online

Users browsing this forum: No registered users and 1 guest