Adam Saltsman (AdamAtomic) er en spillutvikler og skaperen av flixel (et opensource AS3-spillbibliotek). Han brukte nylig tid på å svare på noen få spørsmål om hvordan han begynte i Flash og arbeidet han for øyeblikket gjør.
Jeg tok noen programmeringskurs på universitetet og arbeidet deretter i et par år som programvareutvikler for et lite firma her i Austin. Jeg dro dit for å være frilansskunstner i noen år, og det var under den jobben jeg begynte å plukke opp Flash. Min venn Ivan tok et par timer ut av dagen for å vise meg tauene og jeg var av! Omtrent 6 måneder etter at jeg startet, er da jeg begynte å eksperimentere med høyere ytelse pixel flash ting. Det tok minst et år eller så med sidearbeid for å få den første versjonen av flixel formalisert.
Lag små spill! Lag små polerte demoer eller prototyper, og del dem med alle. Dette er ikke nødvendigvis veien til økonomisk suksess, men i min erfaring er det den beste og raskeste måten å lære å designe spill på. Jeg har laget et dusin eller så 1-ukers spill, og jeg begynner å føle meg veldig komfortabel med designprosessen min.
Flixel bruker en lagret rendering tilnærming. Første flixel sjekker for å se om grafikken har blitt skalert eller rotert, hvis den har, så bruker den Flash-vektorgjengeren til å tegne den, akkurat som en vanlig Sprite- eller Movieclip-objekt. Men hvis det ikke har blitt rotert, selv om det har blitt tonet eller alfaet har endret seg, bruker Flixel et veldig raskt blitsnummer (copyPixels) for å stemple grafikken på grafikkbufferen. Grafikkbufferen blir skalert og gjengitt ved hjelp av vektorgjenvinningsenheten (for å oppnå den kraftige zoomede piksler-effekten).
Min "dagjobb" som det var, er å bygge spill for iPhone i C ++ og Objective C. Mål C er faktisk merkelig lik Flash på noen måter, bare med flere parenteser!
Paper Moon var et samarbeid med kanadisk studio Infinite Ammo, som var interessert i å lære Unity for fremtidige prosjekter. Jeg var bare for glad for å forplikte dem med noen kunstverk!
Flixel gjør bare noen få ting for ytelse, men velger å bruke copyPixels i stedet for vektorgjengeren når det er mulig. Det gir omtrent 90% økning i ytelse det meste av tiden. Ved å bruke de zoomede bildene er det fint fordi du fremdeles fyller mye av nettleservinduet, men selve gjengivelsen utføres i en ganske liten plass. Til slutt oppfordrer flixel, men krever ikke at du skal resirkulere spillobjektene dine. Alle demo spillene på github bruker forhåndsallokerte arrays for ting som kuler eller partikkeleffekter. Objekter har nå en tilbakestillingsfunksjon () som hjelper til med å gjøre det enda enklere å gjøre.
Bare meg, og 4-7 dager. Dette kan endres skjønt, jeg har noen større ting på platen min for neste år ...
Vanligvis elsker jeg hvor sløv det er. Hvis det var et strengere språk, tror jeg prototyping og iterasjon ville være en mye langsommere, mer frustrerende prosess. Noen ting jeg har problemer med er å tildele verdier til primitive parametere fra en funksjon (jeg kan bare være uvitende om en bestemt oppdragsoperatør for dette) og også lage referanser til funksjoner som tilhører andre gjenstander i fly. Det kan også skyldes min egen uvitenhet, men her er noe som måten C # håndterer funksjonspoints (delegater?), Kanskje nyttig.