Maffia Game afmaken

  • Het gaat bij de variabel "Optellen" mis, deze wordt 2x aangegeven maar met verschillende waardes.

    Dat staat niet met zekerheid vast (of het gaat in ieder geval niet mis op de manier zoals je denkt, zie hieronder) want beide $health['optellen'] manipulaties (2x2) zitten in verschillende delen van het if statement waar $schade['own'] en $schade['user'] worden vergeleken (regel 33 in het eerder geposte fragment). Als de code was ingesprongen (dit forum maakt dit helaas weer ongedaan) dan had je dit kunnen zien. De bijbehorende queries worden dus nooit foutief door elkaar heen gebruikt omdat deze in verschillende delen van het if-statement zitten. Alles staat dus waarschijnlijk wel op de goede plaats, maar doen niet de goede dingen, of leveren mogelijk nooit een dode speler op, of, zoals we hieronder misschien kunnen opmaken, werkt dit alles niet zo lekker :p.


    De enige manier waarop dit verder onderzocht kan worden is door relevante gevallen af te lopen en daarbij de randgevallen te bekijken. Oftewel gewoon ff door de code heenlopen (nadat je dit in een editor een beetje hebt gefatsoeneerd want hier is het onleesbaar).


    Maar nogmaals: het is sowieso compleet maf dat (enkel) het aantal killers plus je eigen "power" bepaalt of de "moord" succesvol is (en dat er geen enkel random aspect is of een soort van bonus modifier voor een grotere kans op succes - het is compleet deterministisch), en dat de speler vervolgens HP verliest. Je zou eerder verwachten dat iemand dan een aantal killers verliest, en als ze allemaal zijn omgelegd dat dan de eindbaas (de speler) kwetsbaar is en aangevallen kan worden ofzo.


    Alle logische zaken daar gelaten (genoeg killers, zelfde stad, verschillende familie, doelwit niet veilig, voldoende rang en laatste aanval voldoende lang geleden) blijven daar de volgende factoren over:
    - schade afhankelijk van killers + eigen power
    - (ingeval own wint) een breekpunt van 3 hitpoints, als de user hieronder zit is ie dood, dit is dus een soort genadeklap-aanval
    - als de user boven 3 hitpoints zit verliest ie maximaal 3 hitpoints en houdt ie dus altijd minimaal 1 hitpoint over, maar dan kan ie dus de volgende aanval dood zijn


    Nota bene: omdat er geen random aspect aan de aanvalsschade is, en wanneer het bekend is hoeveel killers en power iemand heeft -is dit publieke informatie, weet je dit van elkaar? - dan kun je dus altijd aanvallen uitvoeren die 100% kans van slagen hebben? Wat weet een speler over andere spelers?


    - maar dan is er nog een raar breekpunt bij 298 health als je wint
    je krijgt er 2 HP bij als je onder de 298 zit en anders gaan er misschien wel hitpoints af
    dit heeft waarschijnlijk als resultaat dat je maximaal rond de 300 HP zweeft?
    ^ de dikgedrukte tekst hierboven verklaart mogelijk de reden dat dit zo is opgezet, dit is dus waarschijnlijk niet fout, maar gewoon zo bedoeld


    Voordat je dood bent / op of onder de kritische grens van 3 HP zit en aanvallen verliest gaan er per aanval maximaal 3 HP af, dat kan wel ff duren als je (op den duur) rond de 300 zit :p.


    Het lijkt er dus wel op dat je iemand daadwerkelijk dood kunt krijgen, maar dat kost misschien nogal wat tijd, maar het kan.


    En dan nog de case dat je een moord probeert te begaan die gedoemd is om te mislukken (dit is 100% deterministisch doordat dit puur afhangt van killers en power en geen enkel random aspect heeft), gebeurt dit uberhaupt ooit? Dit hangt dus af van de informatie die je over een andere speler hebt. Weet je het aantal killers maar niet iemands power of andersom of heb je beide stukken informatie niet dan is het een gok om iemand aan te vallen. Hierbij kun je (als aanvaller) eigenlijk alleen maar dood gaan als je minder dan 4 HP hebt. Misschien is het dan ook niet verstandig om een willekeurig iemand aan te vallen. Je zou zelfs een aantal accounts kunnen rollen die je expres zwak houdt om zo je sterkere karakters terug in het groen te trekken als ze weinig HP meer hebben. Maar niet dat dat wat boeit als je tussen de 4 en 300 (!) HP zit want dan kun je toch niet (direct) dood :p.


    Tegelijkertijd kun je je ook bedienen van de strategie om iemand altijd 2 of 3x aan te vallen. Misschien dwing je hem dan de eerste keer op de knieen (<4 HP) en reken je vervolgens permanent met iemand af. Is nog steeds een kleine kans dat ie dit weer overleeft. Je zou dus iemand kunnen spammen of aanvallen coordineren. Is er alleen maar een tijdsrestrictie? Waarom kost het bijvoorbeeld geen cash om een aanval uit te voeren? Dit vergt toch enige organisatie zou je zeggen, munitie voor de killers, logistiek om iedereen op locatie te krijgen et cetera?


    Het zit sowieso gewoon raar in elkaar, op meerdere fronten.


    Maar het is dus volgens mij wel degelijk mogelijk om iemand (permanent?) te doden. Of jezelf, als je erg dom bezig bent / niet op je HP let.


    EDIT: en in die zin is de code dus ook niet per definitie "fout" maar kan misschien getweaked of aangepast worden (random elementen?) om het geheel wat interessanter te maken.


    /rant

  • Guest, wil je besparen op je domeinnamen? (ad)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!