- Joined
- Jul 10, 2007
- Messages
- 6,306
request canceled
If someone can pull off an excellent morale system that is able to run 600+ units smoothly, I'd be willing to pay them $200.
I've really wanted a Morale system for a long time and I've never been able to pull it off :\. When I've taken the integrals of the iterations required, it's always just blown me away >.<.
Morale values for units should be able to be set by specific unit, unit type, or unit type of player. When they are with other units, the morale value increases based on the other unit bonus morale values (what they give off). This increase is based on the distance between the two units (greater distance means less effect).
Morale values should have these properties (unit specific, unit type specific, unit type player specific)
morale degradation over distance for allies
morale degradation over distance for enemies
morale bonus to allies
morale bonus to enemies
The actual morale value of a given unit should be relative to the enemy units surrounding it. If it is completely by itself, it should have a morale value of 100 (not enemy units). If it is by an enemy unit, that morale should go down depending on the bonus the enemy gives off and the bonus the unit itself gives off. For example, if the unit had 600 morale bonus and it was facing a little rabbit that gave off 1 to enemies and 3 to itself, that unit would have 100 morale still and the rabbit would have 0 morale (run away).
The equations should produce desired and realistic results.
Don't handle cases where the unit has nowhere to run and fights with everything they have. Leave this up to the map maker to do (for example, they might want to have a Charge ability or something).
There should be a morale settings function that changes a unit's bonuses based on the morale they have. This should be called whenever the unit's morale is changed that way bonuses can be applied.
The system must be able to run smoothly with 600 units across the map with room for other systems to run without blowing the map up.
My previous designs called for maintaining a balanced Kd-Tree, but the iterations required to do that are just immense.
Trying to do this simply by using things like groups or group enumerations will not work. If you do that, wc3 will die with hardly any units. You must try to think of the absolute most optimal way to do this, otherwise you won't hit that 600 mark.
This does require a lot of programming experience and creativity. Simple things like linked lists will not work.
I've again been trying to do this for a very long time and I've yet to succeed : (.
You will only get the $200 if it meets the feature requirements and the running speed requirements.
The first person to successfully complete this request will get the $200.
I may cancel this request if warcraft 3 dies as there would no point in having the resource then. Even if I move on from Warcraft 3 and Warcraft 3 is still going pretty strong, I'll still pay for the benefit of others =).
Also, be sure to make the code very readable (comments, documentation with method headers etc) so that I can possibly disseminate it later and move it to another language/game whenever =).
Must have PayPal to get the money.
If someone can pull off an excellent morale system that is able to run 600+ units smoothly, I'd be willing to pay them $200.
I've really wanted a Morale system for a long time and I've never been able to pull it off :\. When I've taken the integrals of the iterations required, it's always just blown me away >.<.
Morale values for units should be able to be set by specific unit, unit type, or unit type of player. When they are with other units, the morale value increases based on the other unit bonus morale values (what they give off). This increase is based on the distance between the two units (greater distance means less effect).
Morale values should have these properties (unit specific, unit type specific, unit type player specific)
morale degradation over distance for allies
morale degradation over distance for enemies
morale bonus to allies
morale bonus to enemies
The actual morale value of a given unit should be relative to the enemy units surrounding it. If it is completely by itself, it should have a morale value of 100 (not enemy units). If it is by an enemy unit, that morale should go down depending on the bonus the enemy gives off and the bonus the unit itself gives off. For example, if the unit had 600 morale bonus and it was facing a little rabbit that gave off 1 to enemies and 3 to itself, that unit would have 100 morale still and the rabbit would have 0 morale (run away).
The equations should produce desired and realistic results.
Don't handle cases where the unit has nowhere to run and fights with everything they have. Leave this up to the map maker to do (for example, they might want to have a Charge ability or something).
There should be a morale settings function that changes a unit's bonuses based on the morale they have. This should be called whenever the unit's morale is changed that way bonuses can be applied.
The system must be able to run smoothly with 600 units across the map with room for other systems to run without blowing the map up.
My previous designs called for maintaining a balanced Kd-Tree, but the iterations required to do that are just immense.
Trying to do this simply by using things like groups or group enumerations will not work. If you do that, wc3 will die with hardly any units. You must try to think of the absolute most optimal way to do this, otherwise you won't hit that 600 mark.
This does require a lot of programming experience and creativity. Simple things like linked lists will not work.
I've again been trying to do this for a very long time and I've yet to succeed : (.
You will only get the $200 if it meets the feature requirements and the running speed requirements.
The first person to successfully complete this request will get the $200.
I may cancel this request if warcraft 3 dies as there would no point in having the resource then. Even if I move on from Warcraft 3 and Warcraft 3 is still going pretty strong, I'll still pay for the benefit of others =).
Also, be sure to make the code very readable (comments, documentation with method headers etc) so that I can possibly disseminate it later and move it to another language/game whenever =).
Must have PayPal to get the money.
Last edited: