ID:41954
 
While taking a break from the RBS AI (they're like a child sometimes; trying, and occasionally talk back), I had a thought.

One of the things I like to see in games is an alternative to mindless grinding for experience to make your numbers go up. The whole game begins to revolve around grinding to get the experience to make the numbers higher to grind more experience to make the numbers higher to grind . . . you get the picture.

Anything that takes focus away from the grind and back to actual gameplay is a Good Thing™ to me.

One such system I've observed is used in EvE-Online (www.eve-online.com). It's a nice game if you enjoy space sims focused on fleet engagements, asteroid mining, and production. It's pretty cool game, and if you're interested, let me know and I'll shoot you a Wingman invite (free 14 days, +14 days to both of us if you stay).

In any event, their system is time based. They eliminate the variables of "hardcore" vs "causal" by making advancement take just as long regardless of online time.

A skill has a few different statistics:
a Primary attribute
a Secondary attribute
a Rank (difficulty)
a level (how high you've trained this skill)
SP (skill points, how many SP you've put in so far)
TSP (total skill points, how many SP are needed to the next level)

You generate a number of SP per minute equal to your Primary attribute plus 1/2 of your Secondary attribute. So, for example, if the skill's Primary was INTelligence and the Secondary was PERception, and you had INT at 5 and PER at 10, then you generate 10 SP a minute for that skill.

Now, a skill's TSP is based on the next level to be trained and it's rank. I'll save you the whole forumla but essentially it breaks down like this:

  1. 250
  2. 1,440
  3. 8,000
  4. 45,255
  5. 256,000


The time invovled is simply the TSP divided by your SP per minute. In this case, level 1 (250 SP) will take 25 minutes (250/10). That's for a Rank 1 skill. The TSP is multiplied by the Rank, so higher ranks take longer to train.

They also keep adding skill points whether you're online or not.

The advantage to this system is that it levels the playing field for advancement. No longer do you fall drastically far behind your buddies because you have a job and a life outside of the game.

The downside is that there's also no point in putting in extended hours to "get that next level".

Logging in is encouraged by other means. Generating money (ISK, in EvE) is an active process, as is faction point gaining.

I've been thinking of bringing this kind of system to BYOND, but a little more straight forward and customizable.

Rather than use EvE's interesting but complex algorithm for determining sp/level, I will go with a more direct method.

There are three constant values, ExpBase, Exp, and ExpMod. The formula (at the moment), is ExpBase^(Level*Exp)*ExpMod, where Level is the current level of the skill being trained. As a default, the values of 2 (base), 1 (exp), and 100 (mod) will be used, resulting in a progression that looks like this:

  1. 100
  2. 200
  3. 400
  4. 800
  5. 1,600


This provides a basic, exponential progression. Level 1, 2, and even 3 will be common, 4 will be uncommon, and 5 will be relatively rare.

You can tweak the curve by changing the Exp value. A base of 2, exp of 2, and mod of 100 would present the following progression:

  1. 100
  2. 400
  3. 1,600
  4. 6,400
  5. 25,600


As you can see, the effect is minor at the lower levels, but much greater at higher levels. Decimal values are perfectly fine and likely required to get a proper progression for your game.

There's two parts to this, however. One is the progresssion, and remember that the above is for a Rank 1 skill. Ranks 2+ will increase those point totals. The points mean little without some measure of how difficult it is to achieve said numbers. That's the second part, generating the SP per minute of whoever/whatever has the skill. There will be defaults and hooks in the system to be overwritten, but ultimately you need to look at how long it takes to get from one level to the next. Too few SP per minute and people will get bored and frustrated. Too many and the first levels will be worthlessly easy to achieve. Finding a balance between SP per minute and the TSP for skills is vital and will have to be left up to the game developer.

The default will be a base of 2, an exp of 2, and a mod of 100. The default SP per minute will be 20, resulting in the following time line for skills levels:

  1. 5 minutes
  2. 20 minutes
  3. 1 hour, 20 minutes
  4. 5 hours, 20 minutes
  5. 21 hours, 20 minutes


If you're looking for faster advancement, a standard tweak might be to change the default SP per minute to 100, which cuts training time by five. Level 1 takes a minute, level 5 takes 4 hours and 16 minutes.
EVE's progression system was nice, but had a critical flaw: It didn't matter whether you played the game or not. There was a very common sentiment among several newbies I knew when I tried the game that the best course of action was to simply log on, choose the skills you want to train, and then log off. The only time you spent in-game was to choose new skills.

Of course, this was somewhat limited by the fact that you needed to pay for some kind of upgrade periodically to raise skills beyond a certain point. This was tempered by an equally boring mining system, which literally consited of; Launch, Autopilot to Asteroid Belt, Mine Asteroid, Autopilot to Station, Sell Ore, rinse and repeat. Every step, save for the first and last, consists of the player basically doing nothing while their ship performs some automated task.

I read two books during my trial period with EVE. Let that sink in for a minute. I only read those books while I was "playing". So yeah, I'd say the game had some pretty major pitfalls. I understand it's supposed to get much better in the higher levels, but the prohibitive nature of skill levels and ridiculously exorbitant cost of ships and equipment that would provide you more than a sliver of protection in a very unsafe galaxy basically makes you fritter away weeks and weeks of real-time while you wait to get there.

That being said, I still support the idea of time-based character progression. I prefer the timer to only tick while the player is logged in. At that point all you have to worry about is idlers and botters, which are worlds easier to combat than a ludicrously excessive time-to-next-reward factor. At the very least players are forced to go, "Well, I'm here and I'm getting points no matter what. Might as well do something." and then find something to enjoy in your game, rather than "Well, it doesn't really matter whether or not I'm actually playing, and even if I do I'm not so much playing as I am clicking a button every ten or twenty minutes and watching the game play itself."

< /wall of text>
True, which is why I pointed it out as one of the downsides :)

The design of the system will allow it to persist between sessions or not, as the developer wishes. My goal with this is to make it as robust as possible. It doesn't even assume an attribute system (no primary, secondary, etc). Atoms will have a proc to return a value, which will be used by the skill as the SP/minute value. This proc is passed the skill as an argument.

The idea is that you can modify the skill datum as needed and overwrite the atomic procedure to account for anything between the atom and the skill. You might add a list of attributes to the atom and define a list of attributes for the skill with assigned weights (a primary/secondary system would use weights of 1 and 0.5, respectively). It's up to the developer though. This is simply the shell that enables the process to function.

Evre wrote:
EVE's progression system was nice, but had a critical flaw: It didn't matter whether you played the game or not. There was a very common sentiment among several newbies I knew when I tried the game that the best course of action was to simply log on, choose the skills you want to train, and then log off. The only time you spent in-game was to choose new skills.

Of course, this was somewhat limited by the fact that you needed to pay for some kind of upgrade periodically to raise skills beyond a certain point. This was tempered by an equally boring mining system, which literally consited of; Launch, Autopilot to Asteroid Belt, Mine Asteroid, Autopilot to Station, Sell Ore, rinse and repeat. Every step, save for the first and last, consists of the player basically doing nothing while their ship performs some automated task.

I read two books during my trial period with EVE. Let that sink in for a minute. I only read those books while I was "playing". So yeah, I'd say the game had some pretty major pitfalls. I understand it's supposed to get much better in the higher levels, but the prohibitive nature of skill levels and ridiculously exorbitant cost of ships and equipment that would provide you more than a sliver of protection in a very unsafe galaxy basically makes you fritter away weeks and weeks of real-time while you wait to get there.

That being said, I still support the idea of time-based character progression. I prefer the timer to only tick while the player is logged in. At that point all you have to worry about is idlers and botters, which are worlds easier to combat than a ludicrously excessive time-to-next-reward factor. At the very least players are forced to go, "Well, I'm here and I'm getting points no matter what. Might as well do something." and then find something to enjoy in your game, rather than "Well, it doesn't really matter whether or not I'm actually playing, and even if I do I'm not so much playing as I am clicking a button every ten or twenty minutes and watching the game play itself."

< /wall of text>