26

Re: Experience Points

That has flaws too... for example, if I see a party struggling with a monster and they've gotten the effective max hp very high, it would be in my best interest to kill the party, walk away, then come back and kill it once his queue has reset.

27

Re: Experience Points

I don't know if I agree 100% with any of the systems, although I have to admit that I would have never thought of some of them (i.e. setting up attacks as a list with queues).  If I was making an attack system I would make it sort of a sliding tug of war thing.  I may be oversimplifying things and/or touching on ground already covered in these posts (long posts on small monitors tend to start fading into a series of blah blahs... when I read them)

But dig this little scenerio where a player attacks a monster with the ultimate goal obviously being taking the monster down to 0% health.

Monster (100%)  ---  Player 1 (0%)
10/10 hp            ---  Player 2 (0%)

after attack (let's pretend each attack does 1 dmg)

Monster (80%) - Player 1 (10%)
8/10hp             -Player 2 (10%)

monster heals 1 pt health

Monster (90%) - Player 1 (5%)
9/10hp            -Player 2 (5%)

now say another player comes in for the attack and all three attack.

Monster (60%)  -Player 1 (15%)
6/10                 -Player 2 (15%)
                        -Player 3 (10%)

Now say player 1 dies but other two get hits

Monster (40%)  - Player 1 (15%)
4/10                 - Player 2 (25%)
                        -Player 3 (20%)

And so on and so forth until the monster is at 0%, in which case the players get their respective percentages of the total exp the monster has.

As a monster heals, the percentages slide from players equally until the monster has 100% of it's health again and the player has 0% in which point the link is broken between the player and the monster. 

Again, I feel like I might be oversimplifying this, but please feel free to shoot down any flaws in this system. wink

28

Re: Experience Points

"One issue is that we appear to be taking equally, percentage-wise, from each player, which would unnecessarily disadvantage weaker players who made smaller, but ultimately just as valuable, contributions"

I actually never thought of it that way. 

I came from it in the mindframe of:
a. keeping a constant distance between different player levels as far as killing monsters(i.e. the whole if you spend the time leveling, you naturally deserve to have better monsters than a player who doesn't logic) and
b.  watching out for the problem with players, as spectre referred to it, nipping monsters out of their range for exp.

Also, how would you guys tie in other party roles' exp into this? I say a total revamp of the party system is in order.  This would present interesting variables in all our little exerience point ideas.  There's definately a lot of possible directions to go in this...

29

Re: Experience Points

Parties... Tricky thing about parties is that, as zammbi mentioned earlier in this thread, the levelling system's experience requirements are nonlinear. So it may not be wise to distribute experience equally for folks in a party, and it'd have to tie in somehow to a party's total contribution, but how to distribute within the party...

30

Re: Experience Points

Hm I was thinking about parties, like a simple system that xp is mostly shared by the amount of damage, then that could be unfair to mages and healers. Say like a warrior was doing all the damage then a healer was healing the warrior through out the death of the monster, and a mage was cursing the monster(weaking it) and giving the warrior bonuses to attack and damage or so. Say the warrior couldn't kill the monster on its own without the help by the healer and the mage, should the warrior get most of the xp?... No, therefore parties need special cases like these.
Healing could work like damaging xp, so simply...

Player A does all the damage
Player B heals 50% of Player A health

Then Player A should get 75% of the Xp while Player B gets 25%

Cursing could work like...

Player A does all the damage
Player B curses the monster till its dead (100% more damage per hit)

Both players should get 50% of the Xp, since the monster was able to be killed in half the time.

Of course these special cases would complicate things a lot.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

31

Re: Experience Points

Well my party system doesn't have to that complex. When a Healer is partied with a warrior, then he gets the % of xp the warrior gets by the % he healed the warrior. Not that hard. Shield spells could work the same way. A mage casting shield on a warrior then he gets a % of xp that the warrior gets by the % of damage blocked. Damage increase spells could act similar to normal hitting, so the % of increase damage of the damage done to the monster is what xp the mage gets. Cursing spells can act just like damage increase spells but just casted on the monster instead.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

32

Re: Experience Points

Whats wrong with that? He would be away from the battle so then he shouldn't be getting xp. Otherwise you get what you have this client a mage hiding behind a wall away from the battle not risking to die, but getting the same amount of xp. He should be in the battle helping out and risking his life too. And waiting for mana refill is fine too, because then the warrior would have to wait for his hp to refill too.
Anyway this was just a different system, otherwise I like what spec said and get the amount of xp compared to your lvl.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

33

Re: Experience Points

Like? I don't see anything else they can help out in a battle, they could be mining in the corner but that has nothing to do with the battle. Healing, spells, damage is all I can think of to kill a monster. I see this system still fair in my eyes.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

34

Re: Experience Points

Well my system could add extra calculations too if you want people outside the battle to get xp too, but really If they away from the battle then they should get no xp. Magic auras would be still on when they enter the battle so that mage would still get the xp for that.

But if the system xp is calculated based on lvl is used then a formula like this could be used:

Monster Xp is 100
Player 1 is lvl 150
Player 2 is lvl 50
Then Player 2 should get 1/4(25) xp while player 2 gets 3/4 (75)xp. But this might not be enough difference since xp is non linear.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

35

Re: Experience Points

It's entirely fair for the computer to decide worth in battle. That's the whole point of any experience system. Also, don't worry about efficiency for experience - there are many hugely inefficient parts of my code, and that one will never even show up on the map. It will occur at most a few hundred times per second.

One issue I have with determining 'merit' based on shield, etc. is what do you do about, say, petrify spells? A mage doesn't have to run away, and then you have to factor in the speed at which they are running, etc., whereas a warrior doesn't need to run away and it's just the missing damage, which is not a function of player and monster speed.. Honestly for design tools it would be valuable to be able to quantify the effect of speed and what have you, but I'm not sure of an appropriate way to do it. While due to all the difficulties I don't think I like having merit based on hundreds of factors determining experience points (because of the enormous uncertainty -- if you can think of a way to resolve it, though, I'm all ears), it *does* have value in say, a tool that goes in the monster editor which could estimate an appropriate experience given who will be fighting said monster. That would eliminate a lot of the guesswork.

Experience and monster levels would only work if we could guarantee a certain difficulty for the level. One option would be to use the creature's stats to calculate what an equivalent player would be at, but that still wouldn't take into account resistances, equipment, etc. which make a big difference for players. It'd be useful to be able to quantify that.

Also, Visualcode something on code style, in C++ float has a constructor. To cast you can go /float(100). It's safe. float() constructs zero, which leads to the odd primitive-only issue

int a; // undefined
int a(); // zero

Nevertheless I'd really recommend primitive constructors instead of static_casts. Also that should be /float(LevelRange). smile

36 (edited by Zammbi 2007-02-17 17:58:34)

Re: Experience Points

I really think it would boast party lvling, high lvls wouldn't mind have lower lvls in the party, because if they do nothing then they get no xp. People would have to 'work' for there xp. Maybe we could use a easy system for more complicated spells, a spell could hold a % value which when casted on a monster or person they would get that % of xp for X amount of time when that monster dies or that player kills a monster.
Or say if a player stuns (it could be done like heal) for 1 sec and the monster attacks once per sec then It could be like blocking its damage or healing the warrior. So if the monster attacks for 50, its like blocking 50 damage.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

37

Re: Experience Points

I'm quite aware, and it's not bad style, because that's not a C style cast.

This is a C style cast.
(float)100

This is a C++ primitive constructor. I imagine it fails quite swimmingly on void*.
float(100)

All compilers will support float a(). You use it in templates, because otherwise there'd be no practical way to initialize arrays to their default values and still support both primitive and non-primitive types. I don't mention it suggesting its use outside of templates. What makes it interesting is that unlike non-primitive types, type a(); differs from type a;.

I'm pretty sure what Zammbi is suggesting is for normal experience distribution not parties.
In a normal situation people absolutely should be sharing based on what they do. Higher level players wouldn't need to let lower levels into their party, the lower level could just walk over and help them. I'd really like a scheme of that sort. It'd encourage unprompted charity, admittedly for gain so it's really not charity, but that would encourage a more pleasant atmosphere if we could do it. As it stands nonpartied healers get no experience at all, so anything's an improvement as long as it can't be exploited.

As for restricting levels, I despise games that railroad players without any freedom, and I don't intend to write one. But fairly loose restrictions that improve balance and gameplay, those is ok. It's a fine line.

Zammbi: What if the monster is chasing someone? Perhaps we could call it 'if they were able to attack in that second in the first place'. But the real trick is making the system sufficiently generic that it doesn't restrict the types of spells we can make.

38 (edited by Zammbi 2007-02-17 21:33:29)

Re: Experience Points

I agree with zer, I don't the idea of restrictions. But if its like what I explained on the other page where  each new lvl your xp need for the next lvl increases heaps. Then people wont want to fight the lower monsters for lvling because it would take forever.
If the player A was being chanced and the player B stuns the monster, if player A keeps running then player B gets no xp for casting it, but if player A then attacks it in that sec. Then Player B would of saved Player A 1 second worth of damaged from the monster. This can work for most spells, the mage only gets xp when the monster gets damaged.

Visualcode this system can be better for healers as when a healer heals the more then 100% of its life then the healer would get most of the xp.
If he only heals only 10% heath why should he get half the xp when hes doing mostly nothing?
Anyway a mage would heal and also do damage to the monster so he could get a good amount of xp if just healing isn't enough.

Its usually people don't let other people join parties because they will get most of the xp for doing nothing. And people would want to join parties to help each other out because xp would be shared fairly. I say this would increase parties.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.

39

Re: Experience Points

1.  Is it possible to do this upon partying ( I am not a master coder, I haven't done any for years, so my pseudo coding is lacking too):
Check for "entity a"
"entity a" exists"
Check for "entity b"
"entity b" doesn't exist
add charactera to "entity b Char"
add characteraLVL to "entity b TotalLVL"
add 1 to "entity b count"
"entity b LVL" = "entity b TotalLVL" / "entity b count"


Then you could get an average lvl for the group and implement that with Visual's idea of % of exp if CreatureA produces x% to an "entity" at lvl 50 and (x+1)% to someone lvl 49.  And then you could have a dungeon "suggested" for characters around lvl 40 to 50.  This way characters could get a % boost or drop in exp for going to "suggested" dungeons.

2.  I think a perfect dispurtion of xp based on number of characters in a party will promote power leveling.  Maybe somehow using a method that could compare a characters lvl to the groups average lvl (mentioned above) to districute percentages on lvl instead of "what you have done".  I agree with Visual on this.  Lets say Berserker can NOT kill a blue dragon by his self even with food and potions, and Mage can NOT kill a blue dragon his self even with summons.  So, if by Mage healing Berserker once or slowing the blue dragon once, or doing anything once allows the two of them to kill a blue dragon together, why wouldn't they split the experience evenly?

Lets even go to extremes with this.  Berserker can't kill a tiger by his self.  Mage can't kill a wolf by himself.  I think the same situation above should still apply.  Without Mage, Berserker wouldn't even be at a tiger spawn.  Mage's roll is just as IMPORTANT as Berserker's.  I think experience should be based more on the idea of IMPORTANCE and not the amount of actions you do in battle.

3.  Stemming off of IMPORTANCE.  As Visual was saying with his idea of FIFO of experience, I think this plays very well with IMPORTANCE of the persons attacks.  The longer a monster is a live the less IMPORTANT the attacks of the first person are.  The most recent attacks are the most important.  I don't think the amount of damage a person does compared to another person per hit on a monster should be held in as high of a regard as Zer, and Zammbi are putting it.  Even though I may only be able to do 10hp of damage and you do 50hp of damage, I am doing just as much work and as important of work as you because I am keeping it from regenerating.  So if you attack a monster and get down to whatever health and you die and I walk up and start attacking it and take it down to only a couple more points and die then you come up and finish it off I feel that my part was just as important as yours, because I kept the HP to a manageable amount for you to handle when you got back.  I may not be in your group or even know you are fighting it still, but I should get rewarded accordingly.  As for waiting for a monster to heal to get more exp, I think that is stupid.  It SHOULD be faster to kill the monster and let it respawn.

These are just a few ideas I threw around in my head while I was reading ALL of the posts on this topic.  What do you guys think?

40

Re: Experience Points

Ok well my system was only going to for special cases for parties. As visual was saying there can be problems of people helping out to steal xp, but thinking about it not sure if this would be really a problem. Because with the new AI hopefully monsters will target everyone to help kill it, so if they help they risk dieing too. So it could be used for both?

And there will be a split if they do a equal job. And the mages roll is the same importantace for healing if the warrior needs it. Or even more important if he does a lot of healing. But mages can do more then heal anyway if the warrior doesn't need healing like using attack spells.

I keep my ideals, because in spite of everything, I still believe that people are really good at heart.