My personal opinion:
----------------------------------------
Chapter 1: What is XP ?
----------------------------------------
XP. What is XP exactly ? It is system in which player is rewarded with "experience" for doing something. From killing monster to repair well in village.
For a shit ton of time it was used to give player sense of progress and it was created as continuation of points in games which were almost in every game in early days. Its concept evolved into pure points needed to next level as level stands for actual progress of your character. So XP are just basically points which you earn to get to next level of character progress. You kill monster, you get points. Get enough points, something awesome happens.
It is simple, easy to understand model that gives player sense of character evolution. By getting XP your character grows and your character "grows" on you. The more experience you get means that you as player has to decide what to do next with its development as you are given tools to customize your character more.
It works well. But there are two major flaws.
----------------------------------------------------------
Chapter 2: Problems of XP design
----------------------------------------------------------
- First, XP as XP is single variable stat that governs everything. It is basically pot in which you put all your character quests and his deeds. 500XP for killing monster = 500XP for repairing well. As you get level, XP becomes currency in visible or not visible way. Then there is progression part.Why someone who kills people is now gaining repair skill ? Or someone who kills people with wrench is gaining heavy weapons skill. XP as one pot throws any realism out of window.
- Secondly gaining XP is entirely based on what designer think is worth XP. As braindead Volourn summed it, it creates events in which player is awarded XP entirely based on designer whim. Killing two cats in quests = 200xp out of quests 20xp or 0 in case of no xp for killing. This also is visible in XP for talking as many optional talk is rewarded or you need to choose between killing enemies = more xp but talking is faster but less xp.
Naturally we don't live in perfect world in which every game dev has infinite amount of people doing work and creating specialized events for every player choice he make, which means sacrifices, which means that those problems are not due to XP system being flaw but realism of game development.
Still it is a problem which not only creates problem on basic level (like choosing how much XP is worth this or that) but also creates situation in which player instead of focusing on events or choices he make, he fallows XP. Thus after rescuing Orc lord from raping elves people kill Orc lord for additional XP. Or i choose A route because A route means more XP for me.
------------------------------------------------
Chapter 3: Kill or not to kill
------------------------------------------------
Situation above can be solved with lack of XP for killing. With this, you won't need to kill Orc lord because it will give you nothing in return. Grinding also becomes useless, as it will give you nothing in return. So from XP for kill and no XP for kill, first one is obvious choice from solving design problem standpoint.
But at the same time it empowers "
Second" mentioned by me problem of XP system. So now XP is not only looking bad as it is used as single currency but it is also completely dependent on what developer thinks is worth XP. That is bad. It forces designer to put more grunt work into balancing, quest design completely due to lack of any systemic approach to current XP standards. Which leads us to:
No XP for monster kill means designer don't need to create geometric progression ! Geometric progression design for player XP table is design AGAINST GRINDING and powergaming due to grinding effect of killing for XP. No XP for killing = no grinding = this design doesn't need to be implemented.
So now designer instead of 10 - 200 - 3000 - 10000 - 400000 xp progression table can essentially make for example 10 - 10 - 10 - 10 - 10 - 10 table and so on. Which means that developer won't need to think is some abstract way how much in XP is worth such quest and why saving farmer girl on lvl 1 gives 100xp where on lvl 20 it gives 2 000 000xp. Instead developer needs to just asset "importance" in short scale of 1-3 where 1 is mundane task and 3 is where you did something awesome. Get 10 points and you have next level.
What is more important it "fits" into actual realistic progression of character and skills of character, "progression" in natural sense is
SUM of all things along journey where each part is equally important to character. It gives "importance" to low level quests. It kills quest grinding (skipping low level content to get fast to high exp quests) and since this require little to no adjustment it gives designer much more free space to be creative with it and because i used 10 it can be also 5 or 15 which due to linear skill progression would create longer, slow burner progression system or fast one without mundane fiddling with game system. So if your game is 100 hours long take 15. If your game is 20 hours long take 5. In the end you won't need to adjust game anymore than that.
So we fixed one problem. artificiality of XP reward and systematization of its achievement.
There is still first problem
---------------------------------------------------------
Chapter 4: Answer for a problem
---------------------------------------------------------
First problem as i mentioned is that XP is universal currency. Fixing soldier leg with medkit = 200xp, killing soldier = 200 xp, selling him for organs = 200 xp, selling him to slavers 200xp. All of those choices are entirely different for me as player but reward is essentially the same. And after i killed him i will now use those 200XP to learn reading skill. Because reading is connected to killing.
As you see XP in itself as unified currency is flawed. It creates disproportion of how you grow your character with his actions. The better designer is the less effect of it you see. But problem exists.
Creating instead of XP a multicurrency that will be given depending on your actions and it fits bloody well with what i said in chapter 3. Solve quest by talking ? Get personality point. Solved it by killing ? Get warrior point. Generality of this system could be as deep as you want down to every skill. Like for example repairing well = repair point. By deepening this system you can even skip it being currency and just add those points into actual skills. If you use broad points like fighter point you can use it as currency to spend on skills that are chosen to be warrior skills. Point is that this system gives answers for your actions.
-------------------------------
Chapter 5: Tuning
------------------------------
As you read it you may notice that this system is not perfect. No system is. For party based game especially.
This is where tuning and creative approach comes.
For party based game designer simply need to evaluate player characters focus. One dude is healing constantly rest of team ? He gets medic point after quest ends, other one cast non stop fire spells ? then he gets fire wizard point. You spend with one character uncovering fog of war and scouting then he will get scout point.
This also leads us to more creative approach to getting those points. For example warrior in all speech team would hardly progress so for example when you rest you have option to make your warrior "train" train action would be for example effective if you didn't have a chance to get any point.
In city there could be fighting arena in which your one dude could take part and grow his abilities. Or trainer for money earned by your charisma guys selling stuff.
Or you want to to create healer from one dude (in case of serious fight) but your party is so best that you don't need to heal anyone. Trainers, one man quests (like taking part in operation) or during quest fixing someone in barracks.
Remember. Since there is no grinding and there is finite amount of things you can do or quests there is no situation in which player would have option to powergame that system. There is also no situation in which player can basically cheat. No dual classing and then taking 9 levels after 1 quest since "XP" progression is flat.
If we go that way in therms of creativity we could add other things like for example skills/quests/abilities/perks aquired via quests, events or simply by doing something a long as time like RPing archer which hates elves so that your character after hunting ton of elves makes killing them his specialty along with recipe for elf hearth soup.
fake edit:
Holy shit that is long post.