Come imparare Starling Framework

Starling Framework è un framework open source gratuito scritto con ActionScript 3.0. Lo scopo principale di questo framework è quello di rendere estremamente facile agli sviluppatori la creazione di giochi per la piattaforma Adobe Flash. In questo articolo, ti presenteremo Starling e condividi suggerimenti, screencast, esercitazioni e risorse per iniziare a utilizzarlo.


Perché scegliere Starling Framework?

Ci sono molti vantaggi nell'utilizzare Starling Framework per creare i tuoi giochi; questi sono alcuni dei motivi più importanti:

  • È gratis.
  • È open source: gli sviluppatori contribuiscono ad estendere i limiti del framework.
  • È accelerato dall'hardware: Starling è basato sulla nuova tecnologia Stage3D di Adobe Flash Player, che utilizza l'hardware GPU del dispositivo del giocatore per il rendering del gioco.
  • È compatibile con più schermi: è possibile compilare una base di codice per l'esecuzione su più piattaforme: desktop, Web, iOS e Android.

Dove scaricarlo

Il sito Web ufficiale di Starling Framework contiene un collegamento per scaricare l'ultima versione. Per qualsiasi gioco basato su Starling, questo è il pacchetto più importante e primario di cui avrai bisogno.

Come menzione, Starling è open source, quindi è anche ospitato su GitHub.

Questo ramo contiene quanto segue:

  • Codice sorgente completo del framework Starling scritto in AS3.
  • Progetti dimostrativi che possono essere utilizzati per esplorare come scrivere codice Starling.
  • Un progetto di scaffold che ti offre un punto di partenza per iniziare un nuovo progetto.
  • Alcuni test unitari per diverse funzionalità di Starling Framework.
  • Utilità che ti aiuteranno a distribuire e testare il gioco in base al framework.

Prerequisiti

Si presume che tu abbia un livello intermedio di conoscenza in Flash ActionScript 3.0 per poter acquisire rapidamente il framework Starling. Se hai bisogno di aiuto con Flash ActionScript 3.0, consiglio il libro Essential ActionScript 3.0 di Colin Moock.


Post correlati
  • Per ulteriori risorse consigliate, consulta Come imparare Flash e AS3 per lo sviluppo di giochi.

Iniziare con lo sviluppo

Tutorial video principianti (gratuito)

Per cominciare, se sei nuovo a questo framework, ti ​​consiglio di iniziare con un semplice progetto che ti accompagni dall'inizio alla fine del processo di sviluppo di un gioco. Potresti trovarlo nella mia serie video Starting with Starling.

In questa serie di video, imparerai come creare un gioco chiamato Hungry Hero.


Eroe affamato

La serie di video ti guiderà attraverso vari argomenti coinvolti nell'apprendimento di Starling Framework:

  • Impostare
  • Immagini, trame e pulsanti
  • Fogli di sprite e animazione
  • Navigazione utilizzando eventi e ascoltatori
  • Scorrimento parallasse
  • Stato del gioco, Sprites, Rilevamento delle collisioni, Testo e Caratteri, Particelle

Introduzione a Starling (Ebook gratuito)

Per una guida API più approfondita dell'intero framework, una buona risorsa è il libro Introduction to Starling di Thibault Imbert.


(Maggiori informazioni disponibili sul sito Web di Thibault.)


Cosa Avanti?

Una volta apprese le basi di Starling Framework, ti ​​consiglio di concentrarti sui seguenti aspetti.

Effetti visivi avanzati (come i sistemi particellari)

Aggiungere effetti particellari ed effetti speciali migliora l'esperienza dei giocatori che giocano ai tuoi giochi. Esiste un'estensione ben concepita per i sistemi di particelle Starling che è un must da esplorare per gli sviluppatori di giochi in erba.

Modelli MVC e Mi piace per la codifica efficiente

Importante quanto il processo di sviluppo di un gioco è il modo in cui si progettano il codice e le risorse (grafica e audio). Separare il codice in componenti Model, View e Controller ti darà spesso un approccio migliore per la gestione dei tuoi progetti, rendendo più facile trovare e correggere bug e offrire un'implementazione più efficiente.

Tecniche di ottimizzazione per prestazioni efficienti

Ogni gioco deve essere ottimizzato, indipendentemente dal framework / linguaggio che usi. Ciò garantisce sempre che i tuoi giochi vengano eseguiti su piattaforme / hardware meno comuni. Mai sottovalutare i problemi di prestazioni, specialmente nello sviluppo del gioco!

Componenti dell'interfaccia utente creati per giochi basati su Starling

Esplora la struttura dell'interfaccia utente finemente costruita per i giochi basati su Starling, Feathers. Costruito utilizzando AS3 e Starling Framework e accelerato con Stage3D, è ottimizzato e progettato per l'uso con più densità e risoluzioni dello schermo.

Estendere Starling Framework With Extensions

Ci sono molte estensioni mature per Starling Framework, molte delle quali sono molto utili! Questi sono creati da alcuni dei migliori sviluppatori, ai fini dello sviluppo del gioco: hanno usato questo codice per creare ed estendere i propri giochi.

Processo di sviluppo del gioco

Ora che comprendi i dettagli tecnici del framework stesso, è estremamente importante sapere come si costruisce un gioco, specialmente l'efficienza e l'architettura. Questo è uno degli argomenti più importanti da cogliere, quindi continua a esercitarti e continua a leggere tutorial.


Più risorse di apprendimento

Questi collegamenti forniscono grandi risorse di apprendimento per argomenti specifici attorno allo Starling Framework.

Il manuale di Starling

Questa è probabilmente la migliore risorsa per un principiante che cerca di creare giochi usando il framework Starling. Contiene tutorial dalle basi al livello avanzato.

Esercitazioni ufficiali e snippet di codice

Qui troverai i migliori video tutorial e articoli per iniziare. Se sei completamente nuovo a Starling, questo è un ottimo punto di partenza.

estensioni

Una volta che hai imparato le basi e sono in grado di costruire cose, le estensioni sono probabilmente il posto che devi cercare. Qui troverai molte librerie diverse scritte da sviluppatori fantastici. Come suggerisce il nome, estende solo le funzionalità del framework.

piume

Qualsiasi gioco è incompleto senza un'interfaccia utente. Costruire un menu principale, una schermata delle opzioni, schermo, crediti, selezione del livello e così via è tutto molto più semplice quando si utilizza questa struttura incredibilmente facile.

Riferimento API Starling

Che tu sia uno sviluppatore principiante, intermedio o avanzato, è sempre consigliabile fare riferimento al riferimento dell'API. Fornisce la sintassi aggiornata di tutti i metodi, classi e proprietà per tutti gli oggetti nel framework Starling.

Forum della comunità Starling

Colpisci un problema che non sei in grado di risolvere durante il processo di sviluppo? La community di Starling Framework è il posto migliore in cui cercare aiuto. Un grande gruppo di sviluppatori contribuisce a questo forum della comunità, aiutandosi a vicenda con i problemi di sviluppo del gioco che si potrebbero incontrare.

Starling Framework su GitHub

Questa è la posizione principale del framework Starling. Se vuoi fork, contribuisci o semplicemente guarda gli aggiornamenti, non dimenticare di connetterti a questo.

Issue Tracker

Nessun prodotto o framework ha successo senza il contributo di tester o utenti reali. Se pensi di aver trovato un bug o un problema nel framework di Starling, questo è il tracker a segnalarlo. Contribuisci e mantieni il volo di Starling Framework!


Suggerimenti per lo sviluppo

Mentre alcuni di questi sono suggerimenti specifici di Starling Framework, la maggior parte è valida per qualsiasi tecnologia di sviluppo di giochi.

Usa le funzionalità multischermo

Poiché il framework Starling è basato su Flash ActionScript 3.0, non dimenticare di sfruttare le funzionalità multischermo del framework Starling.

Esistono numerosi modi per rendere i tuoi giochi multi-piattaforma o multi-screen friendly. Assicurati di esplorare i progetti "Demo" e "Scaffold" forniti con la base di codice.

Pianificazione dell'ottimizzazione fin dall'inizio

L'ottimizzazione è parte integrante della codifica di un gioco in qualsiasi lingua. Ricorda, una delle caratteristiche più importanti di Starling Framework è il suo supporto multipiattaforma.

Una volta che inizi a programmare il tuo gioco, la complessità del codice continua a crescere nel corso del processo di sviluppo. Per assicurarti di non ritrovarti a modificare l'architettura stessa del tuo gioco in una fase successiva (a causa dell'inefficienza), è sempre meglio iniziare a pensare a "codice ottimizzato" direttamente dalla prima riga di codice.

Segrega il codice

Mantieni il tuo codice in sezioni separate (particolarmente importante per più piattaforme):

  • Logica di base: contiene i comportamenti di diversi personaggi del gioco, la logica per spostare oggetti, aggiungere punteggi, riprodurre musica e così via. Qualsiasi correzione di bug in questa parte del codice dovrebbe accertare la correzione per tutte le piattaforme per cui il gioco è stato creato.
  • Logica della piattaforma: contiene solo codice specifico della piattaforma, che potrebbe significare considerando iOS o Android; tablet, telefoni o web; dimensioni dello schermo, risoluzioni e densità ... Questa sezione del codice gestisce le cose per qualsiasi piattaforma specifica, come l'attivazione o la disattivazione di effetti speciali basati sulla capacità della piattaforma per assicurare che il gioco funzioni sempre con un buon framerate.
  • Logica dell'interazione: contiene una logica basata sull'interazione che garantisce che l'interazione sia definita in base alla piattaforma su cui è in esecuzione il gioco, quindi parlando alla logica di base per eseguire azioni nel gioco. Ad esempio, controlli del mouse per desktop e Web, controlli touch per dispositivi mobili e tablet.

Decidi se utilizzare la grafica vettoriale o raster

I vettori sono leggeri in termini di memoria. Questi grafici sono disegnati in fase di esecuzione sullo schermo, quindi meno dati grafici sono memorizzati nella memoria. Tuttavia, il loro rendering può essere costoso sul processore.

Bitmap o grafica raster richiedono molta memoria. Memorizzare fisicamente e consumare memoria per renderizzare può essere una sfida, ma sono relativamente più chiari in termini di rendering (a meno che non si esegua l'elaborazione intensiva di bitmap).

Vuoi che il gioco funzioni più velocemente su dispositivi con processori limitati? Usa bitmap. Vuoi una maggiore flessibilità visiva? Usa i Vettori. Ci sono sfide inerenti all'utilizzo di entrambi, quindi cerca sempre di bilanciare l'uso di entrambi questi elementi. Tieni presente quanta potenza di elaborazione e memoria usi il tuo gioco.

Utilizzare più fogli di sprite quando richiesto

Non sei obbligato a provare a includere tutta la grafica del tuo gioco in un singolo foglio sprite. Se necessario, espandi la tua logica per utilizzare più fogli di sprite, ma, tieni questo a posto, perché il tuo gioco può occupare più dimensioni di file e, soprattutto, essere più ricco di memoria.

Prendi in considerazione la generazione di fogli di sprite dinamici

Ci sono delle estensioni che puoi usare per questo - o, ancora meglio, puoi scriverne una per fare esattamente ciò di cui hai bisogno.

L'utilizzo di animazioni Flash (SWF) vettoriali pre-create e la loro conversione dinamica in fogli di sprite potrebbe farti risparmiare molto tempo di sviluppo, oltre a ridurre le dimensioni del file del tuo binario. Assicurati di non farlo troppo per influenzare la memoria di runtime consumata dal gioco.

Cerca nelle estensioni native di ActionScript

Utilizza gli ANE per espandere i tuoi giochi per contenere funzionalità specifiche della piattaforma, come acquisti in-app, annunci in-game e funzioni social (come Game Center per iOS). Esistono molti ANE gratuiti ea pagamento disponibili online, quindi non dimenticare di verificarli. Puoi anche scrivere facilmente il tuo se necessario.

Coinvolgimento nello sviluppo

Rimani attivo nella comunità. Ci sono molti sviluppatori esperti nella comunità che hanno contribuito per molto tempo. Pubblica le tue domande sui forum di Starling e, se necessario, non dimenticare di registrare bug o biglietti di supporto. Le idee e i requisiti degli sviluppatori sono uno dei motivi per cui Starling Framework cresce con più funzionalità di giorno in giorno.


Una parola di esperienza

C'è un detto: "Non è lo strumento, ma l'abilità che conta". Starling Framework è una grande API open source impostata per creare fantastici giochi accelerati con GPU per piattaforme e dispositivi multipli. Tuttavia, prestare molta attenzione alle tecniche di sviluppo, ai modelli, al modo di ottimizzare il codice e così via ti aiuterà sempre a lungo termine. Molti argomenti che ho elencato in questo articolo sono validi per molti altri framework e linguaggi.

Pertanto, indipendentemente dalla lingua, dal framework, dalla piattaforma o dallo strumento che utilizzi per creare giochi, i concetti di sviluppo del gioco rimangono importanti.


Giochi di successo basati su Starling Framework

Ecco alcuni dei giochi basati su Starling che hanno avuto molto successo:

Angry Birds (Edizione Facebook)


Distanziato


Ruby Blast


The Dragon's Time


Fiumi dell'Olimpo



Conclusione

Ora che tutte le risorse del mondo sono riunite in un unico posto, l'apprendimento di Starling Framework dovrebbe essere un gioco da ragazzi.

Inizia creando il più semplice dei giochi e facendoti strada attraverso di esso. Non dimenticare di lasciare un commento e facci sapere cosa hai costruito! Una volta rilasciato un gioco, sarò felice di esaminarlo e commentarlo.

Infine, come dico sempre, non è lo strumento che è importante, ma l'arte e la scienza. Ricorda che Starling Framework è solo uno strumento o un mezzo per esprimere le tue capacità di sviluppo del gioco; ciò che conta davvero è l'abilità che alla fine costruirai in te stesso. Ci sono innumerevoli piattaforme, sistemi operativi, dispositivi, schermate, quadri, linguaggi e strumenti. Crescere per essere in grado di costruire per loro e avere successo è la chiave. Starling Framework è un ottimo mezzo per raggiungere questo obiettivo. Ti auguro il meglio!