As perguntas relacionadas neste tópico podem incluir:
- Como devo basear a quantidade de pontos de experiência necessários para chegar ao próximo nível?
- Que fatores estão envolvidos nisso?
- Como faço para manter o jogador não entretido por tempo suficiente até ele subir de nível?
- Como posso variar a maneira como o jogador ganha pontos de experiência?
Respostas:
De um modo geral, estes são feitos como curvas vagamente exponenciais. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview mostra as fórmulas para Kingdom of Loathing, que são bastante padrão para o gênero MMO.
fonte
Na verdade, eu abordo esse mesmo tópico quando falo sobre relacionamentos numéricos em jogos: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/
Você pode fazê-lo da maneira que quiser, embora normalmente esteja em uma curva crescente (então cada nível requer mais XP do que o anterior), porque os encontros / missões tendem a fornecer mais XP à medida que avança.
A chave não é se concentrar apenas na curva de nível de XP ou na curva de XP por encontro, mas comparar os dois. Se a curva XP-Level aumentar mais rapidamente que XP por encontro, o jogador notará que eles estão ganhando níveis mais lentamente ao longo do tempo, o que é bastante padrão para o gênero. No entanto, o perigo é que, se os níveis subirem muito pouco no final do jogo, a última memória do jogador será uma colossal moagem, o que você provavelmente também não quer. Então, descubra quantos encontros por nível são aceitáveis no jogo final e quantos encontros por nível você deseja no início do jogo e interpole a partir daí.
Além disso, devo mencionar que você PODE ter sistemas de recompensa sobrepostos que não sejam apenas XP / Níveis. Alguns RPGs têm pontos de trabalho (então você tem vários sistemas de nivelamento / avanço), de modo que pode demorar um pouco entre (digamos) aumentar a sua habilidade de Luta ou a sua habilidade de Cura, mas com coisas diferentes o suficiente para subir de nível, você sempre terá apenas alguns minutos de distância de aumentar ALGO. Outros RPGs têm itens aleatórios / itens descartados, então cada novo encontro não oferece apenas XP, mas também uma pequena chance de gerar um saque épico, para que você receba recompensas aleatórias adicionais apenas por jogar.
fonte
Eu diria que depende, pelo menos parcialmente, do tipo de experiência que você deseja criar para o jogador. Considere dois exemplos, o primeiro dos quais é um RPG clássico baseado em turnos, o segundo é um shooter do tipo Gradius III , no qual você deseja que o poder do jogador seja escalado com base no progresso desde a morte de sua lista, não nos powerups (não dizer que é um bom sistema, apenas um exemplo).
No caso do RPG, seu sistema provavelmente opera com a premissa de que um jogador nunca perde experiência. Da mesma forma, provavelmente desejará agir com base no pressuposto de que é relativamente fácil obter algum nível de proficiência em alguma coisa, mas difícil de dominar (como a maioria das coisas no mundo real). Nesse caso, você pode querer desenvolver uma fórmula (como sugerida pela coderanger) que é exponencial em alguns aspectos. Onde a quantidade de experiência necessária para atingir o próximo nível é, de alguma forma, exponencialmente baseada no seu nível atual. Importante considerar, no entanto, a taxa com que seu jogador estará recebendo experiência enquanto estiver jogando. Por exemplo, um jogador que mata um Demônio de Fogo nível 63 esperaria receber mais experiência por sua morte do que se tivesse matado uma Lady Bug de nível 2. Então, ao projetar sua fórmula, certifique-se de levar em consideração o seu sistema XP. Principalmente porque, se não o fizer, matar a joaninha será tão lucrativo quanto matar inimigos mais difíceis.
Exemplo 1 (provavelmente não é um formulário que você usaria): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE
Exemplo 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE
Onde XP_TO_LEVEL é o XP necessário para alcançar o próximo nível. CURRENT_LEVEL é o nível atual do jogador. XP_BASE é um número arbitrário para decidir quanto cada nível "vale" no XP. SCALE é o expoente que determina com que rapidez escalar o XP necessário para nivelar. Se SCALE for 1, cada nível terá experiência com XP_BASE. Se a ESCALA for menor que 1, cada nível terá menos experiência que o último. Se a ESCALA for maior que 1, cada nível terá mais experiência que o último.
A tabela a seguir assume uma ESCALA de 1.1 e uma XP_BASE de 100 usando o exemplo 2.
Exemplo 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1,5) * XP_BASE
Onde SCALE ainda está determinando a rapidez com que escalar o XP_TO_LEVEL, mas funciona de maneira um pouco diferente.
A tabela a seguir assume uma ESCALA de 22 e um XP_BASE de 10 usando o exemplo 3.
No caso do clone Gradius, você pode adotar uma estratégia diferente. Você pode querer que o jogador suba de nível de maneira consistente, digamos a cada dois minutos. Além disso, depois que uma peça perde uma vida e, consequentemente, perde todos os seus poderes adquiridos, você pode ajudá-lo, elevando-a mais rapidamente até que ele atinja um nível apropriado para seu progresso no jogo. Nesse caso, sua fórmula provavelmente será mais linear, principalmente porque o usuário não consegue ver quanta experiência está ganhando por morte. Algo como, são necessários 50 XP para atingir um novo nível e cada inimigo vale 1 XP. Isso funciona muito bem, desde que você esteja fornecendo a ele um fluxo relativamente constante de inimigos. Mas, quando o jogador morre, ele perde tudo! O que você faz agora? Cada inimigo deve valer mais de 1 XP para atingir seu objetivo de alcançá-lo, para que o jogo seja justo novamente.
Exemplo: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Onde XP_FROM_EACH_ENEMY é quanto XP um inimigo concederia quando morto. BASE_XP é quanto XP um inimigo vale por padrão (pode variar por tipo de inimigo). CURRENT_LEVEL é o nível do jogador DESIRED_LEVEL é o nível em que você acha que o jogador deve estar.
fonte
Pessoalmente eu uso.
C / (A x B)
Onde: A = Tempo para um encontro / abate (inimigos médios fáceis, normais e duros) B = Exp por abate. (inimigos médios, fáceis, normais e difíceis) C = Tempo gasto para o jogador subir de nível.
Nota: Todos estes são relativos ao ritmo e ponto no jogo.
Eu acho que pode ser muito simplista, mas observe que você também define os outros elementos. Usando uma equação simples, você pode se adaptar facilmente às mudanças no meio do caminho.
fonte