Hur man utvecklar spel för Facebook

Data struktur

Hur man utvecklar spel för Facebook

Jag behövde lagra fyra huvudtyper av data: för det första, för varje plats i spelet en registrering av huruvida den identifierades korrekt inom tidsgränsen; för det andra ville Collins fånga valfri demografisk data om spelaren; tredje, ett erbjudande till spelaren att registrera sig på en e-postlista; och slutligen information om varje plats i spelet.

Flash-applikationer körs dock på klientsidan, vanligtvis i en webbläsare, och kan därför inte interagera direkt med en MySQL-databas på fjärrservern – i början av spelet väljs 15 platser ut slumpmässigt och laddas ner från fjärrdatabasen, och i slutet sparas prestations- och marknadsföringsdata tillbaka till den.

Det är bra att begränsa antalet gånger du interagerar med databasen och att hantera så mycket bearbetning i webbläsaren som möjligt. Jag använde PHP för att skriva skripten som fungerar som mellanhänder mellan Flash Builder och MySQL. PHP är mitt favoritkodningsspråk och den naturliga följeslagaren till alla MySQL-installationer. Flash Builder genererar en XML-förfrågan och skickar den till ett PHP-skript, som returnerar en lista över platser för det specifika spelet, med deras detaljer. I slutet av spelet formateras prestandainformationen igen till XML och skickas till ett PHP-skript för att sparas i databasen.

Detta är dock inte den mest integrerade miljön när det kommer till felsökning: hur vet du om ett problem ligger inom PHP eller Flash Builder? Det enklaste tillvägagångssättet är att skapa en XML-fil för hand och inkludera denna i din PHP-kod under testning – få det att fungera perfekt och först sedan testa det i det riktiga spelet.

Flash Builder själv drar nytta av den utmärkta Eclipse-programmeringsmiljön, som erbjuder en rad felsökningsverktyg som kommer väl till pass när man jagar dunkla buggar. Med det sagt finner jag sällan ett behov av sofistikerade felsökningsverktyg när jag skriver PHP, vilket för mig känns som ett språk designat för att vara praktiskt och användbart, medan Flash Builder designades för att vara vackert men komplicerat. Flash Builder, som är byggt kring ActionScript 3 och Flex SDK, är ett enormt kraftfullt utvecklingsverktyg på företagsnivå, men för de flesta uppgifter representerar det överdrift, medan PHP bara fungerar med ett minimum av krångel och overhead.

Facebook-integration

Facebook API kan nås via ett antal bibliotek för JavaScript, PHP och andra språk. ActionScript-utvecklaren Jason Crist skapade den första versionen av ett AS3-bibliotek, och detta projekt har sedan dess tagits över och uppdaterats av Adobe för att ta hänsyn till de senaste förändringarna som Facebook har infört.

Ett av huvudsyften med Facebook-integration är att göra användarupplevelsen rikare och roligare genom personalisering; Att införliva användarens egen profilbild är till exempel extremt enkelt. Annan profilinformation är i teorin lika lätt att extrahera från Facebook Graph API, men en bugg i Internet Explorer (eller i Flash Player, beroende på vem du frågar) innebär att den stora mängden information som returneras av Facebook orsakar ett fel i den webbläsaren, åtminstone för nu.

Ditt första steg är att skapa en applikation i Facebook. För att göra detta, gå till Facebooks utvecklarsida, där du måste registrera dig som utvecklare om du inte redan har gjort det.

Du kan sedan starta på din första applikation, som du bör ställa in som en iFrame, eftersom själva koden kommer att köras på din server. Den kritiska informationen du behöver är applikations-ID:t för din app. Du bör också aktivera sandlådeläge i menyn Avancerade inställningar, så att världen inte får möjlighet att titta på dina första klungor.

Din Flash Builder-applikation bör fungera fullt ut innan du försöker den här integrationen, eftersom Facebook-integration bara fungerar efter att appen har laddats upp till en webbserver som du inte kan testa lokalt (såvida du inte kör din egen lokala webbserver). Detta innebär att testning blir en mödosam process att göra en förändring, sammanställa, ladda upp och testa.

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *