Adam Saltsman (AdamAtomic) este un dezvoltator de jocuri și creatorul de flixel (o bibliotecă de joc open source AS3). Recent, a petrecut ceva timp, răspunzând la câteva întrebări despre cum a început în Flash și despre munca pe care o face în prezent.
Am luat câteva cursuri de programare la universitate și apoi am lucrat câțiva ani ca dezvoltator de software pentru o companie mică din Austin. Am plecat acolo pentru a fi un artist independent pentru câțiva ani, și a fost în timpul acelei slujbe că am început să ridic Flash. Prietenul meu Ivan a luat câteva ore din zi pentru a-mi arăta frânghiile și am plecat! Aproximativ 6 luni după ce am început este atunci când am început să experimentez cu chestii flash de înaltă performanță. A durat cel puțin încă un an de lucru pentru a obține prima versiune a formalizării flixel.
Faceți mici jocuri! Faceți demo-uri sau prototipuri puțin lustruite și împărtășiți-le cu toată lumea. Aceasta nu este neapărat calea spre succesul financiar, dar din experiența mea este cea mai bună și cea mai rapidă modalitate de a învăța cum să proiectezi jocuri. Am facut poate o duzina de jocuri de o saptamana si tocmai am inceput sa ma simt confortabil cu procesul meu de design.
Flixel folosește o abordare de redare stratificată. Prima verificare a flixel pentru a vedea dacă grafica a fost scalată sau rotită, dacă are, apoi folosește redarea vectorului Flash pentru ao desena, la fel ca un obiect normal Sprite sau Movieclip. Cu toate acestea, în cazul în care nu a fost rotit, chiar dacă a fost colorat sau alfa sa schimbat, Flixel folosește un apel rapid rapid (copyPixels) pentru a ștampila graficul pe tampon grafic. Tamponul grafic este redus și redat folosind vectorul de redare vectorială (pentru a obține efectul pixelilor mărit).
"De zi cu zi" meu a fost de a construi jocuri pentru iPhone în C + + și obiectivul C. Obiectivul C este de fapt ciudat similar cu Flash în unele moduri, doar cu mai multe paranteze!
Paper Moon a fost o colaborare cu studioul canadian Infinite Ammo, care a fost interesat să învețe unitatea pentru viitoarele proiecte. Eram prea fericit să le obligem cu niște opere de artă!
Flixel face doar câteva lucruri pentru performanță, unul se oprește să folosească copyPixels în locul vectorului de redare, ori de câte ori este posibil. Aceasta dă o creștere de 90% a performanței de cele mai multe ori. Utilizarea pixelilor mărunțiți este un lucru bun pentru că încă mai ocupați o mulțime de fereastră a browserului, dar operațiile efective de redare sunt efectuate într-un spațiu destul de mic. În cele din urmă, flixel încurajează, dar nu solicită să reciclați obiectele de joc. Toate jocurile demo de pe github utilizează matrice pre-alocate pentru lucruri precum gloanțe sau efecte particulare. Obiectele au acum o funcție de resetare () care ajută la a face acest lucru chiar mai ușor de făcut.
Doar eu și 4-7 zile. Acest lucru se poate schimba totuși, am ceva mai mult pe placa mea pentru anul viitor ...
În general, îmi place cât de neglijent este. Dacă ar fi o limbă mai strictă, cred că prototiparea și iterația ar fi un proces mult mai lent și mai frustrant. Unele lucruri cu care am probleme sunt atribuirea valorilor parametrilor primitivi din cadrul unei funcții (pot fi doar ignoranți pentru un anumit operator de atribuire pentru acest lucru) și, de asemenea, crearea de referințe la funcțiile care aparțin altor obiecte în zbor. Acest lucru se poate datora si ignorantei mele, dar aici ceva asemanator modului in care C # manevreaza pointeri (delegati?) Poate fi util.