HTML5
De site waar ik op het moment mee bezig ben is de basis voor een browsergame die ik maak in GameMaker HTML5, die GML omzet naar HTML5.
Via dit programma kun je ook Javascript bestanden toevoegen waarin je bijvoorbeeld met Ajax variabelen uit de database kunt halen en kunt gebruiken in de game.
Omdat iedereen altijd zegt dat je client-side talen kunt aanpassen, heb ik de volgende vraag:
Als mijn game online staat en ik gegevens uit de database haal, en vervolgens in variabelen zet, valt dit dan door gebruikers aan te passen? (Waardoor ze bijv. health, coins en skills kunnen aanpassen?
Zo ja; hoe kun je dit het best beveiligen?
Door alle belangrijke dingen server-side af te handelen, dus met php
Ja, maar als ik bijvoorbeeld het aantal coins met ajax uit de database haal en in een Javascript variabel zet, en die variabel gebruik in de game, dan kan de gebruiker die variabel dus aanpassen.
Daarom ook met php uit de database halen en javasript alleen gebruiken voor leuke effecten
De browsergame is niet zoals als een crime RPG achtig iets, maar echt een game, zoals in Flash, maar dan met het canvas element in HTML5, die maakt gebruik van Javascript.
Als ik dus iets uit de database in het spel wil gebruiken, moet dat in een Javascript variabel. Ik kom er dus niet onderuit om Javascript te gebruiken.
Dan zal het altijd aangepast kunnen worden. Maak zoiets niet met gamemaker of ed, maar direct in php. Als je het tenminste onaanpasbaar wilt hebben
je kunt in PHP niet echt 1, 2, 3 een platform game maken :P
En ja, die variabele kun je aanpassen en nee, 90% van je bezoekers weet dat niet...
En Flash heb ik een tijd geleden geprobeert maar daar ben ik niet echt goed in, misschien maar weer eens proberen dan..
html - en css - zijn er puur om struktuur en opmaak aan je pagina te geven, met de rest van de talen kun je dynamische zaken toevoegen.
javascript, html en css zijn client-sided, wat betekent dat deze in de browser van de bezoeker uitgevoerd wordt, terwijl php (en volgens mij java en flash ook) server-sided zijn, dit wordt op de server uitgevoerd, en de informatie wordt dan doorgestuurd naar de browser.
client-sided code is bij de gebruiker bekent, dus aanpasbaar, terwel server-sided codenooit bij de gebruiker aankomt, enkel het resultaat
Een game in html5 canvas voor de weergaven aangestuurt met javascript is niks mis mee! Daar is het ook voor alleen de score die behaald word blijft een aan pasbaare waarde, om dat het op de client side word uitgevoerd. Maar dat kan ook met een flash game alleen is niet makkelijk wel mogelijk.
met zon spel maak je allemaal berekeningen, die je dan door javascript laat uitvoeren. die berekeningen zul je dan ook nog in php moeten doen om betrouwbare databasegegevens te krijgen
wat je zou kunnen doen dat wanneer iemand iets koopt, alleen het item door geeft en php het verder laat afhandelen
Maar het ging om hoe je het veilig kan houden, en dat kan het best door javasript alleen voor de besturing van de gMe en de canvas te gebruiken. En de berekeningen door de server aftehandelen. Bijvoorbeeld je poppetje staat op stap 7 en op stap 13 ligt een punt. Dan hoeft je javascript alleen de positie en handeling naar de server testuren, en die bereekend de punt er bij als hij de positie 13 ontvangt.
Vincent Huisman op 13/03/2012 20:57:29:
wat je zou kunnen doen dat wanneer iemand iets koopt, alleen het item door geeft en php het verder laat afhandelen
Opzich zou dat wel kunnen, maar je kunt in-game ook 'geld' verdienen, en dat moet ook in de database worden gezet, maar als iemand van die variabel een miljoen maakt, is dat natuurlijk ook niet leuk.