- Joined
- Jul 14, 2011
- Messages
- 3,213
I'd like to know what you think about this experience system for an RPG map.
Its very clear what it does. Gives experience depending on the Level relation between Killing Unit and Dying Unit. Any unit Over or Under 3 lvls of the Killing Unit will give 0 exp. (lvl 4 unit wont get experience from either lvl1, or lvl 7 units, having a range of 5 (2, 3, 4, 5, 6) creeps to kill.
Its very easy to set the relation between them. Just requires some tests to adjust the Experience gained with hero xp requirement to level up.
If Hero requirement for level starts in lvl 1=500 exp, and exp requirement increases by 700 per lvl (Set in Gameplay Constats) the hero is pushed to advance in the game to harder areas, and would need to kill like 6 more units per level to level up.
In level 2 he would have to kill (Units killed in Level 1 +6)
In level 49 he would have to kill (Units killed in lvl 48 + 6), etc.
I think RPGS like world of warcraft and else works in a similar way. Exp requirement increases exponetially, and killing stronger creeps still requires killing a bit more than previous levels.
If the balance between creeps dificulty, items, gameplay features, and else, is good, this system would work really well... However, i'm just posting to gather opinions and sugestions (Only things I would add is: Spread experience among heroes in area around the dying unit, and give exp accordingly to each of those hero's level. I don't know how to do that, I would really appreciate some support in this)
EDIT: Found a way to give exp to each player around dying unit, not depending on killing unit. Requires a bit of math, but works well: Picks every Hero unit around any dying unit, and gives Exp based on The Level Relation each picked unit has with the dying unit, and divides that amount by the number of Heroes in region around the Dying unit.
EXAMPLE: If three players (lvl 6, 7, and 8) are around a lvl 7 dying unit:
Lvl 6) Will take 7 (Creep level) * 11 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 25,6
Lvl 7) Will take 7 (Creep level) * 09 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 21
Lvl 8) Will take 7 (Creep level) * 06 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 14
I think that setting this trigger with variables to make it very easy to modify would be a great system.
-
Experience
-
Events
- Unit - A unit Dies
-
Conditions
- ((Killing unit) is A Hero) Equal to True
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Greater than or equal to ((Level of (Killing unit)) + 3)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 0) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) + 2)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 13) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) + 1)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 11) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) - 0)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 9) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) - 1)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 6) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) - 2)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 3) experience to (Killing unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Level of (Triggering unit)) Equal to ((Level of (Killing unit)) - 3)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x 0) experience to (Killing unit), Show level-up graphics
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Its very clear what it does. Gives experience depending on the Level relation between Killing Unit and Dying Unit. Any unit Over or Under 3 lvls of the Killing Unit will give 0 exp. (lvl 4 unit wont get experience from either lvl1, or lvl 7 units, having a range of 5 (2, 3, 4, 5, 6) creeps to kill.
Its very easy to set the relation between them. Just requires some tests to adjust the Experience gained with hero xp requirement to level up.
If Hero requirement for level starts in lvl 1=500 exp, and exp requirement increases by 700 per lvl (Set in Gameplay Constats) the hero is pushed to advance in the game to harder areas, and would need to kill like 6 more units per level to level up.
In level 2 he would have to kill (Units killed in Level 1 +6)
In level 49 he would have to kill (Units killed in lvl 48 + 6), etc.
I think RPGS like world of warcraft and else works in a similar way. Exp requirement increases exponetially, and killing stronger creeps still requires killing a bit more than previous levels.
If the balance between creeps dificulty, items, gameplay features, and else, is good, this system would work really well... However, i'm just posting to gather opinions and sugestions (Only things I would add is: Spread experience among heroes in area around the dying unit, and give exp accordingly to each of those hero's level. I don't know how to do that, I would really appreciate some support in this)
EDIT: Found a way to give exp to each player around dying unit, not depending on killing unit. Requires a bit of math, but works well: Picks every Hero unit around any dying unit, and gives Exp based on The Level Relation each picked unit has with the dying unit, and divides that amount by the number of Heroes in region around the Dying unit.
EXAMPLE: If three players (lvl 6, 7, and 8) are around a lvl 7 dying unit:
Lvl 6) Will take 7 (Creep level) * 11 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 25,6
Lvl 7) Will take 7 (Creep level) * 09 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 21
Lvl 8) Will take 7 (Creep level) * 06 (Exp Multiplier in relation with hero lvl) / 3 (Number of units in area) = 14
-
Experience
-
Events
- Unit - A unit Dies
- Conditions
-
Actions
-
Unit Group - Pick every unit in (Units in (Region centered at (Position of (Triggering unit)) with size (600.00, 600.00))) and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Greater than or equal to ((Level of (Picked unit)) + 3)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (0 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) + 2)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (13 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) + 1)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (11 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) - 0)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (9 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) - 1)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (6 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) - 2)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (3 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- ((Picked unit) is A Hero) Equal to True
- (Level of (Triggering unit)) Equal to ((Level of (Picked unit)) - 3)
-
Then - Actions
- Hero - Add ((Level of (Triggering unit)) x (0 / (Number of units in (Units within 700.00 of (Center of (Region centered at (Position of (Triggering unit)) with size (700.00, 700.00))) matching (((Matching unit) is A Hero) Equal to True))))) experience to (Picked unit), Show level-up graphics
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Unit Group - Pick every unit in (Units in (Region centered at (Position of (Triggering unit)) with size (600.00, 600.00))) and do (Actions)
-
Events
I think that setting this trigger with variables to make it very easy to modify would be a great system.
Last edited: