I am in the process of designing a multiplayer, top-down (2D), match-making mecha game. The technology that will be used is HTML5 canvas on the client side, node.js on the server side and socket.io for communication over TCP (although I will probably switch to UDP, as it is more common for multiplayer games).

I am not a designer, but a programmer, and this will be a relatively small game made just by me (although I might get other people to draw some sprites for me later).

I'm still designing the game (trying to, at least), and I'm stuck on a progression system. By "progression system", I mean things like levels, experience, achievements, ranks, and that sort of thing. I've already decided that I will implement achievements in the game, but I'm not sure about the rest.

Here are several models:

A.

Money is awarded for kills

XP is awarded at the end of the match

People buy upgrades and new weapons with money, and each level they get a "skill point" which they can spend on a small boost (+10% speed, for example)

B. The same as A, but XP is awarded for kills, and money is awarded at the end.C. No money or XP, kills give you honor, and the only means of progression are ranks. All weapons are free at the start of the match.D. Only money, no skill points. You have to buy weapons and upgrades.E. Only XP, everyone is free to chose the weapons (as in C), they upgrade through skill points.

I'm simply clueless as to which one is the best and why! I really don't want to separate the new players from the older ones, and things like levels and new weapons that are unlocked would do just that (especially if I have a small player base)! But then again, if I were to remove them, there would be no progress in the game, and it feels like the weapons would lose their value (not to mention the amount of balancing I would need to do to make all the weapons equal).

Could you help me decide about the best progression system? I'm completely willing to change the current ones. I remembered Quake Live and Q3A while writing this, and it seems like they had a solution to this: the players don't progress at all, but they find weapons on the maps. I doubt that going in this direction would do me any good, though, because I think that I will not be able to make such big maps. It's a 2D top-down game, so space if kinda limited (not technically, but having big enough maps to hide weapons all over could probably mean that players would never find each other).

(not to mention the amount of balancing I would need to do to make all the weapons equal).

With regard a balancing issue - I would suggest you balance your game based on the maxed out potentials of your mechas and then give consideration to what how many levels and effect are required for each aspect to reach that potential. You will always have some lack of balance in a game where different players have different levels of progression - it is somewhat unavoidable for the most part - though systems such as gear level matchups for games could be used to try and minimise said issue but as you mentioned this would not be necessarily a viable fix with small player pools.

I'm simply clueless as to which one is the best and why! I really don't want to separate the new players from the older ones, and things like levels and new weapons that are unlocked would do just that

As a suggestion you might give consideration to rewarding money/xp via the following conditions:

successful hit but no damage

Successful hit with damage

Successful kill

Win

Possible capture flag scenarios etc

By ensuring a person with a starter mech still has the ability to earn xp/money even if not successfully killing an enemy you provide some progression to the player thus allaying their individual concern at not achieving anything. As their mech gets upgraded then obviously their xp/money would increase but this you could counter by increasing costs for higher level upgrades. You might also give consideration to research bonuses/unlocks through salvaging of enemies you have defeated that possess a superior tech - this could also be applied in an approach of damage received - i.e. an attempted reverse engineering by extrapolating what did the damage to you and how.

You might also wish to look into the "World of Tanks" mmo for some insight as the way they manage upgrades, xp etc given a cursory similarity in your idea with theirs.

Hmm, to me it would make sense if XP was awarded on a skill basis, e.g. achieving a good hit, or a kill, or a kill in a special way. XP could be scaled by the relative XPs/ranks/whatever of the opponents, so high level guys get little/nothing for beating on little guys. XP could be used to unlock weapons, and money used to buy them, e.g. nobody would sell a n00b the best weapon. And money... I guess for the win/ranking at the end of the match.

As usual in many games you could make it that you need higher amounts of XP to achieve each unlock, so the later levels get quite hard. Also you could make it that simple actions like hitting the opponent only give XP when you're at a low level, or a very low ranking compared to your opponent.

An idea I've been playing with (also thinking of a mecha game), how about you level up based on "skill". What I mean is you get money and XP based on the number of enemies killed and lack of damage you received. Even how fast you cleared a level. You can upgrade your mech by scavenging parts from defeated mechs.

External Articulation of Concepts Materializes Innate Knowledge of One's Craft and Science
Beginner in Game Development? Read here.Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts

Spoiler

How on earth can you go around telling lies, be shown that they are lies, then continue to ignore the evidence to the contrary. I'm not qualified to deal with this, sorry. - HodgmanNever crash to desktop. That's the equivalent of a Starbucks rep punching you in the face when you try to order a coffee with soymilk when they run out of soymilk. - KoobazaurFor programmers, R & D means "Research & Duplicate".Just remember... XML is like violence. If it doesn't work, you just aren't using enough of it... - MoeEvery time I go into my account settings I feel like I've never used the internet before. - booleanPerson X: Do you want to live forever?
Person Y: No, but I want to live a long life.
Person X: Only cowards live that long.
Person Y: And yet, we travel to seek the counsel of these "cowards".

For example, a heat seeking missile launcher module would require some small amount of xp (you shouldnt need to grind for xp, but for achievements) but it would also require lets say 100 mecha-frag kills. Its kind of a messy skill tree. An actual skill tree might work too but it would be messy if you want many different types of achievements to get some weapon unlocked.

Oh and your XP should allow you to get better mechs and weapons from your local store/garage.

External Articulation of Concepts Materializes Innate Knowledge of One's Craft and Science
Beginner in Game Development? Read here.Super Mario Bros clone tutorial written in XNA 4.0 [MonoGame, ANX, and MonoXNA] by Scott Haley
If you have found any of the posts helpful, please show your appreciation by clicking the up arrow on those posts

Spoiler

How on earth can you go around telling lies, be shown that they are lies, then continue to ignore the evidence to the contrary. I'm not qualified to deal with this, sorry. - HodgmanNever crash to desktop. That's the equivalent of a Starbucks rep punching you in the face when you try to order a coffee with soymilk when they run out of soymilk. - KoobazaurFor programmers, R & D means "Research & Duplicate".Just remember... XML is like violence. If it doesn't work, you just aren't using enough of it... - MoeEvery time I go into my account settings I feel like I've never used the internet before. - booleanPerson X: Do you want to live forever?
Person Y: No, but I want to live a long life.
Person X: Only cowards live that long.
Person Y: And yet, we travel to seek the counsel of these "cowards".