Exploring Levels Again: The Numbers

Getting back to the leveling discussion and the idea for an RPG without a level cap, I’m putting some numbers together just to see how they feel and to get an idea for the scope of a level range using WoW-style advancement. Let us make the following stipulations:

  • We have a leveling system with no true cap.
  • Characters and mobs both have levels.
  • The XP needed to advance to a new level is calculated as a number of mob kills of a level equal to that of the character. This is how WoW does it, by the way, although of course in practice you have other factors such as rest XP, XP from quests and so on that will need to eventually be figured in.
  • Mobs not at the character’s level will of course yield a different amount of XP, but that’s not important for the purposes of this particular calculation.
  • The power curve, i. e. just how much a level means in mechanical effect, is not considered here. In a non-levelcapped system I suggest that the power curve be pretty gradual.

Okay, so given those things, we have a basic leveling calculation:

x=16c^2e^r

Where x is the number of XP needed to get to the next level, c is the character’s current level, e is the mathematical constant e (equal to approximately 2.718) and r is a scaling factor equal to the character’s level divided by 10 and rounded to one decimal place. Using this forumla some scaling could be done either by moving the constant up or down or adding some number (probably less than 1) to r.

Truncating the actual XP numbers and plugging in some sample figures, wee see that a level 1 character needs 70 XP to reach level 2, while a level 11 character needs 21,890 XP to reach level 12, or 73,790 accumulated total XP. This works out to over a thousand mobs killed. I’ve calculated this up to level 100 (not a cap, just as high as I have taken the numbers) and it seems likely that very, very few players would surpass level 40, which requires you to have gained the equivalent of over 100K worth of at-level mob kills.

Now, as I said before, you would almost certainly have quests as a means to get XP, and those would yield as much XP as a batch of mobs. Plus there might be XP gain rate boosts of some kind, or XP from crafting, exploration, gathering and so forth. So it might not be as slow in practice as these numbers suggest, but hitting level 20 would be something. If the power curve is indeed gradual and as steep as I suggest, you could tailor quests to target a range of, say, seven levels, and have a lot of overlap within the level ranges in which players will tend to cluster, therefore reducing the need for the same kinds of content in multiple level ranges.

On the other hand, many players under such a scheme might feel, say, in the 20s or even the teens that it takes forever to level. So maybe there is some kind of sub-level advancement a la DDO or Vanguard, where you get your benefits for the next level during that level as opposed to only when you hit it. If the net power gain per level in +5%, for example (it’s probably impossible to quantify this so precisely, but there ought to be some kind of target to shoot at,) you might get +1% at 20% of the next level, another +1% at 40% and so on. You might also want level-independent intangibles (reputation might be one example) that players could go for as measures of accomplishment.

Would crafting be dependent on this overall character level? I’m not sure, but my inclination is to say that it would… but there’s also my other notion that level is supposed to be the result of power advancement rather than the cause. In an arrangement like that, a more complicated progression formula would be in order, probably one based on skill ratings. But I’m not sure you’d need to implement both ideas, actually.

Interface: Pondering Procedures

I have an inchoate idea for a game design, riffing on some of the things I have talked about in the past, and I will be occasionally making posts about some of the ideas behind it for the sake of public brainstorming. Right now it’s best to think of this an a thought exercise for the development of a tabletop game… but how I’d code it is also something I’m thinking about, and indeed some of the elements would work dismally in a tabletop setting but would be invisible in a video game. For the moment, consider the whole thing “up in the air” as to what form the hypothetical finished product might take. The working title for whatever this is will be Interface.

So. One of the issues I finds most striking when talking about MMOs is the issue of scale. The world is a big place, and so a virtual world should be big, too. But how big? Obviously it can’t be as big as the real world, becuase of realistic limitations on computing power. Too, if it’s too big you spread players in a multiplayer environment out too much, which is undesirable… although you don’t want them confined in too small a space, either.

Let’s take a look at what is considered in the real world a small place: the island of Malta, which covers about 316 square kilometers. An interesting place historically (run at one point by the Knights Hospitaller,) but a tiny island off the coast of Sicily. Yet small as it is, it covers considerably more area than Azeroth, by one reasonably trustworthy estimate of around 100 square kilometers per continent. Such estmimates may well be off, but the point is made: virtual worlds are tiny. And it isn’t just Azeroth; the biggest overland world in an MMO I can think of is in Vanguard, and a similar estimate put Telon in at about 1068 square kilometers of land area, which is more than twice as large as Azeroth even including Outland and Northrend.

Yet Azeroth feels large, and the complaint is often made that Telon feels empty. In part this is because of excellent design on the part of the WoW team; the individual environments are varied and each feels just big enough. One wants scale and largeness but at the same time a little can go a long way.

In a science fiction game, particularly one of the sort that I envision, the problem becomes deeper. Your planets need to feel like planets — meaning they must be big — but if they are too big, or if you have too many of them, you run the risk of players encoutering one another too infrequently. (Outer) space can become an even bigger issue if it’s realistically sized.

So I think one has to consider very carefully what scale will do. If the game features interstellar travel and reasonably believable solar systems, the planets themselves will actually need to be pretty small. My off-the-cuff estimate of 20 square kilometers per average-sized planet sounds awfully small, but in virtual world terms it’s about a quarter the size of Kalimdor. If procedurally generated one runs the risk of make it very samey and fake-looking, but I think there are ways around that as well.

I’m a big believer in procedural generation and think it ought to be used more widely than it is in MMOs. At the same time, though, it can give you a lot of empty places that look the same. If you use it you need to have really good algorithms; see the endless array of procedural missions in City of Heroes for a counterexample.

So what I’m thinking of is a system that uses randomly-selected triangular map tiles, arranging each set of tiles into an icosahedron (think 20-sided die.) The exact number of tiles depends on the planet’s size, which can vary from a tiny asteroid of 20 tiles up to big planets of 2,000 tiles.

The tiles themselves could be hand-designed and set up to accomodate things like critter spawns, resource nodes and even settlements, and eventually there would need to be a lot of them, probably several hundred. But you could get away with a fairly small number at first. My thought is that each tile will have an area of approximately 0.25 km^2, roughly the size of Orgrimmar in total land area. So the (smallest planetary body) 20-tile asteroid will have an area roughly half as large as the Northern Barrens, while the (biggest) 2,000-tile planet will have 500 km^2 — over twice as big as pre-BC Azeroth.

That’s awfully big, offhand. Even the average planet in this schema comes in at 125-180 km^2, the latter of which is about the size of vanilla Azeroth. But the “dial” here is in the size of the tiles, which could easily be tweaked down to 0.1 km^2 or up to 1.0 km^2, or anywhere in between. Too, you wouldn’t normally consider predominantly water tiles to be part of the usable land area – but I have some additional ideas there as well.

The real trick, of course is not coming up with an algorithm, but in devising one that produces interesting results. If the output is all dull and samey, the resulting world will be lifeless; it should look organic instead of procedural. Which is why I think this kind of procedural generation needs several additional elements to make it really useful. And for that, we must again go back to Traveller.