[PHP] Levels/Achievements rewards formule/idee

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Mickroz
  • Registratie: April 2008
  • Laatst online: 06-10 02:03

Mickroz

Mickroz#2491

Topicstarter
Hallo,

Ik ben bezig met een teamspeak 3 levels/achievement systeem, nu heb ik een linear leveling van 1 tot 50 zoals dit:
code:
1
2
3
4
5
6
Level   XP      Difference
1       0       -
2       1000     1000
3       3000     2000
4       6000     3000
5       10000    4000

waarbij level 50 1275000 XP is.
Per minuut dat een gebruiker online is krijgen ze 1 XP of als ze stemmen voor de server krijgen ze 400 XP per stem (kan maar 1 x per dag).

Nu heb ik achievements voor het halen van bepaalde levels, tijd online, het dagelijks inloggen op de server, het stemmen voor de server, en het nog wat andere.
Voor elke achievements krijgen ze een aantal XP en Points, Zodra ze level 15 (105000 XP) zijn, kunnen ze de Points gebruiken om een permanent kanaal te maken op de server, en eventueel subkanalen.

Nu wil ik voor het hoofdkanaal een vast bedrag rekenen, en voor de subkanalen een bedrag wat verhoogd wordt na elk aangemaakt subkanaal.
Er kan ook in de shop diverse XP boosters gekocht worden voor Points, en een Premium account voor 24 uur, waarmee de XP verdubbeld wordt.
En je kan ook je Points gebruiken om te converteren naar XP, daar gebruik ik de volgende formule voor:
PHP:
1
2
3
4
<?php
$exchange_rate = 3;
$xp = floor($points * log($points * $exchange_rate));
?>


Mijn vraag is alleen, wat is nu een goede richtlijn om XP en Points te rewarden voor een achievement, en wat te vragen voor de shop onderdelen en de teamspeak kanalen?

om een idee te krijgen wat voor achievements het zijn, hier een paar die ik heb:
  • Survive the first hour
  • Stay 5 hours on this Teamspeak!
  • Be online for 24 hours
  • Be on 3 consecutive days online!
  • Be on 7 consecutive days online!
  • Be on 14 consecutive days online!
  • Vote 1 time!
  • Vote 10 Times!
  • Vote 100 Times!
  • Reach Level 5!
  • Reach Level 10!
  • Reach Level 20!
  • Unlock 10 achievements!
  • Unlock 25 Achievements!
  • Earn 500 Points!
  • Earn 1000 Points!
  • Register for the site
  • Set an avatar

Steam-Twitch-YouTube-Twitter

Beste antwoord (via Mickroz op 25-02-2017 19:56)


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Mickroz schreef op zaterdag 25 februari 2017 @ 17:31:
[...]

Ik heb hem hier geplaatst omdat ik het in php maak, en verder geen andere plek er voor kon vinden.
Er is zat te vinden over levels, maar niet over rewards in deze zin, misschien dat er iemand een idee erover heeft, of misschien een formule die in kan scripten.
Je bent hier bezig met business rules verzinnen, niet met programmeren. Je kan alleen zelf je eigen vraag beantwoorden want het antwoord heeft direct effect op je inkomsten en kosten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Alle reacties


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik begrijp niet helemaal wat je vraag met programmeren te maken heeft. Wat wil je nu precies van ons? Bepalen hoeveel XP elk van de achievements oplevert zul je toch echt zelf moeten doen?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 12:01

Onbekend

...

Ik neem aan dat je al zelf wat gebruikersdata hebt verzameld. Je weet dan hoeveel mensen hoeveel minuten op TeamSpeak zitten, en je weet welke mensen vragen om bepaalde mogelijkheden te kunnen gebruiken (om bijvoorbeeld een avatar te kunnen plaatsen).

En jij weet zelf wat je uiteindelijk wil bereiken:
Er kan ook in de shop diverse XP boosters gekocht worden voor Points, en een Premium account voor 24 uur, waarmee de XP verdubbeld wordt.
Oftewel, hoeveel geld (of tijd) moeten ze investeren om een avatar te kunnen plaatsen of een kanaal te kunnen openen?

Verder zijn XP-verdubbelaars voor een vaste prijs volgens mij geen goed idee. Je kunt beter gewoon een item verkopen die een vast aantal XPs geeft, en die je alleen kunt kopen als je al een bepaald aantal XPs hebt verzameld.

Speel ook Balls Connect en Repeat


Acties:
  • 0 Henk 'm!

  • Mickroz
  • Registratie: April 2008
  • Laatst online: 06-10 02:03

Mickroz

Mickroz#2491

Topicstarter
NMe schreef op zaterdag 25 februari 2017 @ 14:48:
Ik begrijp niet helemaal wat je vraag met programmeren te maken heeft. Wat wil je nu precies van ons? Bepalen hoeveel XP elk van de achievements oplevert zul je toch echt zelf moeten doen?
Ik heb hem hier geplaatst omdat ik het in php maak, en verder geen andere plek er voor kon vinden.
Er is zat te vinden over levels, maar niet over rewards in deze zin, misschien dat er iemand een idee erover heeft, of misschien een formule die in kan scripten.
Onbekend schreef op zaterdag 25 februari 2017 @ 15:02:
Ik neem aan dat je al zelf wat gebruikersdata hebt verzameld. Je weet dan hoeveel mensen hoeveel minuten op TeamSpeak zitten, en je weet welke mensen vragen om bepaalde mogelijkheden te kunnen gebruiken (om bijvoorbeeld een avatar te kunnen plaatsen).

En jij weet zelf wat je uiteindelijk wil bereiken:

[...]

Oftewel, hoeveel geld (of tijd) moeten ze investeren om een avatar te kunnen plaatsen of een kanaal te kunnen openen?

Verder zijn XP-verdubbelaars voor een vaste prijs volgens mij geen goed idee. Je kunt beter gewoon een item verkopen die een vast aantal XPs geeft, en die je alleen kunt kopen als je al een bepaald aantal XPs hebt verzameld.
Het meeste wat ik kan verzamelen via de php api verzamel ik, aantal minuten wat iemand online is, welke kanalen, of ze een avatar instellen, of ze hun mic gebruiken of muten enz enz.
Als ze lvl 15 worden zitten ze al 1750 uur op de server, een avatar instellen kan altijd, dus die zou dan een laag aantal als reward kunnen zijn, alleen zou je dan als je lvl 15 bent al wel al genoeg points moeten hebben om een kanaal te kunnen aanmaken.

De boosters geven idd een vast aantal xp, dus die xp verdubbelaar zou je dan laten vallen.
Scheelt ook weer extra coden.

Steam-Twitch-YouTube-Twitter


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Mickroz schreef op zaterdag 25 februari 2017 @ 17:31:
[...]

Ik heb hem hier geplaatst omdat ik het in php maak, en verder geen andere plek er voor kon vinden.
Er is zat te vinden over levels, maar niet over rewards in deze zin, misschien dat er iemand een idee erover heeft, of misschien een formule die in kan scripten.
Je bent hier bezig met business rules verzinnen, niet met programmeren. Je kan alleen zelf je eigen vraag beantwoorden want het antwoord heeft direct effect op je inkomsten en kosten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.