Cum de a învăța Framework Starling

Starling Framework este un cadru gratuit, open-source scris folosind ActionScript 3.0. Scopul principal al acestui cadru este de a face extrem de ușor pentru dezvoltatori să construiască jocuri pentru platforma Adobe Flash. În acest articol, vă vom prezenta Starling și veți putea să vă împărtășiți sfaturile, scenariile, tutorialele și resursele pentru a începe să o utilizați.


De ce să alegeți programul Starling?

Există o mulțime de beneficii ale utilizării Starling Framework pentru crearea de jocuri; acestea sunt unele dintre cele mai importante motive:

  • Este gratis.
  • Este open-source: dezvoltatorii contribuie la extinderea limitelor cadrului.
  • Hardware-ul este accelerat: Starling este construit pe noua tehnologie Stage3D a Adobe Flash Player, care folosește hardware-ul GPU al dispozitivului player-ului pentru a reda jocul.
  • Este compatibil cu mai multe ecrane: o bază de date poate fi compilată pentru a rula pe mai multe platforme - desktop, web, iOS și Android.

Unde să descărcați

Site-ul oficial Starling Framework conține un link pentru a descărca ultima versiune. Pentru toate jocurile bazate pe Starling, acesta este cel mai important și pachetul primar de care veți avea nevoie.

După cum se menționează, Starling este open source și, astfel, este găzduit și pe GitHub.

Această ramură conține următoarele:

  • Codul sursă complet al cadrului Starling scris în AS3.
  • Proiectele demo care pot fi folosite pentru a explora modul în care poate fi scris codul Starling.
  • Un proiect de schelă care vă oferă un punct de plecare pentru a începe un nou proiect.
  • Unele teste unitare pentru diferite caracteristici ale Starling Framework.
  • Utilitare care vă vor ajuta să implementați și să testați jocul pe baza cadrului.

Cerințe preliminare

Se presupune că aveți un nivel de cunoaștere intermediar în Flash ActionScript 3.0 pentru a putea ridica rapid cadrul Starling. Dacă aveți nevoie de ajutor cu Flash ActionScript 3.0, vă recomandăm cartea Essential ActionScript 3.0 de Colin Moock.


postări asemănatoare
  • Pentru mai multe resurse recomandate, consultați Cum să învățați Flash și AS3 pentru dezvoltarea jocurilor.

Noțiuni de bază cu dezvoltarea

Tutoriale video pentru începători (gratuit)

În primul rând, dacă sunteți nou în acest cadru, vă recomand să începeți cu un proiect simplu care vă va face să începeți până la terminarea procesului de dezvoltare a unui joc. Puteți găsi acest lucru în seria mea video Începând cu Starling.

Pe parcursul acestei serii de videoclipuri, veți învăța cum să construiți un joc numit Hero Hungry.


Eroul erou

Seriile video vă vor aborda prin diverse teme implicate în învățarea Starling Framework:

  • Configurare
  • Imagini, texturi și butoane
  • Sprite foi și animație
  • Navigare utilizând evenimente și ascultători
  • Parallax Scrolling
  • Stari de joc, Sprite, Detectarea coliziunii, Text și Fonturi, Particule

Introducere în Starling (Ebook gratuit)

Pentru un ghid API mai aprofundat al întregului cadru, o bună resursă este cartea Introducere în Starling de Thibault Imbert.


(Mai multe informații sunt disponibile pe site-ul Thibault.)


Ce urmează?

Odată ce ați atârna de elementele de bază ale Starling Framework, vă recomand să vă concentrați asupra următoarelor aspecte.

Efecte vizuale îmbunătățite (cum ar fi sistemele de particule)

Adăugarea efectelor de particule și a efectelor speciale îmbunătățește experiența jucătorilor care joacă jocurile dvs. Există o extensie bine adaptată pentru sistemele de particule Starling, care este o necesitate de a explora dezvoltatorii de jocuri în devenire.

Modele MVC și preferințele pentru o codificare eficientă

La fel de important ca procesul implicat în dezvoltarea unui joc este modul în care arhitectați codul și activele (grafică și audio). Separarea codului dvs. de componentele Model, Vizualizare și Controller vă va oferi de multe ori o abordare mai bună pentru gestionarea proiectelor dvs., facilitând găsirea și remedierea erorilor și oferind o implementare mai eficientă.

Tehnici de optimizare pentru performanță eficientă

Orice joc trebuie optimizat, indiferent de cadrul / limbajul pe care îl folosiți. Acest lucru asigură întotdeauna că jocurile dvs. rulează pe platformele / hardware-ul cel mai puțin comun. Nu subestimați niciodată problemele de performanță, în special în dezvoltarea jocurilor!

Componente UI construite pentru jocuri de tip Starling

Explorați cadrul de interfață fin construit pentru jocurile Starling, Feathers. Construit folosind AS3 și Starling Framework, și accelerat folosind Stage3D, este optimizat și arhitect pentru utilizare cu densități multiple de ecran și rezoluții.

Extindeți sistemul Starling cu extensiile

Există o mulțime de extensii mature pentru Starling Framework, dintre care multe veți găsi foarte utile! Acestea sunt create de unii dintre cei mai buni dezvoltatori, în scopul dezvoltării jocului - au folosit acest cod pentru a-și construi și extinde propriile jocuri.

Procesul de dezvoltare a jocului

Acum că înțelegeți tehnicile cadrului în sine, este extrem de important să știți cum trebuie construit un joc - în special eficiența și arhitectura. Acesta este unul dintre cele mai importante subiecte pentru a înțelege, așa că păstrați practicarea și continuați să citiți tutoriale.


Mai multe resurse de învățare

Aceste linkuri oferă resurse de învățare excelente pentru anumite subiecte din jurul Starling-ului.

Manualul Starling

Aceasta este probabil cea mai bună resursă pentru un începător care încearcă să construiască jocuri utilizând cadrul Starling. Acesta conține tutoriale de la bază la nivel avansat.

Tutoriale oficiale și fragmente de cod

Aici veți găsi cele mai bune tutoriale video și articole pentru a începe. Dacă sunteți complet nou la Starling, acesta este un loc minunat pentru a începe.

Extensii

Odată ce ați ridica elementele de bază și sunteți în stare să construiți lucruri, extensiile sunt probabil locul pe care trebuie să-l căutați. Aici veți găsi numeroase biblioteci diferite scrise de diverși minuni. După cum sugerează și numele, acesta extinde doar capacitățile cadrului.

pene

Orice joc este incomplet fără o interfață de utilizator. Construirea unui meniu principal, a ecranului de opțiuni, a ecranului, a creditelor, a selectării nivelului și așa mai departe este mult mai simplă atunci când se utilizează acest cadru uimitor de ușor.

Starling API Reference

Indiferent dacă sunteți dezvoltator începător, intermediar sau avansat, este întotdeauna o idee bună să consultați referința API. Acesta vă oferă sintaxa actualizată a tuturor metodelor, clasei și proprietăților pentru toate obiectele din cadrul Starling.

Forumul comunității Starling

Apăsați o problemă pe care nu o puteți rezolva în timpul procesului de dezvoltare? Comunitatea Starling Framework este cel mai bun loc pentru a căuta ajutor. Un mare set de dezvoltatori contribuie la acest forum al comunității, ajutându-se reciproc cu problemele de dezvoltare a jocului cu care s-ar putea confrunta.

Starling Framework pe GitHub

Aceasta este locația primară a cadrului Starling. Dacă vrei să te furci, să contribui sau doar să urmărești actualizările, nu uita să te conectezi la asta.

Detector de probleme

Niciun produs sau cadru nu are succes fără contribuția testerelor sau utilizatorilor reali. Dacă credeți că ați găsit un bug sau o problemă în cadrul Starling, acesta este tracker-ul pentru a-l raporta. Contribuiți și păstrați zborul de tip Starling!


Sfaturi pentru dezvoltare

În timp ce unele dintre acestea sunt Sfaturi Starling cadru specifice, cele mai multe păstrează bine pentru orice tehnologie de dezvoltare a jocului.

Utilizați funcțiile pe mai multe ecrane

Deoarece programul Starling se bazează pe Flash ActionScript 3.0, nu uitați să profitați de caracteristicile multi-screen ale programului Starling.

Există numeroase moduri de a face jocurile dvs. multi-platformă sau multi-ecran prietenos. Asigurați-vă că explorați proiectele "Demo" și "Schele" furnizate împreună cu baza de cod.

Planificați optimizarea chiar de la început

Optimizarea este o parte integrantă a codării unui joc în orice limbă. Amintiți-vă, una dintre cele mai importante caracteristici ale Starling Framework este suportul său multi-platformă.

Odată ce începeți să codificați jocul, complexitatea codului continuă să crească numai pe tot parcursul procesului de dezvoltare. Pentru a vă asigura că nu vă veți schimba arhitectura însăși a jocului dvs. într-o etapă ulterioară (din cauza ineficienței), este întotdeauna mai bine să începeți să vă gândiți la "codificarea optimizată" chiar de la prima linie de cod.

Segregați codul

Păstrați codul în secțiuni separate (în special pentru mai multe platforme):

  • Core logica: Conține comportamentele diferitelor personaje de joc, logica pentru a muta obiecte, a adăuga scoruri, a reda muzică și așa mai departe. Orice bug fixat în această parte a codului ar trebui să stabilească soluția pentru toate platformele pentru care este construit jocul.
  • Logica platformei: conține doar codul specific platformei, ceea ce ar putea însemna considerarea iOS sau Android; tablete, telefoane sau web; dimensiunile ecranului, rezoluțiile și densitățile ... Această secțiune a codului gestionează lucrurile pentru orice platformă specifică, cum ar fi activarea sau dezactivarea efectelor speciale bazate pe capacitatea platformei de a asigura că jocul rulează întotdeauna într-un cadru bun.
  • Logica interacțiunii: Conține logica bazată pe interacțiune care asigură că interacțiunea este definită pe baza platformei pe care rulează jocul, apoi vorbind cu logica de bază pentru a efectua acțiuni în joc. De exemplu, comenzile mouse-ului pentru desktop și web, comenzile de atingere pentru dispozitive mobile și tablete.

Decideți dacă utilizați Vector sau Raster Graphics

Vectorii sunt ușori din punct de vedere al memoriei. Aceste grafice sunt desenate în timpul executării pe ecran, astfel încât mai puține date grafice sunt stocate în memorie. Cu toate acestea, redarea acestora poate fi costisitoare pe procesor.

Bitmapurile sau graficele raster sunt intensive în memorie. Stocarea memoriei fizice și a consumului de memorie poate fi o provocare, dar este relativ mai ușoară în ceea ce privește randarea (cu excepția cazului în care efectuați procesarea intensivă a bitmap-urilor).

Vrei ca jocul să meargă mai repede pe dispozitive cu procesoare limitate? Utilizați fișiere bitmap. Vrei mai multă flexibilitate vizuală? Utilizați vectori. Există provocări inerente utilizării fiecăruia, încercați întotdeauna să echilibrați utilizarea ambelor elemente. Rețineți cât de multă putere de procesare și de memorie folosită de joc.

Utilizați mai multe foi Sprite atunci când este necesar

Nu sunteți obligat să încercați să includeți toate graficele jocului într-o singură foaie de sprite. Dacă este necesar, extindeți-vă logica pentru a utiliza mai multe foi de sprite - însă, păstrați-le sub control, deoarece jocul dvs. poate ocupa mai multă dimensiune a fișierului și, cel mai important, poate fi mai intens în memorie.

Luați în considerare generarea de foi dinamice Sprite

Există extensii pe care le puteți folosi pentru acest lucru - sau, chiar mai bine, puteți scrie unul pentru a face exact ceea ce aveți nevoie.

Utilizarea animațiilor Flash animate (SWF) pre-create și transformarea lor dinamic în foi de sprite vă poate economisi mult timp de dezvoltare, precum și reduce dimensiunea fișierului dvs. binar. Asigurați-vă că nu ajungeți prea mult să faceți acest lucru pentru a afecta memoria de funcționare consumată de joc.

Uită-te în extensiile native ActionScript

Utilizați ANE-uri pentru a vă extinde jocurile pentru a conține caracteristici specifice platformei, cum ar fi achizițiile în aplicații, anunțurile în joc și funcțiile sociale (cum ar fi Centrul de jocuri pentru iOS). Există o mulțime de ANE gratuite și plătite disponibile online, așa că nu uitați să le verificați. De asemenea, puteți să vă scrieți cu ușurință dacă este necesar.

Dezvoltarea implicării

Rămâi activ în comunitate. Există mulți dezvoltatori de experți în comunitate care au contribuit mult timp. Nu postați întrebările pe forumurile Starling și nu uitați să vă conectați la bug-uri sau bilete de suport, dacă este necesar. Dezvoltarea ideilor și cerințelor sunt unul dintre motivele pentru care Starling Framework crește cu mai multe caracteristici de-a lungul zilei.


Un cuvânt de experiență

Există o zicală: "Nu este instrumentul, ci talentul care contează". Starling Framework este un set API mare open-source pentru a construi jocuri accelerate GPU accelerate pentru mai multe platforme și dispozitive. Cu toate acestea, acordarea unei atenții deosebite tehnicilor de dezvoltare, modelelor, modului de optimizare a codului și așa mai departe vă va ajuta întotdeauna pe termen lung. O mulțime de subiecte pe care le-am enumerat în acest articol sunt valabile pentru multe alte cadre și limbi.

Prin urmare, indiferent de limbajul, cadrul, platforma sau instrumentul pe care îl utilizați pentru a construi jocuri, conceptele de dezvoltare a jocului rămân importante.


Jocuri de succes construite pe platforma Starling

Iată câteva dintre jocurile pe bază de Starling care au avut un succes:

Păsări supărat (ediția Facebook)


Spațiu îndepărtat


Ruby Blast


Ora Dragonului


Râurile din Olympus



Concluzie

Acum că toate resursele din lume sunt combinate într-un singur loc, învățarea Cadrului Starling ar trebui să fie o bucată de prăjitură.

Începeți prin a construi cele mai simple jocuri și de a vă strădui drumul prin ea. Nu uitați să lăsați un comentariu și să ne spuneți ce ați construit! Odată ce lansați un joc, vom fi bucuroși să îl revedem și să comentăm acest lucru.

În cele din urmă, așa cum spun mereu, nu este instrumentul important, ci arta și știința. Amintiți-vă că Starling Framework este doar un instrument sau un mediu pentru a vă exprima abilitățile de dezvoltare a jocului; ceea ce contează cu adevărat este abilitatea pe care o veți construi în cele din urmă. Există nenumărate platforme, sisteme de operare, dispozitive, ecrane, cadre, limbi și instrumente acolo. Creșteți-vă pentru a putea construi pentru ei, și pentru a avea succes, este cheia. Starling Framework este un mediu excelent pentru a realiza acest lucru cu. Toate cele bune!