• 🏆 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!

Herd System Request

Status
Not open for further replies.
Level 7
Joined
Jan 28, 2012
Messages
266
I would be very grateful if somebody could make a herd system for me,
what it needs.(note this system should be in vJass or Jass, making this in Gui would be nightmarish)

it needs to allow me to create behaviors(actions) for different types of herds, while using the same framework for all of them
the herd should have a behavior list that it goes through, but it also needs
to be able to be interrupted by situational behaviors (ie herd is attacked, etc...) and then put back on track.
it needs to be able to automatically create creatures into each herd(based using another behavior)
 
Level 25
Joined
Jul 10, 2006
Messages
3,315
Okay so we need:
An indexed list of herds, each herd is a unit group that contains all the herd members.
Each herd type should be able a configurable behaviour profile.
Behaviours:
  • Graze - the herd "wanders" moving a short distance individually every X seconds; triggers when behaviour is called
  • Migrate - the herd moves to another point in the map a large distance; triggers when behaviour is called
  • Breed - the herd spawns a youngling, if conditions (1 male + 1 female) are met, and herd size does not exceed max size as configured; triggers when behaviour is called
  • Flee - the herd moves directly away from a threat; triggers when a member of the herd takes damage, or when an enemy unit comes near

Is that correct?

I know you specified that you don't want this in GUI, but I think I'm going to try and tackle this one anyway, it seems like a nice challenge :)

Then you can use it or not if it meets your expectations.
 
Level 7
Joined
Jan 28, 2012
Messages
266
Okay so we need:
An indexed list of herds, each herd is a unit group that contains all the herd members.
Each herd type should be able a configurable behaviour profile.
Behaviours:
  • Graze - the herd "wanders" moving a short distance individually every X seconds; triggers when behaviour is called
  • Migrate - the herd moves to another point in the map a large distance; triggers when behaviour is called
  • Breed - the herd spawns a youngling, if conditions (1 male + 1 female) are met, and herd size does not exceed max size as configured; triggers when behaviour is called
  • Flee - the herd moves directly away from a threat; triggers when a member of the herd takes damage, or when an enemy unit comes near

Is that correct?
basically but each herd needs to be able to have different amounts of behaviors(ie, one herd could have 5, one 2, etc) and the important thing is i want it possible for every herd to have different behaviors.
I know you specified that you don't want this in GUI, but I think I'm going to try and tackle this one anyway, it seems like a nice challenge :)

Then you can use it or not if it meets your expectations.

i have no problem with GUI, its just that I think it will be really hard to make it in GUI, so if you can i will be really impressed.

thanks for taking up my request.

Regards ~ Ender
 
Level 25
Joined
Jul 10, 2006
Messages
3,315
My plan is to save each herd type's behaviours into a string, which will also include how often each behaviour will trigger.

For example:
graze35breed15migrate30attack20
Which would set the herd to:
graze 35% of the time
breed 15% of the time
migrate 30% of the time
attack nearby units 20% of the time
(the % being a random generated number every X seconds)

The "breed" "graze" etc tokens for the string will all be shortened to 2 characters, so breed -> br, graze -> gz, migrate -> mg

I'll also make a "template" behaviour which will pass the herds location and id to a trigger which you can configure as you please.
 
Status
Not open for further replies.
Top