Level Tree

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
In my working with all the RPG Makers, I usually end up running into one problem.

Balancing level up and experience gain, and subsiquently, status up.

My first real scrip I wrote for VX was for adjusting the experience tree. The built in tree was too quick for me, even on the max settings. Then I looked back on my P&P (Pen and Paper) games and remember how long it often took to level up in some cases. So I set out to change the experience tree.

VX Experience tree

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = actor.exp_basis

n = 0.75 + actor.exp_inflation / 200.0;

for i in 2..99

@exp_list = @exp_list[i-1] + Integer(m)

m *= 1 + n;

n *= 0.9;

end

end
My first few tests was to play with 'm' and 'n' using variation of 100 and 10 without the additional math problems and found. Looking back in RPG Maker, I then set m and n to equal exp inflation.

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = actor.exp_inflation

n = actor.exp_inflation;

for i in 2..99

@exp_list = @exp_list[i-1] + Integer(m)

m *= n;

n *= actor.exp_inflation;

end

end
this made it customisable in the maker, and crazy exponential, but I liked it, Still, inflation didn't go high enough. I needed something I can change easily. I needed to make a variable the game could read. I created "module Knoqledge"

module Knowledge

$knowledge = #

end

class Game_Actor

def knowledge

return $knowledge

end

end

class Game_Actor < Game_Battler

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = knowledge

n = knowledge;

for i in 2..99

@exp_list = @exp_list[i-1] + Integer(m)

m *= n * i; #n still equal knowledge

end

end

end
This was getting numbers I liked. 100 for level 2. 200 more for level 3 (300 total). But got a little too high for my taste after that.

It needed slowing. i also wanted to be able to change the curve at certain points. I had already decided I was capping leveling.

module Knowledge

$knowledge = #

end

class Game_Actor

def knowledge

return $knowledge

end

end

class Game_Actor < Game_Battler

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = knowledge;

for i in 2..5

@exp_list = @exp_list[i-1] + Integer(m)

m = knowledge * i

end

for i in 6..99

@exp_list = @exp_list[i-1] + Integer(m)

m += m

end

end
Now for the labor testing. i needed to know what EXP was needed for level 10. After writing an event that levels me up I found and needed to cap it.

In the end, the script looked something like this.

module Knowledge

$knowledge = #

end

class Game_Actor

def knowledge

return $knowledge

end

end

class Game_Actor < Game_Battler

def change_level(level, show)

level = [[level, 10].min, 1].max

change_exp(@exp_list[level], show)

end

def change_exp(exp, show)

last_level = @level

last_skills = skills

@exp = [[exp, ######].min, 0].max

while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0

level_up

end

while @exp < @exp_list[@level]

level_down

end

@hp = [@hp, maxhp].min

@mp = [@mp, maxmp].min

if show and @level > last_level

display_level_up(skills - last_skills)

end

end

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = knowledge;

for i in 2..5

@exp_list = @exp_list[i-1] + Integer(m)

m = knowledge * i

end

for i in 6..99

@exp_list = @exp_list[i-1] + Integer(m)

m += m

end

end
##### was the experience reached at level 10. No mater what happened, my exp could not exceed that number. For added insurance, I think it capped level 10 anyways. You could also change the last part to the following I think too, but untested...

#--------------------------------------------------------------------------

# * Calculate Experience

#--------------------------------------------------------------------------

def make_exp_list

@exp_list[1] = @exp_list[100] = 0

m = knowledge;

for i in 2..5

@exp_list = @exp_list[i-1] + Integer(m)

m = knowledge * i

end

for i in 6..9

@exp_list = @exp_list[i-1] + Integer(m)

m += m

end

if i in 10..99

@exp_list = @exp_list[i-1] + Integer(m)

m = 0

end
I know it looks crazy, and probably is, but if you don't NEED a lot of levels, it might be an option to consider.

What do you think of the leveling system as is (unscripted)? What would you think would be better?
 
Last edited by a moderator:

Reynard Frost

Designer
Member
Joined
Mar 13, 2012
Messages
1,247
Reaction score
167
First Language
English
Primarily Uses
I'm a fan of the classic jRPG formula where you go from 1-99. My only qualm with RPG Maker's default stats is that damage goes into high numbers too quickly. (VX/XP had you doing 100s of damage right off the bat). I prefer doing damage like 5, 8, or 15 at lower levels. I'll need to tweak the values and possibly the damage formula eventually, but I'll save that for near the end when I'm doing balancing/testing.
 

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
I'm a fan of the classic jRPG formula where you go from 1-99. My only qualm with RPG Maker's default stats is that damage goes into high numbers too quickly. (VX/XP had you doing 100s of damage right off the bat). I prefer doing damage like 5, 8, or 15 at lower levels. I'll need to tweak the values and possibly the damage formula eventually, but I'll save that for near the end when I'm doing balancing/testing.
That I have. I redid my battle system to dice rolls. When I clean it up I can post it. Want to see if it's ACE compatable. Also, though time consuming, you can manually set the stat for each level manually... at least in VX.
 
Last edited by a moderator:

Reynard Frost

Designer
Member
Joined
Mar 13, 2012
Messages
1,247
Reaction score
167
First Language
English
Primarily Uses
That I have. I redid my battle system to dice rolls. When I clean it up I can post it. Want to see if it's ACE compatable.
Well, I'm looking for more of a formula that is similar to Breath of Fire or Final Fantasy. I eventually want damage totals that reach the 100s or 1000s, but not until you're a high level. Not sure if a dice formula would reach that amount. Unless you did like 500d20 -1 Hahaha.
 
Last edited by a moderator:

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
I'll message you. I can write new equations.
 

Rion Requiel

Twilight Requiem Productions
Veteran
Joined
Mar 13, 2012
Messages
221
Reaction score
21
First Language
English
Primarily Uses
RMMV
I just hope i can find a way to work around the Level Maximum, I want to be able to create a long running game, with plenty of skills, Side quests and actual Storyline so a level 500 Maximum would be pretty cool XD
 

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
The problem there is exp is capped. You'd have to make exp gain very very low. You probably could increase it beyond those maximums, but not sure how the maker will handle it visually.
 

Hesufo

Homu!
Veteran
Joined
Mar 14, 2012
Messages
446
Reaction score
36
First Language
Spanish
Primarily Uses
I haven't ever been good with maths, so I just changed the whole experience curve to a custom one where I manually input the EXP needed for each Level. I only have to do it once, so it won't really hurt much.

I have never liked the unscripted Experience curves from any of the RPG Makers. It is always possible for Leveling up to get out of control and I'd rather keep characters from gaining too much Experience before advancing through certain areas, so I create large gaps here and there every few levels, and make somewhat steep increases in EXP gain as you advance through the game.
 

Fomar0153

Arkz
Restaff
Joined
Mar 13, 2012
Messages
1,327
Reaction score
473
First Language
English
Primarily Uses
RMMZ
I just hope i can find a way to work around the Level Maximum, I want to be able to create a long running game, with plenty of skills, Side quests and actual Storyline so a level 500 Maximum would be pretty cool XD
http://cobbtocs.co.uk/wp/?p=192

Let's you set the max level higher. It doesn't have skill support for learning skills at a higher level, if you need that feature I can add it.

I'm not aware off hand about a max experience limit.
 

deilin

Ranger/Elementalist
Veteran
Joined
Mar 13, 2012
Messages
1,188
Reaction score
172
First Language
English
I already rigged the exp tree for my ace game. Much simpler once I followed the curved path of ques, and then backtracked because I went too far.
 

lohenien

Veteran
Veteran
Joined
Mar 15, 2012
Messages
153
Reaction score
8
First Language
english
What if I want a simple xp curve up to say 5 million at level 99.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:
To whom ever person or persons who re-did the DS/DS+ asset packs for MV (as in, they are all 48x48, and not just x2 the pixel scale) .... THANK-YOU!!!!!!!!! XwwwwX

Forum statistics

Threads
105,853
Messages
1,016,990
Members
137,562
Latest member
tamedeathman
Top