130

It's common for games to have multiple overlapping loops of gameplay and reward, hitting different frequencies and motivation types, so that we don't have all our eggs in one basket, motivationally speaking. This helps the game appeal to more players, and more consistently appeal to any one player, since every player is a multifaceted human being with a ...


38

In any game where you have character leveling, you need to decide on a power curve. This is a mathematical function which maps game progress to character strength. This curve can be linear, polynomial or even exponential. The flatter the curve, the less progress your player will feel, but the easier it is to balance because early-game content still stays ...


34

In order to answer this question, we first need to consider why we have tech trees in the first place. They limit the complexity in the beginning of the game by hiding the more advanced game mechanics. This makes the game more accessible to beginners. They serve as a reward mechanic. Unlocking a new tech tree node gives the player a feeling of progression ...


34

When working out the maths and solving for the Level conditional on experience XP, we obtain: $$Level = \frac{1 + \sqrt{1 + 8 \times XP \div 50}}{2}$$ For example, what is the player's level for \$XP = 300\$? $$ \frac{1 + \sqrt{1 + 8 \times 300 \div 50}}{2} = 4 $$ As requested. Or, what is the level for XP = 100000? $$ \frac{1 + \sqrt{1 + 8 \times ...


25

The simple and generic solution, if you don't need to repeat this calculation millions of times per second (and if you do, you're probably doing something wrong), is just to use a loop: expLeft = playerExp level = 1 while level < levelCap and expLeft >= 0: expLeft = expLeft - expToAdvanceFrom(level) level = level + 1 if expLeft < 0: level =...


23

It's a matter of motivating the player. The player has an achievable goal to work towards The player sees how far away from the goal they are The player sees how playing the game visibly progresses them towards the goal Variable ratio rewards can also be a great motivator, but so is an "honest pay for honest work" game mechanic where the reward after each ...


19

What you must worry about is the number of choices in the tech tree. In terms of a 4X game, lets say the depth of the tech tree is what affects how long a single play-through takes, while the width of the tech tree affects how many choices a player has each time they pick a new technology. The depth is determined by your game design, but the width should be ...


18

The best way to come to a conclusion in this regard is - like with most things in game development - to first think about how you want the game to play, and then make up the math which will result in the game playing like that. How long do you want the player to play on each level? In a story-focused single-player RPG you likely want to keep levelups as a ...


17

Don't forget to round the numbers after you figured out your curve. It doesn't make much sense to tell the player he needs 119,378 experience points to reach the next level — because the person would always understand it as "roughly 120,000". Thus you will be better off doing the rounding yourself, and presenting "clean" results to your players. For ...


11

@Philipp gave a great answer. Another concept to take into consideration is the idea of average threat level. It is perfectly acceptable for certain foes to have stats dramatically greater than what your curve predicts – so long as their other stats are lowered in proportion to the increase. For instance take pixies armed with envenomed needles. They are ...


11

The short answer: psychology. The long answer: We humans are driven by the expectation of a reward, just like a dog. Knowing how much experience you have reached and how much is still needed for reaching the next level gives you a nice feedback that what you do is good or bad for evolving your character. Edit: also, not knowing how long it will take for ...


11

Think about what would happen if level up happened randomly. You have a party of three players. At the beginning, all are the same level (for simplicity, 1). After playing around one levels and two don't. Not a huge deal normally. Since the one leveled, the others will level next and catch up. But under your system, the one who just leveled may level ...


11

The question has been answered with code, but I think it should be answered with math. Someone might want to understand instead of just copy and paste. Your system is easily described by a recurrence relation: $$ \text{XP}_{\text{Level}+1} = \text{XP}_{\text{Level}} + \text{Level} \cdot \text{Threshold} $$ Which offers a nice simple closed form solution ...


10

Here's one approach to solving the problem using basic algebra. If you don't care about the steps, skip to the bottom. An easy thing to come up with is, given a level n, the total experience e needed to obtain that level: e = sum from k=1 to n of (t(k-1)) The t term stands for the increase in XP needed per level - 50, in the example. We can solve the ...


9

You're better off trying to balance leveling as a function of time, rather than experience points, since experience points are meaningless outside the context of a particular game. Take your example. If it takes 100 times as long to earn experience in your game, you effectively end up with 2x as long a level grind to get to level 100 compared to Runescape. ...


7

There is actually a quite interesting GDC talk that has been given on this topic by someone who worked on the reward structures for large sections of World of Warcraft and Diablo 3: https://www.youtube.com/watch?v=urijgWXLYck He talked at length about how players experience randomized versus deterministic rewards and how both reward types work together to ...


4

TVTropes used to call this the "Kobayashi Mario", but now they just call it an Endless Game. The old name was a reference to the "Kobayashi Maru" test in the Star Trek universe. This is a test all starfleet cadetes have to take and which can not be completed successfully. The candidate can only fail, and the actual purpose of the test is to see how they ...


4

Jesse Schell's "Art of Game Design" has a good section on this subject. He uses this graph to illustrate the problem: The idea is that you need to keep a player's skills in balance with the challenges you give them. If the challenge is too low vs player skill, the player may get bored and stop playing your game. If it's too high, they may become frustrated/...


4

"Levelups" are a form of positive reinforcement. Positive reinforcement is used as a reward to motivate the player to perform a certain behavior, in your case to watch more videos and do more exercises. It's important for positive reinforcement to be applied soon after the player performs the desired behavior the first time. That means the first levelup ...


4

On each platform, keep the save game stored in a cloud storage system keyed to an id specific to that user (even before they’ve explicitly asked to save it in the cloud). For example, their Google Play player id on Android, or a guid that you generate and store in their iCloud account for iOS. Using their gmail account is a nonstarter if they don’t have a ...


4

When enemies scale with the player in a way that the game experience of fighting them stays exactly the same throughout the game, then the question is why you have player progression at all in your game. You are really fighting yourself here. If you want to retain player progression as a meaningful reward mechanic but without sacrificing the open world, ...


3

I think you should start from definition of the context: which kind of games? genre? single or multiplayer? In my experience as player and hobbyist, less options with meaningful effect into gameplay are desirable instead of a lot of options with few impact on gameplay. And keep in mind that presentation to player is a critical point. A huge (100+) tech tree ...


3

All the math involved here is very important to know for all sorts of reasons, some of them applicable to game development. BUT This is a game development site, not a math site. So let's discuss how these things work not as algorithmic series, but as sets, because that is the sort of math that applies to leveling in games you might actually develop to sell,...


3

A common solution for this is to have variables you save together with the players state and objects which have a conditional state depending on these variables. Example: When the player flips the switch on screen 42, you set the persistent variable "switch_42_state" to "flipped". On screen 76, you have a conditional door tile. When "switch_42_state" is "...


3

You might think about a leveling / XP / Skills system similar to the old Quest for Glory games. At the beginning of the game you choose your character class and are given a pool of points to distribute. You can spend extra points to get skills that your character class would not normally have (giving a mage lock picking ability, or a fighter the ability to ...


3

The question is a little abstract so I'm going to make a ton of assumptions here. Holler if any of them are way off of what you are expecting. Leveling: Normally 'leveling' implies an xp scheme, and xp is granted for doing stuff the game designer wants the player to be doing (fighting monster of the appropriate difficult, completing quests, etc). Normally ...


3

Consider Time You first need to figure out how the rate of experience gain scales with level. Then you can tailor your leveling by time required. If every additional level allows you to gain experience twice as fast, and you need twice as much experience to level, every level will require the same amount of time. My suggestion is to think about how much ...


2

Difficulty is perceived as a combination of time, risk, and meaningful choice. RPGs usually start off with small encounters that are very quick, have little risk, and little meaningful choice. This continues while the player is learning the game and the character they are playing. As new abilities are introduced, more meaningful choice is introduced. Do you ...


2

TL;DR People are impatient. More randomness tends to make games more difficult. As you have pointed out, it's been scientifically proven that many species find variable ratio setups 'irresistible'. This is because they appeal to a very primitive part of the brain, and assuming that the individual judges risk/reward ratios correctly, it's actually a really ...


1

How about this? NodeRate = NodesLeftToPut / TimeLeft; ChanceToSpawnNode = TimeStep * NodeRate if (Random.Range(0f, 1f) < ChanceToSpawnNode) { Spawn(); } The NodeRate is the number of nodes per second that you expect to occur, which changes as the timer drops and also when new nodes spawn. The chance to spawn during a time step is based on the NodeRate ...


Only top voted, non community-wiki answers of a minimum length are eligible