Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[EO 2.0] Algorithms


Conra
 Share

Recommended Posts

You can play around with everything using random function:

```
RAND(X, Y)
```
If you want to change exp algorithms you can play around with this:

```
GetPlayerNextLevel = (50 / 3) * ((GetPlayerLevel(index) + 1) ^ 3 - (6 * (GetPlayerLevel(index) + 1) ^ 2) + 17 * (GetPlayerLevel(index) + 1) - 12)
```
Link to comment
Share on other sites

@Quess:

> You can play around with everything using random function:
>
> ```
> RAND(X, Y)
> ```
> If you want to change exp algorithms you can play around with this:
>
> ```
> GetPlayerNextLevel = (50 / 3) * ((GetPlayerLevel(index) + 1) ^ 3 - (6 * (GetPlayerLevel(index) + 1) ^ 2) + 17 * (GetPlayerLevel(index) + 1) - 12)
> ```

Thank you for your suggestion. I am no big programmer so if you would please elaborate on your first suggestion I would greatly appreciate it.

Also, I do not want to "play around" much but rather try to get the most balanced and fair gameplay.

Regards,
  Dewald
Link to comment
Share on other sites

Hmm, let's play with resources' health for example.

Find:

```
ResourceCache(mapNum).ResourceData(i).cur_health = Resource(Resource_index).health
```
And replace with:

```
ResourceCache(mapNum).ResourceData(i).cur_health = RAND((Resource(Resource_index).health * 0.8), (Resource(Resource_index).health * 1.2))
```
PS: You can do the same with tools' damages.

It just allows you to break the monotony so that resources' health can be - + 20%.
Randomness function works like that:

```
RAND(minimum, maximum)
```
If you want to make the game more balanced just play with weapons/spells damages by adding randomness depending on player's intelligence, level, enemy's stats.
Link to comment
Share on other sites

@D.J.:

> The current algorithms for combat, leveling up, etc. feels rather unstable and unbalanced.
>
> Does anyone have possible suggestions for me on how I would correct this?
>
> Regards,
>   Dewald

They will only be balanced based on the stats you give every entity in your game, using an exponential sort of algorithm will keep things balanced throughout, but this formula will most likely be different for every game ever.
Link to comment
Share on other sites

Im not using combat in EO so i cant tell you how it currently works but in ES i had made a more advanced combat (i was tiried of my characters hitting the same damage #) which worked like such:
minimum damage = (strength / 2) + weapon damage  <–- melee character
minimum damage = (agility / 2) + weapon damage    <-- range character

So this way here, the minimum hit wont go up too fast since you barely increase it by raising str/agility (like in most games. but the weapon is the thing that influences the damage most which makes sense comparing to other games on the market like Diablo II.

As for maximum damage, early levels youll want low damage (but always above minimum) but later when your high level, you want to be able to sometimes land huge criticals as you get stronger.

What i think i did for maximum damage was first make sure i nvr hit lower that minimum damage by doing such:
maximum damage =  minimum damage + weapon damage.
This means that on your weapon you can write a range damage like ~2-4 damage. or ~20-40
I left it that way but if you wish to add stuff like this:
maximum damage = minimum damage + weapon damage + random numbers between 1 and dexterity

if your dexterity is 5 then the random number is from 1 to 5 which means youll hit like such:

Str: 10
Dex: 5
Weapon damage: 2
Minimum damage: 7
Maximum damage: 9 + (chance for bonus damage based on dexterity: 1 to 5 potentially extra damage)
So your probable damage is 7-10 but has a potential of 7-15.

As you can see the range is very small which is perfect for lower lvls with low stats. the more dexterity you have and the stronger the weapon, it will be increase the maximum damage much faster than the minimum damage which will leave you with damages like 50-235 for example.

Anyway thats just a long a$$ wall of txt for a possible edit on damage range if you feel it doesnt currently make sense.
Link to comment
Share on other sites

@Rose:

> They will only be balanced based on the stats you give every entity in your game, using an exponential sort of algorithm will keep things balanced throughout, but this formula will most likely be different for every game ever.

I was hoping it would not be like that. :S
@Greendude120:

> Im not using combat in EO so i cant tell you how it currently works but in ES i had made a more advanced combat (i was tiried of my characters hitting the same damage #) which worked like such:
> minimum damage = (strength / 2) + weapon damage  <–- melee character
> minimum damage = (agility / 2) + weapon damage    <-- range character
>
> So this way here, the minimum hit wont go up too fast since you barely increase it by raising str/agility (like in most games. but the weapon is the thing that influences the damage most which makes sense comparing to other games on the market like Diablo II.
>
> As for maximum damage, early levels youll want low damage (but always above minimum) but later when your high level, you want to be able to sometimes land huge criticals as you get stronger.
>
> What i think i did for maximum damage was first make sure i nvr hit lower that minimum damage by doing such:
> maximum damage =  minimum damage + weapon damage.
> This means that on your weapon you can write a range damage like ~2-4 damage. or ~20-40
> I left it that way but if you wish to add stuff like this:
> maximum damage = minimum damage + weapon damage + random numbers between 1 and dexterity
>
> if your dexterity is 5 then the random number is from 1 to 5 which means youll hit like such:
>
> Str: 10
> Dex: 5
> Weapon damage: 2
> Minimum damage: 7
> Maximum damage: 9 + (chance for bonus damage based on dexterity: 1 to 5 potentially extra damage)
> So your probable damage is 7-10 but has a potential of 7-15.
>
> As you can see the range is very small which is perfect for lower lvls with low stats. the more dexterity you have and the stronger the weapon, it will be increase the maximum damage much faster than the minimum damage which will leave you with damages like 50-235 for example.
>
> Anyway thats just a long a$$ wall of txt for a possible edit on damage range if you feel it doesnt currently make sense.

That was amazing. Thank you so much. I don't think I will add dexterity since that will make it unbalanced (eg. damages like 50 - 235). Thank you for taking the time to explain that to me thoroughly and give a great input.

@Axis:

> hey ask robin,rose or greendude

Rose and Greendude had already replied. And unless you are blind you should have seen that the answer was given to me just before you posted a useless comment.

Regards,
  Dewald
Link to comment
Share on other sites

Yeah no problem. Glad i helped. feel free to ask me for more ideas with algorithms i do have other useful ways of balancing stuff out, like block rate/defense (which by default in a vanilla EO2, is not the best way to handle that stuff)

Stats in EO are nice at low lvls but you realise that ur game's stats get out of hand very easily because formulas and stats are not considering crazy values.

Example in ES you use to be able to increase your critical hit % by slowly increasing your strength. The thing is tho, you could reach 99% critical per hit which would land criticals non stop. That kind of stuff was horrible. Especially in PVP where block rate was horrible. A tough boss could deal you some good damage but a player in an arena that is your similar level and strength would constantly miss you.

Anyway i got to learn to stop making walls of text haha
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...