Hoe Starling Framework te leren

Starling Framework is een gratis, open-source framework geschreven met behulp van ActionScript 3.0. Het primaire doel van dit framework is om het voor ontwikkelaars uiterst eenvoudig te maken om games voor het Adobe Flash Platform te bouwen. In dit artikel zullen we je laten kennismaken met Starling en tips, screencasts, tutorials en bronnen delen om ermee aan de slag te gaan.


Waarom kiezen voor Starling Framework?

Er zijn veel voordelen van het gebruik van Starling Framework voor het maken van uw games; dit zijn enkele van de belangrijkste redenen:

  • Het is gratis.
  • Het is open-source: ontwikkelaars dragen bij om de grenzen van het framework te verlengen.
  • De hardware is versneld: Starling is gebouwd op de nieuwe Stage3D-technologie van Adobe Flash Player, die de GPU-hardware van het apparaat van de speler gebruikt om het spel te renderen.
  • Het is geschikt voor meerdere schermen: één codebase kan worden gecompileerd om op meerdere platforms te worden uitgevoerd: desktop, internet, iOS en Android.

Waar te downloaden

De officiële Starling Framework-website bevat een link om de nieuwste versie te downloaden. Voor alle Starling-spellen is dit het belangrijkste en het primaire pakket dat je nodig hebt.

Zoals gezegd is Starling open source en dus wordt het ook gehost op GitHub.

Deze tak bevat het volgende:

  • Volledige broncode van Starling-framework geschreven in AS3.
  • Demoprojecten die kunnen worden gebruikt om te onderzoeken hoe Starling-code kan worden geschreven.
  • Een steigerproject dat u een startpunt biedt om aan de slag te gaan met een nieuw project.
  • Enkele unit tests voor verschillende functies van Starling Framework.
  • Hulpprogramma's waarmee u de game kunt implementeren en testen op basis van het framework.

voorwaarden

Er wordt van uitgegaan dat u een kennisniveau op middelhoog niveau hebt in Flash ActionScript 3.0 om het Starling-framework snel te kunnen ophalen. Als u hulp nodig hebt met Flash ActionScript 3.0, raad ik het boek Essential ActionScript 3.0 van Colin Moock aan.


gerelateerde berichten
  • Zie Flash en AS3 leren voor game-ontwikkeling voor meer aanbevolen bronnen.

Aan de slag met ontwikkeling

Beginner Video Tutorials (gratis)

Om te beginnen, als u nog niet bekend bent met dit framework, raad ik u aan om te beginnen met een eenvoudig project dat u meeneemt van het begin tot het einde van het ontwikkelingsproces van een game. Je vindt dit misschien in mijn videoserie Beginnen met Starling.

In deze reeks video's leer je hoe je een spel kunt bouwen met de naam Hungry Hero.


Hungry Hero

De videoserie neemt je mee door verschillende onderwerpen die te maken hebben met het leren van Starling Framework:

  • Opzetten
  • Afbeeldingen, texturen en knoppen
  • Sprite-bladen en -animatie
  • Navigatie met behulp van gebeurtenissen en luisteraars
  • Parallax scrollen
  • Spelstatussen, Sprites, botsingsdetectie, tekst en lettertypen, deeltjes

Introductie van Starling (gratis ebook)

Voor een meer diepgaande API-gids van het hele framework is een goed hulpmiddel het boek Introduction to Starling van Thibault Imbert.


(Meer info beschikbaar op de website van Thibault.)


Wat nu?

Zodra je de basis van Starling Framework onder de knie hebt, raad ik je aan je te concentreren op de volgende aspecten.

Verbeterde visuele effecten (zoals particle-systemen)

Het toevoegen van partikeleffecten en speciale effecten verbetert de ervaring van de spelers die jouw spellen spelen. Er is een netjes op maat gemaakte extensie voor Starling particle systems die een must is om te ontdekken voor beginnende game-ontwikkelaars.

MVC-patronen en de likes voor efficiënte codering

Hoe belangrijk het proces bij het ontwikkelen van een game ook is, is de manier waarop u de code en assets ontwerpt (afbeeldingen en audio). Het scheiden van uw code in Model-, View- en Controller-componenten geeft u vaak een betere aanpak voor het beheer van uw projecten, waardoor het eenvoudiger wordt om bugs te vinden en op te lossen en u een efficiëntere implementatie te geven.

Optimalisatietechnieken voor efficiënte prestaties

Elke game moet worden geoptimaliseerd, ongeacht het kader / de taal die u gebruikt. Dit zorgt er altijd voor dat uw spellen op de minst voorkomende platforms / hardware draaien. Onderschat nooit de prestatieproblemen, vooral bij de ontwikkeling van spellen!

UI-componenten gemaakt voor op Starling gebaseerde games

Verken het fijngebouwde UI-framework voor Starling-spellen, Feathers. Gebouwd met AS3 en Starling Framework en versneld met Stage3D, het is geoptimaliseerd en ontworpen voor gebruik met meerdere schermdichtheden en -resoluties.

Breid Starling Framework met uitbreidingen uit

Er zijn veel volwassen uitbreidingen voor Starling Framework, waarvan je er veel erg handig zult vinden! Deze zijn gemaakt door enkele van de beste ontwikkelaars voor het doel van game-ontwikkeling - ze gebruikten deze code om hun eigen games te bouwen en uit te breiden.

Proces van spelontwikkeling

Nu je de technische details van het framework zelf begrijpt, is het uitermate belangrijk om te weten hoe een game moet worden gebouwd, met name de efficiëntie en architectuur. Dit is een van de belangrijkste onderwerpen om te begrijpen, dus blijf oefenen en blijf tutorials lezen.


Meer leermiddelen

Deze links bieden geweldige leermiddelen voor specifieke onderwerpen rond het Starling Framework.

The Starling Manual

Dit is waarschijnlijk de beste bron voor een beginner die probeert games te bouwen met behulp van het Starling-framework. Het bevat tutorials van basics tot geavanceerd niveau.

Officiële zelfstudies en codefragmenten

Hier vindt u de beste videozelfstudies en artikelen om aan de slag te gaan. Als je helemaal nieuw bent bij Starling, is dit een geweldige plek om te beginnen.

uitbreidingen

Als je eenmaal de basis hebt gevonden en dingen kunt bouwen, is extensies waarschijnlijk de plek waar je naar moet zoeken. Hier vind je veel verschillende bibliotheken geschreven door awesome ontwikkelaars. Zoals de naam al doet vermoeden, breidt het alleen de mogelijkheden van het framework uit.

veren

Elke game is niet compleet zonder een gebruikersinterface. Het bouwen van een hoofdmenu, het optiescherm, over het scherm, aftiteling, niveauselectie, enzovoort, is allemaal veel eenvoudiger wanneer dit verbazingwekkend eenvoudige kader wordt gebruikt.

Starling API Reference

Of u nu een beginner, een gemiddelde of een geavanceerde ontwikkelaar bent, het is altijd een goed idee om naar de API-referentie te verwijzen. Het biedt u de actuele syntaxis van alle methoden, klassen en eigenschappen voor alle objecten in het Starling-framework.

Starling Community Forum

Heeft u een probleem dat u niet kunt oplossen tijdens het ontwikkelingsproces? De community van Starling Framework is de beste plaats om hulp te zoeken. Een groot aantal ontwikkelaars draagt ​​bij aan dit communityforum door elkaar te helpen bij het oplossen van spelproblemen.

Starling Framework op GitHub

Dit is de primaire locatie van het Starling-framework. Als je wilt vorkvaren, bijdragen of gewoon wilt letten op updates, vergeet dan niet om hier verbinding mee te maken.

Issue Tracker

Geen enkel product of raamwerk is succesvol zonder de bijdrage van testers of echte gebruikers. Als u denkt dat u een probleem of een probleem in het Starling-framework hebt gevonden, is dit de tracker om het te melden. Doen bij en houden het Starling-framework vliegen!


Ontwikkelingstips

Hoewel sommige van deze Starling Framework-specifieke tips zijn, houden de meeste wel vast aan elke technologie voor game-ontwikkeling.

Gebruik de functies voor meerdere schermen

Omdat het Starling-raamwerk is gebaseerd op Flash ActionScript 3.0, vergeet dan niet om gebruik te maken van de functies voor meerdere schermen van Starling Framework.

Er zijn verschillende manieren om uw games geschikt voor meerdere platforms of voor meerdere schermen te maken. Zorg ervoor dat je de 'Demo'- en' Scaffold'-projecten verkent die bij de codebasis zijn geleverd.

Planoptimalisatie vanaf het begin

Optimalisatie is een integraal onderdeel van het coderen van een game in elke taal. Vergeet niet dat een van Starling Framework's belangrijkste functies de multi-platform-ondersteuning is.

Zodra je begint met het coderen van je spel, blijft de complexiteit van de code alleen maar toenemen tijdens het ontwikkelingsproces. Om ervoor te zorgen dat je de architectuur zelf van je spel later niet kunt veranderen (vanwege inefficiëntie), is het altijd het beste om te beginnen denken aan "geoptimaliseerde codering" vanaf je eerste coderegel.

Segregeer de code

Houd uw code in afzonderlijke secties (vooral belangrijk voor meerdere platforms):

  • Kernlogica: bevat het gedrag van verschillende gametekens, logica om objecten te verplaatsen, scores bij te tellen, muziek af te spelen, enzovoort. Elke bugfix in dit deel van de code moet de fix vaststellen voor alle platforms waarvoor de game is gebouwd.
  • Platformlogica: bevat alleen platformspecifieke code, wat kan betekenen dat u rekening houdt met iOS of Android; tablets, telefoons of internet; schermafmetingen, resoluties en densiteiten ... Dit gedeelte van de code behandelt dingen voor specifieke platforms, zoals het activeren of deactiveren van speciale effecten op basis van de mogelijkheden van het platform om ervoor te zorgen dat het spel altijd op een goede framerate draait.
  • Interactielogica: bevat op interactie gebaseerde logica die ervoor zorgt dat de interactie wordt gedefinieerd op basis van het platform waarop de game wordt uitgevoerd en vervolgens met de kernlogica praat om acties in de game uit te voeren. Bijvoorbeeld muisbedieningen voor desktop en internet, aanraakbedieningen voor mobiel en tablet.

Bepaal of u vector- of rastergrafiek wilt gebruiken

Vectoren zijn licht in termen van geheugen. Deze afbeeldingen worden in runtime op het scherm getekend, zodat er minder grafische gegevens in het geheugen worden opgeslagen. Het kan echter kostbaar zijn om ze te renderen op de processor.

Bitmaps of rasterafbeeldingen zijn geheugenintensief. Fysiek opslaan en geheugen verbruiken om te renderen kan een uitdaging zijn, maar zijn relatief licht in termen van rendering (tenzij je bitmap-intensieve verwerking uitvoert).

Wilt u dat het spel sneller wordt uitgevoerd op apparaten met beperkte processors? Gebruik bitmaps. Wilt u meer flexibiliteit visueel? Gebruik vectoren. Er zijn uitdagingen die inherent zijn aan het gebruik van beide, dus probeer altijd het gebruik van beide elementen in evenwicht te brengen. Houd in gedachten hoeveel rekenkracht en geheugen uw spel gebruikt.

Gebruik meer Sprite-bladen wanneer nodig

Je bent niet gedwongen om te proberen alle grafische afbeeldingen van je spel op te nemen in een enkele sprite sheet. Breid desgewenst uw logica uit om meerdere Sprite-bladen te gebruiken, maar houd dit in de gaten, want uw spel kan meer bestandsgrootte innemen en, belangrijker nog, meer geheugenintensief zijn.

Overweeg Dynamic Sprite Sheet Generation

Er zijn daar extensies die je hiervoor kunt gebruiken - of, nog beter, je mag er een schrijven om precies dat te doen wat je nodig hebt.

Het gebruik van vooraf gemaakte vector Flash-animaties (SWF's) en het dynamisch converteren naar sprite-sheets kan u veel ontwikkeltijd besparen en de bestandsgrootte van uw binaire bestand verkleinen. Zorg ervoor dat je dit niet te veel doet om het runtime-geheugen dat door je game wordt verbruikt, te beïnvloeden.

Ga naar ActionScript Native Extensions

Gebruik ANE's om uw games uit te breiden met platformspecifieke functies, zoals in-app-aankopen, in-game-advertenties en sociale functies (zoals Game Center voor iOS). Er zijn veel gratis en betaalde ANE's online beschikbaar, dus vergeet niet om ze te bekijken. U kunt ook gemakkelijk uw eigen schrijven indien nodig.

Ontwikkelingsbetrokkenheid

Blijf actief in de gemeenschap. Er zijn veel deskundige ontwikkelaars in de community die al heel lang bijdragen. Plaats uw vragen op de Starling-forums en vergeet niet om bugs aan te melden of tickets te ondersteunen, indien nodig. Ideeën en eisen van ontwikkelaars zijn een van de redenen waarom Starling Framework met meer functies groeit met de dag.


Een woord van ervaring

Er is een gezegde: "Het is niet de tool, maar de vaardigheid die ertoe doet". Starling Framework is een geweldige open-source API-set om geweldige GPU-versnelde games te bouwen voor meerdere platforms en apparaten. Als u echter goed let op de ontwikkelingstechnieken, patronen, manier om de code te optimaliseren enzovoort, zal dit u altijd op de lange termijn helpen. Veel onderwerpen die ik in dit artikel heb genoemd, gelden voor veel andere kaders en talen.

Daarom, ongeacht de taal, het framework, het platform of de tool die u gebruikt om games te bouwen, blijven de concepten van game-ontwikkeling belangrijk.


Succesvolle spellen gebouwd op Starling Framework

Hier zijn enkele van Starling-gebaseerde games die echt succesvol zijn geweest:

Angry Birds (Facebook-editie)


Spaced Away


Ruby Blast


The Dragon's Time


Rivieren van Olympus



Conclusie

Nu alle hulpbronnen ter wereld op één plek zijn samengevoegd, moet het leren van Starling Framework een fluitje van een cent zijn.

Begin met het bouwen van de eenvoudigste games en werk er erdoorheen. Vergeet niet om een ​​reactie achter te laten en laat ons weten wat je hebt gebouwd! Zodra je een game hebt uitgebracht, zal ik deze graag beoordelen en erop reageren.

Ten slotte, zoals ik altijd zeg, het is niet de tool die belangrijk is, maar de kunst en de wetenschap. Vergeet niet dat Starling Framework slechts een hulpmiddel of medium is om uw vaardigheden in spelontwikkeling uit te drukken; wat echt belangrijk is, is de vaardigheid die je uiteindelijk in jezelf zult inbouwen. Er zijn talloze platforms, besturingssystemen, apparaten, schermen, frameworks, talen en tools die er zijn. Jezelf ontwikkelen om voor hen te kunnen bouwen en succesvol te zijn, is de sleutel. Starling Framework is een geweldig medium om dit mee te bereiken. Al het beste!