Gå til innhold

Formel for exp og levling i spill


Anbefalte innlegg

Hei. Jeg driver i disse dager å lager et spill på Facebook. Brikkene begynner å falle på plass og spillet begynner å ta form. MEN, jeg har et stor problem. I dette spillet har man exp og levler. Man går opp level når exp-en når et bestemt punkt, og man får da en ny exp som mål for neste level.

 

Formelen jeg har for exp er bare å gange den med 2, mao $EXP = $EXP*2;

 

Noe som gir f.eks 10, 20, 40, 80, 160. Problemet med denne formelen er at forskjellen til slutt blir veeeeldig stor.

 

Jeg poster denne tråden i dette forumet fordi jeg satser på at det finnes andre programerere der ute som har støtt på dette problemet. Har NOEN en grei formel for vekst av exp som ikke blir for stor, eller noe som er brukbart? Alle ideér undersøkes og testes.

 

På forhånd takk :)

Lenke til kommentar
Videoannonse
Annonse

Halla Thomas;)

Tenkte det samme som Ståle, bortsett fra at 10% vil ende med uendelige levler. Hva med f.eks 35% økning? Vil gå fort i starten og etterhver jevne seg ut.

$EXP = $EXP*1,35;

 

EDIT:

Eller sette opp en tabell for lvl/EXP.

1 200

2 500

3 750

4 1250

5 2000

..osv osv

Endret av Even_A
Lenke til kommentar

Hvis du skal ha en lineær økning av erfaring per nivå så må mengden erfaring for å utføre en gitt handling minke ut i fra det nivået man allerede er på. Hvis ikke er det ikke noe insentiv for å utføre vanskeligere oppgaver.

 

Hvis mengden erfaring skal øke prosentvis så er det ikke nødvendig å minke mengden erfaring for å utføre en handling så viktig.

 

Slik det er gjort i Anarchy Online så er øker kravet til erfaring eksponensielt og det å utføre handlinger som ikke utgjør noen fare får man ingen videre erfaring for. Da er insentivet for å utføre vanskeligere oppgaver til stede og man unngår erfaringshøsting fra relativt enkle oppgaver som gir uproposjonalt mye erfaring som et ekstra insentiv for at den oppgaven skal bli utført.

Lenke til kommentar

Tusen takk Mads! Det skal jeg se videre på.

 

Altså, brukeren har 3 muligheter, å "trene" i 15 min, 30 min eller 1 time.

 

Disse tre gir: 5+(LEVEL/5) poeng, 10+(LEVEL/10) poeng og 20+(LEVEL/20) poeng (ikke ferdig, men work in progress), noe som betyr at brukeren sakte men sikkert vil tjene mer poeng etter hvert som han eller hun går opp level. Problemet mitt er bare at jeg syntes det blir for stor sprik mellom levelene når brukeren kommer opp til f.eks level 10.

 

Level: 9 
Training sessions: 12/12 remaining 
Online: 1 
Exp: 1407 / 2560 (55%)

 

Derfor tenkte jeg at leveling kunne være enklere i starten, men etter hvert ta lengre og lengre tid. Derfor tror jeg en andregradslikning ville passe veldig bra. Skal se mer på regresjon, Mads! Takk for ideén!

 

|EDIT| Hvis dere lurer på hvorfor en bruker ville bruke 15 minutters trening fremfor 1 time, så har dette med et boost-system jeg har laget, som gir ekstra exp dersom man får en good-session, fremfor en average eller bad. Sjansene er større for å få en good-session når brukeren trener korte perioder (dette er for å øke besøkende i spillet)

Endret av TheClown
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...