Interview med Adam saltsman
Del
Del
Del
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.
Adam saltsman (AdamAtomic) er en spillutvikler og skaperen av Flixel (en opensource AS3 spill bibliotek). Han har nylig brukt litt tid på å svare på noen spørsmål om hvordan han begynte i Flash og arbeidet han nå gjør.
Hei Adam, fortell oss litt om din bakgrunn og hvordan du fikk startet bygging Flash-spill. Er du en selvlært utvikler?
Jeg tok noen programmering kurs på universitets- og deretter jobbet for et par år som en programvareutvikler for et lite selskap her i Austin. Jeg dro dit for å være en freelance artist for et par år, og det var i denne jobben at jeg begynte å plukke opp Flash. Min venn Ivan tok et par timer ut av sin tid til å vise meg tauene og jeg hadde fri! Om seks måneder etter at jeg begynte da jeg begynte å eksperimentere med høyere ytelse pixel flash stuff. Det tok minst et år eller så av siden arbeidet med å få den første versjonen av Flixel formalisert.
Mange, meg selv inkludert, ble startet i Flash på grunn av spill. Hva vil du bidra til din suksess som en uavhengig spillutvikler og hvilke råd har du til andre som ønsker å leve drømmen?
Gjør små spill! Lag små polerte demoer eller prototyper og dele 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. Jeg har gjort kanskje et dusin eller så en ukes spill og jeg bare begynner å føle veldig komfortabel med min designprosessen.
flash spill har en retro pixelated se til dem. Snakk om hvordan du håndterer punktgrafikk på scenen, bruker du en flis motor, blitting, eller andre teknikker for å oppnå rask respons, lite minne, og høy bildefrekvens?
Flixel bruker en lagdelt rende tilnærming. Første Flixel sjekker for å se om grafikken har blitt skalert eller roteres, hvis den har det, så det bruker Flash vektor renderer å tegne det, akkurat som en vanlig Sprite eller MovieClip objekt. Imidlertid, hvis det ikke har blitt rotert, selv om det er blitt farget eller alfa er endret, bruker Flixel en meget rask blitting ring (copyPixels) for å stemple den grafiske på grafikkbuffer. Grafikken buffer skaleres og gjengis ved hjelp av vektor renderer (for å oppnå chunky zoomet piksler effekt).
Det er interessant å se at du ikke bare utvikle spill i Actionscript. Snakk om de andre plattformene du utvikle på, og hvis det er noen likhet til å jobbe i Flash?
Min "jobben" som det ble er å bygge spill for iPhone i C ++ og Objective C. Objective C er faktisk merkelig ligner på Flash på noen måter, bare med flere brak!
Paper Moon, som ble gjort i Unity 3D, er en utrolig plattformspill med en glatt cutout papir stil. Kan du fortelle litt om ditt bidrag til spillets utvikling?
Paper Moon var et samarbeid med kanadiske studio Infinite Ammo, som var interessert i å lære Unity for fremtidige prosjekter. Jeg var bare altfor glad for å tvinge dem med noen skisser!
Utvikling spill er utrolig krevende på en systemets ressurser spesielt Flash som mangler noen GPU-akselerasjon. Snakk med oss litt om trinnene du ta for å sikre optimal ytelse innenfor selve koden.
Flixel gjør bare et par ting for ytelse, man velger ut til å bruke copyPixels stedet for vektoren renderer når det er mulig. Dette gir en omtrent 90% økning i ytelse mesteparten av tiden. Bruke zoomet opp chunky piksler er fint fordi du fortsatt fyller mye av nettleservinduet, men selve gjengi operasjoner utføres i en ganske liten plass. Til slutt oppfordrer Flixel men krever ikke at du å resirkulere spill objekter. Alle demo spill opp på github bruk pre-tildelt arrays for ting som kuler eller partikkel effekter. Objekter har nå en reset () funksjon som bidrar til å gjøre det enda enklere å gjøre.
På en vanlig spillprosjekt, hvor mange personer du vanligvis jobber med, og hva er de typiske tidsrammer?
Bare meg, og 4-7 dager. Dette kan være i endring selv om jeg har litt større ting på min plate for neste år …
Hvis du kunne velge én ting, hva ville du vurdere din favoritt del av Actionscript 3? Likeledes, hva ville du forandre eller ønsker implementert?
Generelt Jeg elsker hvordan slurvete det er. Hvis det var en strengere språk jeg tror prototyping og iterasjon vil være en mye langsommere, mer frustrerende prosess. Noen ting jeg har problemer med er å tilordne verdier til primitive parametere fra innenfor en funksjon (jeg kan bare være uvitende om en bestemt oppgave operatør for dette), og også skape referanser til funksjoner som hører til andre objekter på fly. Det kan være på grunn av min egen uvitenhet også, men her noe liker måten C # håndterer funksjonspekere (delegater?) Kan være nyttig.