Formule voor spel

Wiskunde is niet alleen een vak op school. Kom je ergens in de praktijk (bijvoorbeeld tijdens je werk) een wiskundig probleem tegen dan kun je hier om hulp vragen.
Plaats reactie
Workerbee
Vast lid
Vast lid
Berichten: 59
Lid geworden op: 12 mar 2014, 21:47

Formule voor spel

Bericht door Workerbee » 09 dec 2014, 10:31

Voor mijn werk ben ik een soort tamagotchi spel aan het maken.
Nu kan de tamagotchi gelukkig zijn en ongelukkig. Verder kan hij honger hebben en poepjes laten die men dan weer moet opruimen.

Geluk is een Integer getal die maximaal 100 kan zijn, indien 100 is de tamagotchi volledig gelukkig.
Honger is ook een Integer die maximaal 100 kan zijn, indien 100 is de tamagotchi niet hongerig(buik vol).
Als de gebruiker poepjes opruimt gaat het geluk van de tamagotchi omhoog.
Nu heb ik zelf een formule bedacht om het geluk te berekenen:

happy = (happy - hoursDiff) * (1 - (totalPoops / hunger))

hoursDiff zijn de uren dat de gebruiker niet naar zijn tamagotchi heeft gekeken. Deze formule werkt echter niet goed omdat het niet uitmaakt of de gebruiker een poepje opruimt. Het geluk zal hoogstens hetzelfde blijven.

Mijn vraag is dan ook: hoe kom ik tot een goede formule?

arie
Moderator
Moderator
Berichten: 3911
Lid geworden op: 09 mei 2008, 09:19

Re: Formule voor spel

Bericht door arie » 09 dec 2014, 21:08

In je beschrijving hangt variabele happy af van:
- de tijd sinds laatste keer aandacht
- de hoeveelheid voedsel in de buik
- het aantal keutels in het hok.

Je zou deze elk een eigen happy-functie kunnen geven, resp. happyA, happyB en happyK.
Die functies kan je dan onafhankelijk van elkaar definieren, zoals jij denkt dat het voor het spel het leukste is.
Vanuit de 3 functiewaarden kan je dan de totale happy status berekenen.


Voorbeeld:



t = uren sinds laatste aandacht,
happyA(0) = 100
happyA(5) ~= 55
happyA(24) ~= 13
Bij aandacht is deze score maximaal (100%), na 5 uur 55%, na 24 uur 13%
Het minimum is in dit geval 10% (als t naar oneindig gaat).




v = vulling van de buik, loopt van 0 t/m 100.
happyB(0) = 0
happyB(40) = 50
happyB(80) = 100
happyB(100) = 100
Bij lege buik is happyB hier nul, loopt geleidelijk op naar 100, vanaf 80% buikvulling is happyB 100.




k = aantal keutels in het hok.
0 t/m 10 keutels is geen probleem: happyK = 100
Daarna neemt happyK met 2 punten per keutel af, tot minimumwaarde happyK = 4 (erger kan het niet worden, ook al komen er nog meer keutels bij)


Een eenvoudige manier om deze 3 waarden te combineren tot een totale happy-score is bijvoorbeeld:
vermenigvuldig de 3 waarden met elkaar:



Je kan natuurlijk ook het gemiddelde nemen, of een gewogen gemiddelde, of nog heel wat anders.
Die keuze is aan jou.

Workerbee
Vast lid
Vast lid
Berichten: 59
Lid geworden op: 12 mar 2014, 21:47

Re: Formule voor spel

Bericht door Workerbee » 09 dec 2014, 22:24

Dat ziet er uit als een goede oplossing. Zal de functies eerdaags implementeren!
Als het spel een "succes" wordt kan ik dan ergens een donatie doen aan deze site?

Plaats reactie