I'm trying to get civilians to roam around pretty much exactly like critters do. Walk in a certain direction, stop for a little bit, then walk in another direction. Something that looks like they are naturally just milling around. Using the Junkyard Dog script doesn't do this, it makes units constantly running to what seems like a certain point on the map. Is there any good way of doing this? I don't want the Civilians to move TOO far from where they are originally placed.
Thanks
Post has been edited 1 time(s), last time on May 27 2009, 5:31 pm by konflikt.
None.
If I remember correctly, you can run Junkyard Dog once in a while, this will make them change their destination every time you run the script.
None.
You could cycle through on the civs with 1 location and give then mobile grid a order in a randomized direction
None.
You could cycle through on the civs with 1 location and give then mobile grid a order in a randomized direction
Then you'd have to detect walls and other obstacles with the same grid, which is not worth it. Also, mobile grids make air units a nay.
None.
Yeah a mobile grid would be WAYY to much for what I want. And JaFF your idea doesn't really work how i want it. :\
Any other ideas?
None.
Then you'd have to detect walls and other obstacles with the same grid, which is not worth it. Also, mobile grids make air units a nay.
You could always detect walls and use a ground grid, or else make sure the civs start far enough from the walls and you mobile grid them back before they can get to them.
None.
And JaFF your idea doesn't really work how i want it. :\
And how does it work? How often did you try running the script?
You could always detect walls and use a ground grid, or else make sure the civs start far enough from the walls and you mobile grid them back before they can get to them.
I hope by a 'ground' grid you mean a static grid, which is OK as long as the area whith the civilians isn't too big and you don't end up using too many grid units.
None.
Just run Junkyard Dog every so often. It may not be quite as organic as critters, but it works well enough.
EDIT: Wow, people are making this WAY more complicated than it needs to be...
Attachments:
None.
I hope by a 'ground' grid you mean a static grid, which is OK as long as the area whith the civilians isn't too big and you don't end up using too many grid units.
Burrowed ground units work fine bro.
None.
The Junkyard Dog every so often isn't as natural looking as I'd want, but I guess it will do. Thanks JaFF and scwizard.
None.
Burrowed ground units work fine bro.
No need to repeat what I said.
None.
I've done grids using Ultralisks and they work fine; you just need to move them from one location to the next and it makes the grid more random (which is the effect I wanted to achieve).
Or you could do something simpler tha a mobile grid, but not quite as easy as junkyard dogging it. Do something like put 4 locations in the corner of the map, then cycle through every civilian every once in a while with a small location, randomly ordering it to stop (by ordering it to its own location) or order it to 1 of the 4 corner locations. Might work.
None.
No need to repeat what I said.
You'll notice I didn't. You can mobile grid with burrowed units.
None.
You could cycle through on the civs with 1 location and give then mobile grid a order in a randomized direction
The civilians would deselect if you click them, looks extremely unprofessional, also it creates enormous lag, and the main problem with the idea is that you can simply keep using the AI Script to fix this problem.
None.
Yeah but he said he didnt want scripts
None.
No need to repeat what I said.
You'll notice I didn't. You can mobile grid with burrowed units.
A mobile grid involves only air units; nobody ever suggested making mobile grids with burrowed units. A static grid is a grid involving burrowed units, which is what I thought you suggested, thus I confirmed that it would work fine under certain conditions.
None.
Or you could do something simpler tha a mobile grid, but not quite as easy as junkyard dogging it. Do something like put 4 locations in the corner of the map, then cycle through every civilian every once in a while with a small location, randomly ordering it to stop (by ordering it to its own location) or order it to 1 of the 4 corner locations. Might work.
I had thought about doing that stop idea, but then I realized that wouldn't it always make the Civilian that is the farthest down and to the left stop?
None.
You would have to randomize the outcome for each civilian. The whole system would look something like this:
Give all Civilian owned by P1 to P2
Randomize Switches 1,2,...,X (however many you need to randomize for the number of outcomes you have, 3 locations and a "stop" command would need 2 switches because it's 4 outcomes)
Center Location "Civ Loc" on Civilian owned by P2 at Area
Conditions:
P2 brings at least 1 civ to Civ Loc
Switch 1 is set
Switch 2 is set
Actions:
Give 1 Civ at Civ Loc to P1
Order Civ owned by P1 at Civ Loc to Location 1
Conditions:
P2 brings at least 1 civ to Civ Loc
Switch 1 is cleared <-----------------------------------for 4 outcomes you will require 4 triggers to account for all possibilities of set/cleared
Switch 2 is set
Actions:
Give 1 civ owned by p2 at Civ Loc to P1
Order Civ at Civ Loc to Location 1
With this setup it will only act on 1 civilian per trigger cycle. If you copy the 4 "outcome" triggers X amount of times, it will act on X civilians per trigger cycle.
This method will circumvent always acting on the same civilian, because this setup will cycle through each civilian since it gives them all to another player at the beginning, then gives them back to the other player one at a time with new orders.
Edit: fixed some conditions
None.
That would work. Thanks Vrael!
None.