Så här lär du dig Starling Framework

Starling Framework är en fri, öppen källkod ramad med ActionScript 3.0. Det primära syftet med denna ram är att göra det extremt enkelt för utvecklare att bygga spel för Adobe Flash-plattformen. I den här artikeln introducerar vi dig till Starling, och delar tips, skärmdumpar, handledning och resurser för att komma igång med det.


Varför välja Starling Framework?

Det finns många fördelar med att använda Starling Framework för att skapa dina spel; Det här är några av de viktigaste orsakerna:

  • Det är gratis.
  • Det är öppen källkod: utvecklare bidrar till att utvidga ramverkets gränser.
  • Det är maskinvaruccelerat: Starling är byggt på den nya Stage3D-tekniken i Adobe Flash Player, som använder GPU-hårdvaran på spelarens enhet för att göra spelet.
  • Det är flera skärmvänliga: Ett kodbas kan kompileras för att köras på flera plattformar - skrivbord, webb, iOS och Android.

Var kan du ladda ner det

Den officiella Starling Framework-webbplatsen innehåller en länk för att ladda ner den senaste versionen. För alla Starling-baserade spel är detta det viktigaste och det primära paketet du behöver.

Som nämnts är Starling öppen källkod, och så är den också värd på GitHub.

Denna filial innehåller följande:

  • Fullständig källkod för Starling-ramar skrivna i AS3.
  • Demoprojekt som kan användas för att undersöka hur Starling-kod kan skrivas.
  • Ett ställprojekt som ger dig en utgångspunkt för att komma igång med ett nytt projekt.
  • Vissa enhetstester för olika funktioner i Starling Framework.
  • Verktyg som hjälper dig att distribuera och testa spelet baserat på ramverket.

förutsättningar

Det antas att du har medellång kunskap i Flash ActionScript 3.0 för att snabbt kunna hämta Starling-ramverket. Om du behöver hjälp med Flash ActionScript 3.0 rekommenderar jag boken Essential ActionScript 3.0 av Colin Moock.


relaterade inlägg
  • För mer rekommenderade resurser, se Så här läser du Flash och AS3 för spelutveckling.

Komma igång med utveckling

Nybörjare Video Tutorials (Free)

Till att börja med, om du är ny på denna ram rekommenderar jag att du börjar med ett enkelt projekt som tar dig igenom början av ett spelets utvecklingsprocess. Du kan hitta det här i min videoserie Börjar med Starling.

Under hela denna serie av videor lär du dig att bygga ett spel som heter Hungry Hero.


Hungrig hjälte

Videoserien tar dig igenom olika ämnen som är inblandade i att lära sig Starling Framework:

  • Inställning
  • Bilder, texturer och knappar
  • Sprite Sheets och Animation
  • Navigering med händelser och lyssnare
  • Parallax Scrolling
  • Speltillstånd, Sprites, Kollisionsdetektering, Text och Teckensnitt, Partiklar

Introduktion till Starling (Free Ebook)

För en djupare API-guide för hela ramen är en bra resurs boken Introduktion till Starling av Thibault Imbert.


(Mer information finns på Thibaults hemsida.)


Vad Nästa?

När du hänger med grunderna i Starling Framework rekommenderar jag att du koncentrerar dig på följande aspekter.

Förbättrade visuella effekter (som partikelsystem)

Att lägga till partikeleffekter och specialeffekter ökar erfarenheten hos spelarna som spelar dina spel. Det finns en snyggt anpassad förlängning för Starling partikelsystem som är ett måste att utforska för spirande spelutvecklare.

MVC-mönster och Likes för effektiv kodning

Så viktigt som processen med att utveckla ett spel är hur du arkitektar koden och tillgångarna (grafik och ljud). Att separera din kod i komponenterna för modell, visning och kontroller ger dig ofta ett bättre sätt att hantera dina projekt, vilket gör det lättare att hitta och åtgärda fel och ge dig ett effektivare genomförande.

Optimeringstekniker för effektiv prestanda

Alla spel måste optimeras, oavsett vilken ram / språk du använder. Detta garanterar alltid att dina spel körs på de minst gemensamma plattformarna / hårdvaran. Underskatt aldrig prestationsproblemen, särskilt i spelutveckling!

UI-komponenter byggda för Starling-Based Games

Utforska det fint byggda användargränssnittet för Starling-baserade spel, Fjädrar. Byggd med AS3 och Starling Framework, och accelererad med Stage3D, är den optimerad och byggd för användning med flera skärmdensiteter och upplösningar.

Utvid Starling Framework med tillägg

Det finns många mogna tillägg för Starling Framework, varav många hittar du väldigt användbar! Dessa skapas av några av de bästa utvecklarna, i syfte att utveckla spel - de använde den här koden för att bygga och utöka sina egna spel.

Process av spelutveckling

Nu när du förstår tekniken i ramen själv är det extremt viktigt att veta hur ett spel ska byggas - särskilt effektiviteten och arkitekturen. Detta är ett av de viktigaste ämnena att förstå, så fortsätt träna och fortsätt läsa handledning.


Fler läromedel

Dessa länkar ger bra läromedel för specifika ämnen kring Starling Framework.

Starlinghandboken

Det här är förmodligen den bästa resursen för en nybörjare som försöker bygga spel med Starling-ramverket. Den innehåller handledning från basics till avancerad nivå.

Officiella handledning och kodutdrag

Här hittar du de bästa videoupptagningarna och artiklarna för att komma igång. Om du är helt ny för Starling är det här ett bra ställe att börja.

Extensions

När du väl har hämtat grunderna och kan bygga saker, är tilläggsutrymmen förmodligen den plats du behöver leta efter. Här hittar du många olika bibliotek skrivna av fantastiska utvecklare. Som namnet antyder sträcker det bara ramverkets möjligheter.

fjädrar

Alla spel är ofullständiga utan användargränssnitt. Att bygga en huvudmeny, alternativskärm, skärm, krediter, nivåval och så vidare är allt mycket enklare när man använder denna otroligt lätta ram.

Starling API Referens

Oavsett om du är nybörjare, mellanliggande eller avancerad utvecklare, är det alltid en bra idé att hänvisa till API-referensen. Den ger dig den uppdaterade syntaxen för alla metoder, klasser och egenskaper för alla objekt i Starling-ramverket.

Starling Community Forum

Hittar ett problem som du inte kan lösa under utvecklingsprocessen? Starling Framework är det bästa stället att leta efter hjälp. En stor uppsättning utvecklare bidrar till detta communityforum och hjälper varandra med de spelutvecklingsproblem som man kan möta.

Starling Framework på GitHub

Detta är den primära platsen för Starling-ramverket. Om du vill gaffla, bidra eller bara leta efter uppdateringar, glöm inte att ansluta till det här.

Issue Tracker

Ingen produkt eller ramverk lyckas utan bidrag från testare eller verkliga användare. Om du tror att du har hittat en bugg eller ett problem i Starling-ramverket, är det här spåraren att rapportera det genom. Bidra med och behåll Starling-ramverkflygning!


Utvecklingstips

Medan vissa av dessa är Starling Framework-specifika tips, behåller de flesta bra för alla spelutvecklingstekniker.

Använd multifunktionsfunktionerna

Eftersom Starling-ramverket är baserat på Flash ActionScript 3.0, glöm inte att dra nytta av multi-screen-funktionerna i Starling Framework.

Det finns många sätt att göra dina spel multi-plattform eller multi-screen friendly. Se till att du utforskar "Demo" och "Scaffold" -projekten med kodbasen.

Planera optimering direkt från början

Optimering är en integrerad del av att koda ett spel på vilket språk som helst. Kom ihåg att en av Starling Frameworks viktigaste funktioner är stöd för flera plattformar.

När du börjar koda ditt spel fortsätter kodens komplexitet bara att växa under hela utvecklingsprocessen. För att se till att du inte hittar dig själv när du ändrar arkitekturen i ditt spel senare (på grund av ineffektivitet) är det alltid bäst att börja tänka på "optimerad kodning" direkt från din första kodlinje.

Segregera koden

Håll din kod i separata sektioner (särskilt viktigt för flera plattformar):

  • Kärnlogik: Innehåller beteenden hos olika speltecken, logik för att flytta objekt, lägga upp poäng, spela musik och så vidare. Eventuella buggfix i den här delen av koden borde fastställa fixen för alla plattformar spelet är byggt för.
  • Plattformlogik: Innehåller bara plattformsspecifik kod, vilket kan innebära att jag beaktar iOS eller Android; tabletter, telefoner eller webb skärmstorlekar, upplösningar och densiteter ... Det här avsnittet av koden hanterar saker för alla specifika plattformar, som att aktivera eller inaktivera specialeffekter baserade på plattformens förmåga att säkerställa att spelet alltid körs på en bra framerate.
  • Interaktionslogik: Innehåller interaktionsbaserad logik som säkerställer att interaktionen definieras baserat på plattformen som spelet körs och sedan pratar med kärnlogiken för att utföra åtgärder i spelet. Till exempel, kontroller för mus för skrivbord och web, peka på kontroller för mobil och surfplatta.

Bestäm om du vill använda Vector eller Raster Graphics

Vektorer är lätta i form av minne. Dessa grafik ritas i körtid på skärmen, så mindre grafiska data lagras i minnet. Men det kan vara dyrt att göra dem på processorn.

Bitmaps eller rastergrafik är minneskrävande. Att lagra fysiskt och konsumera minne för att göra kan vara en utmaning, men är relativt lättare när det gäller återgivning (om du inte utför bitmapintensiv behandling).

Vill du att spelet ska köras snabbare på enheter med begränsade processorer? Använd bitmappar. Vill du ha mer flexibilitet visuellt? Använd vektorer. Det finns utmaningar som är förknippade med att använda antingen, så försök alltid och balansera användningen av båda dessa element. Tänk på hur mycket bearbetningseffekt och minne ditt spel använder.

Använd mer sprite-ark när det behövs

Du är inte tvungen att försöka inkludera all grafik i ditt spel i ett enda spritark. Om så krävs, expandera din logik för att använda flera sprite sheets - men håll det här i kontroll, eftersom ditt spel kan uppta mer filstorlek och viktigast av allt vara mer minnesintensiv.

Tänk på generering av Dynamic Sprite Sheet

Det finns förlängningar där ute som du kan använda för detta - eller, ännu bättre, kan du skriva en att göra exakt vad du behöver.

Med hjälp av för skapade vektor Flash-animeringar (SWF) och dynamisk konvertering av dem till spritark kan du spara mycket utvecklingstid, liksom minska filstorleken på din binära. Se till att du inte slutar göra detta för mycket för att påverka det speltid som förbrukas av ditt spel.

Titta på ActionScript-infödda tillägg

Använd ANEs för att expandera dina spel så att de innehåller plattformsspecifika funktioner, som inköpsköp, in-game-annonser och sociala funktioner (till exempel Game Center for iOS). Det finns massor av gratis och betalda ANE: er tillgängliga online, så glöm inte att kolla in dem. Du kan också enkelt skriva egna om det behövs.

Utvecklingsbeteende

Håll dig aktiv i samhället. Det finns många expertutvecklare i samhället som har bidragit länge. Gör dina frågor på Starling-forumen och glöm inte att logga in eller stödja biljetter om det behövs. Utvecklares idéer och krav är en av anledningarna till att Starling Framework växer med fler funktioner idag.


Ett erfaringsord

Det är ett ordstäv: "Det är inte verktyget, men färdigheten som spelar roll". Starling Framework är en bra API för öppen källkod för att skapa fantastiska GPU-accelererade spel för flera plattformar och enheter. Men med stor uppmärksamhet på utvecklingsteknikerna, mönstren, sättet att optimera koden och så vidare kommer du alltid att hjälpa dig på lång sikt. Många ämnen som jag har listat i hela denna artikel gäller för många andra ramar och språk.

Därför, oavsett vilket språk, ramverk, plattform eller verktyg du använder för att bygga spel, är koncepten spelutveckling fortfarande viktig.


Framgångsrika spel byggda på Starling Framework

Här är några av Starling-baserade spel som har blivit mycket framgångsrika:

Angry Birds (Facebook Edition)


Spaced Away


Ruby Blast


Drakens tid


Rivers of Olympus



Slutsats

Nu när alla resurser i världen kombineras till ett enda ställe, borde lärande Starling Framework vara en bit tårta.

Börja med att bygga de enklaste spelen och arbeta dig igenom det. Glöm inte att lämna en kommentar och meddela vad du byggt! När du släpper ett spel kommer jag gärna att granska det och kommentera det.

Slutligen, som jag alltid säger, är det inte det verktyg som är viktigt, men konsten och vetenskapen. Kom ihåg att Starling Framework är bara ett verktyg eller ett medium för att uttrycka dina spelutvecklingsfärdigheter. Det som verkligen betyder är den färdighet som du kommer att bygga upp i dig själv. Det finns otaliga plattformar, operativsystem, enheter, skärmar, ramverk, språk och verktyg där ute. Att växa själv för att kunna bygga för dem och att lyckas är nyckeln. Starling Framework är ett bra medium för att uppnå detta med. Med vänliga hälsningar!