Hvordan man udvikler spil til Facebook

Datastrukturer

Hvordan man udvikler spil til Facebook

Jeg havde brug for at gemme fire hovedtyper af data: For det første, for hvert sted i spillet en registrering af, om det var korrekt identificeret inden for tidsfristen; for det andet ønskede Collins at fange valgfri demografiske data om spilleren; for det tredje et tilbud til spilleren om at tilmelde sig en mailingliste; og endelig information om hvert sted i spillet.

Flash-applikationer kører dog på klientsiden, normalt i en browser, og kan derfor ikke interagere direkte med en MySQL-database på fjernserveren – i starten af ​​spillet vælges 15 steder tilfældigt og downloades fra fjerndatabasen, og ved slutningen gemmes præstations- og marketingdata tilbage til det.

Det er god praksis at begrænse antallet af gange, du interagerer med databasen, og at håndtere så meget behandling i browseren som muligt. Jeg brugte PHP til at skrive de scripts, der fungerer som mellemled mellem Flash Builder og MySQL. PHP er mit foretrukne kodesprog og den naturlige ledsager til enhver MySQL-installation. Flash Builder genererer en XML-anmodning og sender den til et PHP-script, som returnerer en liste over steder for det pågældende spil med deres detaljer. I slutningen af ​​spillet formateres ydeevneoplysningerne igen til XML og sendes til et PHP-script til lagring i databasen.

Dette giver dog ikke de mest integrerede miljøer, når det kommer til fejlretning: hvordan ved du, om et problem ligger i PHP eller Flash Builder? Den enkleste tilgang er at oprette en XML-fil i hånden og inkludere denne i din PHP-kode under test – få den til at fungere perfekt og først derefter teste den i det rigtige spil.

Flash Builder selv drager fordel af det fremragende Eclipse-programmeringsmiljø, som tilbyder en række fejlfindingsværktøjer, der er nyttige, når du jagter obskure fejl. Når det er sagt, finder jeg sjældent et behov for sofistikerede fejlfindingsværktøjer, når jeg skriver PHP, hvilket for mig føles som et sprog designet til at være praktisk og nyttigt, hvorimod Flash Builder er designet til at være smukt men kompliceret. Flash Builder, som er bygget op omkring ActionScript 3 og Flex SDK, er en enormt kraftfuld udvikling på virksomhedsniveau værktøj, men for de fleste opgaver repræsenterer det overkill, hvorimod PHP bare fungerer med et minimum af ballade og over hovedet.

Facebook integration

Facebook API kan tilgås via en række biblioteker til JavaScript, PHP og andre sprog. ActionScript-udvikler Jason Crist skabte den første version af et AS3-bibliotek, og dette projekt har siden blevet overtaget og opdateret af Adobe for at tage hensyn til de seneste ændringer Facebook har indført.

Et af hovedformålene med Facebook-integration er at gøre brugeroplevelsen rigere og mere behagelig gennem personalisering; at inkorporere brugerens eget profilbillede er f.eks. ekstremt nemt. Andre profiloplysninger er i teorien lige så nemme at udtrække fra Facebook Graph API, men en fejl i Internet Explorer (eller i Flash Spiller, afhængigt af hvem du spørger) betyder, at den store mængde information, som Facebook returnerer, forårsager en fejl i den browser, i det mindste for nu.

Dit første skridt er at oprette en applikation i Facebook. For at gøre dette, gå til Facebook-udviklerside, hvor du skal registrere dig som udvikler, hvis du ikke allerede har gjort det.

Du kan derefter starte på din første applikation, som du bør sætte op som en iFrame, da selve koden kører på din server. Den kritiske oplysning, du skal bruge, er applikations-id'et for din app. Du bør også aktivere Sandbox Mode i menuen Avancerede indstillinger, så verden ikke får mulighed for at se dine første bunglings.

Din Flash Builder-applikation bør fungere fuldt ud, før du forsøger denne integration, fordi Facebook-integration vil kun fungere, efter at appen er uploadet til en webserver, som du ikke kan teste lokalt (medmindre du kører dit eget lokale web server). Det betyder, at test bliver en møjsommelig proces med at lave en ændring, kompilere, uploade og teste.