Hvordan lære Starling Framework

Starling Framework er et gratis, åpen kildekode-rammeverk som er skrevet ved hjelp av ActionScript 3.0. Hovedformålet med dette rammeverket er å gjøre det svært enkelt for utviklere å bygge spill for Adobe Flash Platform. I denne artikkelen vil vi presentere deg til Starling, og dele tips, skjermbilder, opplæringsprogrammer og ressurser for å komme i gang med det.


Hvorfor velge Starling Framework?

Det er mange fordeler med å bruke Starling Framework for å lage spillene dine; Dette er noen av de viktigste årsakene:

  • Det er gratis.
  • Det er åpen kilde: Utviklere bidrar til å forlenge rammens grenser.
  • Det er maskinvare akselerert: Starling er bygget på den nye Stage3D-teknologien fra Adobe Flash Player, som bruker GPU-maskinvaren til spillerens enhet for å gjøre spillet.
  • Det er multi-screen-vennlig: En kodebase kan kompileres til å kjøre på flere plattformer - skrivebord, web, iOS og Android.

Hvor å laste den ned

Den offisielle Starling Framework-nettsiden inneholder en lenke for å laste ned den nyeste versjonen. For alle Starling-baserte spill er dette den viktigste og primære pakken du trenger.

Som nevnt, er Starling åpen kildekode, og så er det også vert på GitHub.

Denne grenen inneholder følgende:

  • Full kildekode for Starling-rammeverk skrevet i AS3.
  • Demo prosjekter som kan brukes til å utforske hvordan Starling kode kan skrives.
  • Et stillasprosjekt som gir deg et utgangspunkt for å komme i gang med et nytt prosjekt.
  • Noen enhetstester for forskjellige funksjoner i Starling Framework.
  • Verktøy som hjelper deg med å distribuere og teste spillet basert på rammen.

Forutsetninger

Det antas at du har middels kunnskap i Flash ActionScript 3.0 for å kunne hente Starling-rammeverk raskt. Hvis du trenger hjelp med Flash ActionScript 3.0, anbefaler jeg boken Essential ActionScript 3.0 av Colin Moock.


Relaterte innlegg
  • For mer anbefalte ressurser, se Hvordan lære Flash og AS3 for spillutvikling.

Komme i gang med utvikling

Begynner Video Tutorials (Free)

Til å begynne med, hvis du er ny på dette rammeverket, anbefaler jeg at du starter med et enkelt prosjekt som tar deg gjennom start til slutt i et spills utviklingsprosess. Du kan finne dette i min videoserie Starter med Starling.

Gjennom hele denne serien av videoer lærer du å bygge et spill som heter Hungry Hero.


Sulten helt

Videoserien tar deg gjennom ulike emner som er involvert i å lære Starling Framework:

  • Setter opp
  • Bilder, teksturer og knapper
  • Sprite Sheets og Animasjon
  • Navigering ved hjelp av hendelser og lyttere
  • Parallax Scrolling
  • Spillstatus, Sprites, Kollisjonsdeteksjon, Tekst og Skrifter, Partikler

Introduksjon til Starling (Free Ebook)

For en mer grundig API-guide for hele rammen, er en god ressurs boken Introduksjon til Starling av Thibault Imbert.


(Mer informasjon tilgjengelig på Thibaults nettsted.)


Hva nå?

Når du får tak i det grunnleggende om Starling Framework, anbefaler jeg at du konsentrerer deg om følgende aspekter.

Forbedrede visuelle effekter (som partikkelsystemer)

Å legge til partikkeleffekter og spesialeffekter øker opplevelsen av spillerne som spiller spillene dine. Det er en skikkelig skreddersydd utvidelse for Starling partikkel systemer som er et must for å utforske for spirende spillutviklere.

MVC Patterns og Likes for Effective Coding

Like viktig som prosessen involvert i å utvikle et spill, er måten du arkiverer koden og eiendelene på (grafikk og lyd). Å skille koden din i modell-, visnings- og kontrollkomponentene gir deg ofte en bedre tilnærming til å administrere prosjektene dine, noe som gjør det enklere å finne og fikse feil og gi deg en mer effektiv implementering.

Optimaliseringsteknikker for effektiv ytelse

Ethvert spill må optimaliseres, uavhengig av rammen / språket du bruker. Dette sikrer alltid at spillene dine kjører på de minst vanlige plattformene / maskinvaren. Undervurder aldri ytelsesproblemene, spesielt i spillutvikling!

UI Komponenter bygget for Starling-baserte spill

Utforsk det fint bygget UI-rammeverket for Starling-baserte spill, Feathers. Bygget ved hjelp av AS3 og Starling Framework, og akselerert ved hjelp av Stage3D, er den optimalisert og architected for bruk med flere skjermstørrelser og oppløsninger.

Utvid Starling Framework med utvidelser

Det er mange modne utvidelser for Starling Framework, hvorav mange finner du veldig nyttig! Disse er laget av noen av de beste utviklerne, med det formål å utvikle spill - de brukte denne koden til å bygge og utvide sine egne spill.

Prosess av spillutvikling

Nå som du forstår de tekniske egenskapene til rammen selv, er det ekstremt viktig å vite hvordan et spill skal bygges - spesielt effektiviteten og arkitekturen. Dette er et av de viktigste temaene å forstå, så hold øve og fortsett å lese opplæringsprogrammer.


Flere læringsressurser

Disse koblingene gir gode læringsressurser for bestemte temaer rundt Starling Framework.

Starling-håndboken

Dette er trolig den beste ressursen for en nybegynner som prøver å bygge spill med Starling-rammeverket. Den inneholder opplæringsprogrammer fra grunnleggende til avansert nivå.

Offisielle opplæringsprogrammer og kodeutdrag

Her finner du de beste videoopplæringene og artiklene for å komme i gang. Hvis du er helt ny til Starling, er dette et flott sted å starte.

utvidelser

Når du plukker opp det grunnleggende og er i stand til å bygge ting, er utvidelser trolig stedet du trenger å lete etter. Her finner du mange forskjellige biblioteker skrevet av fantastiske utviklere. Som navnet antyder, utvides det kun rammets evner.

fjær

Ethvert spill er ufullstendig uten et brukergrensesnitt. Å bygge en hovedmeny, alternativskjerm, om skjerm, kreditter, nivåvalg og så videre, er mye enklere når du bruker denne utrolig enkle rammen.

Starling API-referanse

Enten du er nybegynner, mellomliggende eller avansert utvikler, er det alltid en god idé å referere til API-referansen. Den gir deg den oppdaterte syntaksen av alle metoder, klasser og egenskaper for alle objekter i Starling-rammeverket.

Starling Community Forum

Har du et problem du ikke klarer å løse under utviklingsprosessen? Starling Framework er det beste stedet å lete etter hjelp. Et stort sett med utviklere bidrar til dette fellesskapsprosjektet, og hjelper hverandre med spillutviklingsproblemer man måtte møte.

Starling Framework på GitHub

Dette er den primære plasseringen av Starling-rammen. Hvis du vil gaffel, bidra eller bare se etter oppdateringer, ikke glem å koble til dette.

Issue Tracker

Ingen produkt eller rammeverk er vellykket uten bidrag fra testere eller virkelige brukere. Hvis du tror du har funnet en feil eller et problem i Starling-rammeverk, er dette sporingstangen til å rapportere det gjennom. Bidra med og hold Starling-rammeverket flygende!


Utviklingstips

Mens noen av disse er Starling Framework-spesifikke tips, holder de fleste bra for enhver spillutviklingsteknologi.

Bruk multifunksjonsfunksjonene

Siden Starling-rammeverket er basert på Flash ActionScript 3.0, ikke glem å dra nytte av multi-skjermfunksjonene i Starling-rammeverket.

Det er mange måter å gjøre spillene dine multi-plattform eller multi-screen vennlig. Pass på at du utforsker "Demo" og "Stillas" -prosjektene som følger med koden.

Plan optimalisering rett fra begynnelsen

Optimalisering er en integrert del av kodingen av et spill på hvilket som helst språk. Husk at en av Starling Frameworks viktigste funksjoner er multiplattformstøtten.

Når du begynner å kode ditt spill, fortsetter kompleksiteten til koden bare å vokse gjennom utviklingsprosessen. For å være sikker på at du ikke finner deg selv selv i å endre arkitekturen i spillet senere (på grunn av ineffektivitet), er det alltid best å begynne å tenke på "optimalisert koding" rett fra din første linje av kode.

Segregere koden

Hold koden din i separate seksjoner (spesielt viktig for flere plattformer):

  • Kjernelogikk: Inneholder oppføringer av forskjellige spillkarakterer, logikk for å flytte objekter, legge opp score, spille musikk og så videre. Enhver feilrettelse i denne delen av koden skal finne ut hvilken løsning for alle plattformer spillet er bygget for.
  • Plattformlogikk: Inneholder bare plattformspesifikk kode, som kan bety at jeg vurderer iOS eller Android; tabletter, telefoner eller web skjermstørrelser, oppløsninger og tettheter ... Denne delen av koden håndterer ting for noen spesifikke plattformer, for eksempel aktivering eller deaktivering av spesialeffekter basert på plattformens evne til å sikre at spillet alltid kjører på en god framerate.
  • Interaksjonslogikk: Inneholder interaksjonsbasert logikk som sikrer at samspillet er definert basert på plattformen som spillet kjører på, og deretter snakker til kjernelogikken for å utføre handlinger i spillet. For eksempel, kontrollerer musene for skrivebord og Internett, berører kontrollene for mobil og nettbrett.

Bestem om å bruke Vector eller Raster Graphics

Vektorer er lette i form av minne. Disse grafikkene tegnes i kjøretid på skjermen, så mindre grafiske data lagres i minnet. Imidlertid kan gjengivelse av dem være dyrt på prosessoren.

Bitmaps eller raster-grafikk er minneintensive. Lagring fysisk og forbruker minne for å gjengi kan være en utfordring, men er forholdsvis lettere når det gjelder rendering (med mindre du utfører bitmapintensiv behandling).

Vil du at spillet skal løpe raskere på enheter med begrensede prosessorer? Bruk bitmaps. Ønsker du mer fleksibilitet visuelt? Bruk vektorer. Det er utfordringer knyttet til å bruke enten, så prøv alltid å balansere bruken av begge disse elementene. Husk hvor mye prosessorkraft og minne spillet ditt bruker.

Bruk flere sprite-ark når det kreves

Du er ikke tvunget til å prøve å inkludere all grafikk av spillet ditt i ett enkelt sprite-ark. Hvis det er nødvendig, må du utvide logikken din for å bruke flere sprite ark - men behold dette i sjakk, da spillet ditt kan ta opp flere filstørrelser og viktigst være mer minneintensiv.

Vurder Dynamic Sprite Sheet Generation

Det er utvidelser der ute som du kan bruke til dette - eller enda bedre, kan du skrive en til å gjøre akkurat det du trenger.

Ved å bruke forhåndsdefinerte vektor Flash animasjoner (SWFs) og dynamisk konvertere dem til sprite ark, kan du spare mye tid for utvikling, samt redusere filstørrelsen på binæret. Pass på at du ikke ender opp med å gjøre dette for mye for å påvirke kjøre-tidsminnet som forbrukes av spillet ditt.

Se inn i ActionScript Native Extensions

Bruk ANEs til å utvide spillene dine for å inneholde plattformspesifikke funksjoner, for eksempel kjøp i apper, spill i annonser og sosiale funksjoner (for eksempel Game Center for iOS). Det er mange gratis og betalte ANE tilgjengelig på nettet, så ikke glem å sjekke dem ut. Du kan også enkelt skrive din egen hvis nødvendig.

Utvikling involvering

Hold deg aktiv i samfunnet. Det er mange ekspertutviklere i samfunnet som har bidratt lenge. Legg inn dine spørsmål på Starling-forumene, og ikke glem å logge på bugs eller støtte billetter hvis nødvendig. Utvikleres ideer og krav er en av grunnene til at Starling Framework vokser med flere funksjoner i løpet av dagen.


Et erfaringsord

Det er et ordtak: "Det er ikke verktøyet, men ferdighetene som er viktige". Starling Framework er et flott åpen kildekode-API-sett for å bygge fantastiske GPU-akselererte spill for flere plattformer og enheter. Imidlertid vil du være oppmerksom på utviklingsmetodene, mønstrene, måten å optimalisere koden, og så videre, alltid hjelpe deg i det lange løp. Mange emner som jeg har oppført i denne artikkelen gjelder for mange andre rammer og språk.

Derfor, uansett hvilket språk, rammeverk, plattform eller verktøy du bruker til å bygge spill, er konseptene for spillutvikling fortsatt viktig.


Vellykkede spill bygget på Starling Framework

Her er noen av Starling-baserte spill som har vært veldig vellykkede:

Angry Birds (Facebook Edition)


Spredt bort


Ruby Blast


The Dragon's Time


Elver av Olympus



Konklusjon

Nå som alle ressursene i verden er kombinert til ett enkelt sted, bør læring Starling Framework være et stykke kake.

Start med å bygge det enkleste av spill og arbeid deg gjennom det. Ikke glem å legge igjen en kommentar og gi oss beskjed om hva du har bygget! Når du slipper et spill, vil jeg gjerne vurdere det og kommentere det.

Til slutt, som jeg alltid sier, er det ikke verktøyet som er viktig, men kunsten og vitenskapen. Husk at Starling Framework er bare et verktøy eller et medium for å uttrykke dine spillutviklingsferdigheter; Det som virkelig betyr noe er ferdighetene du til slutt vil bygge på deg selv. Det finnes utallige plattformer, operativsystemer, enheter, skjermer, rammer, språk og verktøy der ute. Å dyrke deg selv for å kunne bygge for dem, og for å lykkes, er nøkkelen. Starling Framework er et flott medium for å oppnå dette med. Beste ønsker!