• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

To many units?!

Status
Not open for further replies.
Level 6
Joined
Mar 8, 2007
Messages
192
I think i got a big problem here and i dont know a way how to solve it.

I got an Aos Style Map, and with all Upgrades there will be around 8x15(120) Spawns every minute.

There isnt a problem with the Stability, but there is a problem with the movement. In the beginning it works fine units walk normaly from way to waypoint. But when there are to many units they will start to stock and move periodicly and wait.
I give a small example^^

X= Unit
Y= Target
-= Way
S= Stops

Small amount of units

X------------------Y

Big amount

X---s---s---s---s---y


Yeah the easiest way would be reducing unit amounts, but i realy dont want to do that.
 
Level 6
Joined
Mar 8, 2007
Messages
192
Well i know that Wc3 isnt the best game for mass units, but i also saw that on Eota Stormwail. There was atleast 500 Units in lategame and no problems with the moving.

So i wonder why it happens for me...
 
Level 6
Joined
Mar 8, 2007
Messages
192
No thats not a problem, they dont hinder each other moving its like the ai cant handle such big amounts of units.

I think a good example would be this:

Its like when you try to order 10 units without a group selection one by one, and you only command them for a short way, and then you command them again. That is how they move.
 
Level 3
Joined
Jun 17, 2007
Messages
62
This is an engine problem.

Too many units will make their movement stuck.
I dont think there is any solution. You just have to decrease the number of the units.
 
Level 6
Joined
Mar 8, 2007
Messages
192
Hmm damn as i though... i think 6 people including some of my irc channel are enough to convince me. Sad that there isnt any way... thanks anyways guys.
 
Level 3
Joined
Jun 17, 2007
Messages
62
I have the same problem with my towerdefence.

Each round 120 units will spawn. The last 20 may cause serious troubles...... Some1 should improve the engine. ^^
 
Level 8
Joined
Oct 8, 2005
Messages
409
I had the same trouble with my AOS map

but, then I made the time between spawns increase as food used increases

  • Spawn Human
    • Events
    • Conditions
    • Actions
      • Wait (Real(Human_Spawn_Time)) seconds
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Lane_Direction Equal to True
        • Then - Actions
          • Set Lane_Direction = False
        • Else - Actions
          • Set Lane_Direction = True
      • Unit Group - Pick every unit in Human_Baraks and do (Actions)
        • Loop - Actions
          • Unit - Create 3 Footman for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HumanLumbermill Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Lane_Direction Equal to False
                • Then - Actions
                  • Unit - Create 2 Knight for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HumanBlacksmith Equal to True
            • Then - Actions
              • Unit - Create 2 Rifleman for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HumanWorkshop Equal to True
            • Then - Actions
              • Unit - Create 1 Mortar Team for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HumanAviary Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Lane_Direction Equal to True
                • Then - Actions
                  • Unit - Create 2 Gryphon Rider for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
                • Else - Actions
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • HumanArcane Equal to True
            • Then - Actions
              • Unit - Create 1 Priest for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
              • Unit - Create 1 Sorceress for Player 1 (Red) at (Position of (Picked unit)) facing 90.00 degrees
            • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Player 1 (Red) Food used) Less than or equal to 350
        • Then - Actions
          • Set Human_Spawn_Time = 30
        • Else - Actions
          • Set Human_Spawn_Time = (30 + (Integer((((Real((Player 1 (Red) Food used))) - 175.00) x (1.00 / 6.00)))))
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Player 1 (Red) Food used) Greater than or equal to 650
            • Then - Actions
              • Set Human_Spawn_Time = (60 + Human_Spawn_Time)
            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Player 1 (Red) Food used) Greater than or equal to 800
            • Then - Actions
              • Set Human_Spawn_Time = (60 + Human_Spawn_Time)
            • Else - Actions
      • Trigger - Run Spawn Human <gen> (checking conditions)
  • Hu Barracks Dies
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Barracks
    • Actions
      • Unit Group - Remove all units from Human_Baraks
      • Unit Group - Pick every unit in (Units owned by Player 1 (Red) of type Barracks) and do (Actions)
        • Loop - Actions
          • Unit Group - Add (Picked unit) to Human_Baraks
      • Game - Display to (All players) the text: |cff33ff33A Human B...
      • Cinematic - Ping minimap for (All players) at (Position of (Triggering unit)) for 6.00 seconds
      • Set Barraks_Humans = (Barraks_Humans - 1)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Barraks_Humans Less than or equal to 2
        • Then - Actions
          • Game - Display to (All players) the text: |cff33ff33A Human i...
          • Unit - Make Guard Tower 0011 <gen> Vulnerable
          • Unit - Make Guard Tower 0450 <gen> Vulnerable
          • Unit - Make Guard Tower 0010 <gen> Vulnerable
        • Else - Actions
 
Level 6
Joined
Mar 8, 2007
Messages
192
Well yeah nice trigger :p

But that does not solve my problem~
I reduced the spawns heavily now, from 15 on 9, with full upgrades. And this works alot better.
Its bad that i get ride of so many unit types i had.
 
Level 3
Joined
Jun 17, 2007
Messages
62
It's the engine, man....... cant fix that....

Ever played TechWars and someone uses the tactic to mass rifleman ?
You can be happy if the game will end, because at some point units wont move at all....
 
Level 6
Joined
Mar 8, 2007
Messages
192
seems like you didnt read my previous posts~

But quoting myself can be fun:
I already use that ;)
 
Level 8
Joined
Jul 9, 2006
Messages
41
The only conceivable way to have a large number of units on the map and still have their AI function correctly would be to split up those units to different players.
In other words...
Since its an AoS, you would have two opposing teams that units would spawn for...
You probably have it 5v5, in which case you can easily support 3x current units or so without crashing if you used the neutral slots.
Force 1- Spawn for Orange, Neutral Hostile, Neutral Passive.
Force 2- Spawn for Brown, Neutral Extra, Neutral Victim.
If you configured the alliances properly with every player, named all those players the same thing, and set their color the same you could conceivably have a large number of units still spawning and working and not be able to tell the difference.
I've tried this technique on one of my maps and was able to support a massive (400ish) amount of zombies by splitting them up between 5 players. Of course, you might not be able to use this if you use neutral passive for shops, or hostile for creeps, but odds are you can still split them up between victim/extra which will help.
 
Level 6
Joined
Mar 8, 2007
Messages
192
Ahh thats an good idea, i already saw that in the last round eota. But i though it was for something else... good idea though thank i will try this.
Even when iam now happy how my spawns are.
 
Status
Not open for further replies.
Top