Seattle Game Dev JS: Et tilbakeblikk og et skritt fremover.
I januar ble HTML5 Game Dev Group ett år. (De vokser opp så fort!) Og det er med denne milepælen i tankene vi vil gjerne si en hjertelig takk til alle våre medlemmer, sponsorer og alle som har bidratt til å gjøre møtene våre til de fantastiske, kunnskapsfylte gullkornene de er!
Dette året ser ut til å bli enda bedre enn det forrige. Vi startet det med et strømbrudd, etterfulgt av en fantastisk gjenoppretting og presentasjon (til tross for manglende strøm!) om HTML5 Optimizations, fra Double Down-mobilteamet. Aldri et kjedelig øyeblikk!
I fjor gikk gruppen vår fra 0 til 380 medlemmer, en stor prestasjon! Game Dev JS-gjengen er et mangfoldig fellesskap fullt av utviklere, artister, spillere, programledere, nettverksadministratorer og JS-entusiaster av alle slag. Vårt yngste utviklermedlem er bare 13 år gammel! Ved å alltid holde innholdet ferskt, foredragsholderne livlige og medlemmene engasjert, har vi vært i stand til å bygge et robust fellesskap – vi kunne ikke ha gjort det uten dere!
Hvis du er interessert i JS, er meetup en flott sjanse til å ha det gøy, lære noe nytt, dele noe du kan og møte noen veldig interessante karakterer.
Viktige takeaways
- Seattle Game Dev JS vokste fra null til 380 medlemmer det første året, bygget på en blanding av foredrag, lyndemoer og happy hours.
- Gruppens 2012-program spente over hele HTML5-stabelen: rendering, canvas-triks, lyd, native wrappers, Windows 8 og node.js-serverarkitektur.
- Et fellesskap som dette fungerer fordi det forblir bevisst tverrfaglig – utviklere, artister, PM-er og nettverksadministratorer i ett og samme rom.
- Den beste måten å få verdi ut av en meetup på er å møte opp, stille spørsmål og etter hvert presentere noe selv.
- Planleggingen for 2013 er åpen: vi ønsker deres temaideer, forslag til lokaler og pitcher fra foredragsholdere.
Hvorfor en JavaScript Game Dev-gruppe er viktig
Da vi startet denne gruppen, var «HTML5-spillutvikling» fortsatt en frase som fikk mange til å myse. <canvas>-elementet var ungt, nettleserytelsen var inkonsekvent, og ideen om at man kunne levere et ekte spill – ikke en teknisk demo – i JavaScript ble behandlet som en kuriositet snarere enn en plattform.
Et år senere har den samtalen endret seg totalt. Grunnen til at en lokal meetup er viktig i et felt som dette, er at dokumentasjonen ligger etter virkeligheten.
Relatert: — Ferdiglaget kunst, verktøy og maler som faller rett inn i Unity-prosjektet ditt.
Blogginnlegg beskriver hva som fungerte for seks måneder siden. Konferanseforedrag er polert til det punktet at de blir abstrakte. Det som faktisk driver en utvikler fremover, er å sitte ved siden av noen som løste nøyaktig det samme problemet som deg forrige uke – et canvas som hakker på en bestemt enhet, et lydelement som ikke vil låses opp på mobil, en build-pipeline som kneler ved en stor asset-pakke.
Det er dette gapet Game Dev JS fyller. Det er ikke en forelesningsserie. Det er et rom fullt av mennesker som alle står midt i et problem og sammenligner notater.
Hva vi dekket i 2012
Her er noe av det vi dekket i løpet av året:
Hvis du handler: — Nettleserbasert HTML5-motor uten kode som eksporterer til nett, mobil og skrivebord.
- Javascript Game Development: an Overview – Grant Goodale, Massively Fun
- Retained Mode Graphics Libraries – Kevin Moore, Pixel Lab
- Stupid Canvas Tricks – Dean Hudson, Massively Fun
- HTML5 port of Zepto Labs’ Cut the Rope – Joel Fillmore, Pixel Lab
- Challenges of building a native UIWebView application around an HTML5 webapp – Jeff Close, Adam Hardtke, Sean Stringer, and Nate Vaughn, DDI
- Native wrapper technology: CocoonJS – Iker Jamardo, Ludei
- HTML5 game development for Windows 8 – Giorgio Sardo, Microsoft
- Game engine design around node.js and express.js – Dean Hudson and Mason Browne, Massively Fun
- Co+Pilot: a tool built using Javascript and a JQuery like syntax to allow users to make native apps – Myron Millin and David Whitlark
- Effective HTML5 Game Audio – Chris Khoo, Wappworks Studios
Alle disse temaene, samt en rekke lynforedrag og demoer fra gruppemedlemmer, ble presentert i løpet av året. Og selvfølgelig samles vi også til en og annen happy hour!
En veldig spesiell takk til Double Down Interactive, Big Fish Games, GameHouse og The Makers Space for å ha vært vertskap!
Temaene bak foredragene
Når vi ser tilbake på den listen, er det noen klare tråder som går igjen – og de er verdt å nevne, fordi de samsvarer nesten nøyaktig med beslutningene enhver HTML5-utvikler må ta.
Rendering og spørsmålet om retained mode. Kevin Moores foredrag om retained mode-grafikkbiblioteker og Dean Hudsons «Stupid Canvas Tricks» befinner seg på hver sin side av et reelt arkitektonisk veiskille. Immediate-mode canvas-tegning gir deg total kontroll og minimal overhead, men du må håndtere hver omtegning selv. Retained-mode-biblioteker (linjen som går gjennom rammeverk som CreateJS, PixiJS og senere Phaser) gir deg en scenegraf, hit-testing og tweening rett ut av boksen – på bekostning av et abstraksjonslag mellom deg og GPU-en. Ingen av dem er «riktige». Det riktige svaret avhenger av om spillet ditt består av en håndfull sprites eller en kompleks, tilstandsbasert verden.
Wrapper-problemet. Tre separate foredrag – DDI UIWebView-økten, Iker Jamardos CocoonJS-presentasjon og Co+Pilot – kretset alle rundt det samme spørsmålet: hvordan får man en web-app inn i en app-butikk? I 2012 var alternativene omtrent:
| Tilnærming | Hva det gir deg | Avveiningen |
|---|---|---|
| Vanlig nettapp | Null friksjon, umiddelbare oppdateringer | Ingen tilstedeværelse i app-butikker, begrensede enhets-API-er |
| Native WebView-wrapper | Distribusjon via butikk, noen native hooks | Ytelsestak, UI-uoverensstemmelse med native chrome |
| Akselerert wrapper (f.eks. CocoonJS) | GPU-akselerert canvas, hastighet nærmere native | Leverandørlåsing, plattformspesifikke særheter |
Den tabellen er fortsatt en nyttig måte å tenke på beslutningen i dag, selv om de spesifikke verktøyene har utviklet seg.
Lyd. Chris Khoos foredrag om effektiv HTML5-spilllyd var, og er fortsatt, et av de mest undervurderte emnene i feltet. Lyd er der nettspill oftest svikter: retningslinjer for autoavspilling, forskjeller i kodekstøtte og forsinkelsen mellom en brukerhandling og at en lyd faktisk spilles av. Hvis du bygger et spill i dag, sett av god tid til lyd – det er ikke et problem man løser ved å bare “droppe inn en fil”.
Server-side JavaScript. Dean Hudsons og Mason Brownes foredrag om spillmotordesign rundt node.js og express.js var et tidlig signal om at serveren og klienten kunne dele et språk. Det betyr mer enn det høres ut: delt kode for validering av spilltilstand, delte dataformater og én mental modell på tvers av stacken.
Hvordan få mest mulig ut av et meetup
Hvis du er ny i denne typen gruppe – eller du har ligget lavt og ikke har kommet ut ennå – her er de praktiske rådene vi ville gitt til hvem som helst.
- Kom med ett spesifikt problem. “Spillet mitt er tregt” gir deg sympati. “Canvasen min dropper frames når jeg tegner mer enn noen få hundre sprites” gir deg et svar.
- Snakk med personen ved siden av deg, ikke bare foredragsholderen. Foredraget er unnskyldningen; samtalene i gangen er verdien.
- Hold et lynforedrag. Fem minutter om noe du har lært er den raskeste måten å bli en kjent skikkelse i gruppen på. Du trenger ikke å være ekspert – du trenger bare å ha løst én ting.
- Følg opp. Utveksle kontaktinformasjon, og send faktisk lenken eller kodebiten du lovet.
- Ta med ditt ikke-utviklerperspektiv. Våre artister, PM-er og nettverksadministratorer stiller spørsmålene utviklere glemmer å stille, og disse spørsmålene er ofte de mest nyttige i rommet.
Bygge et fellesskap som varer
Å vokse fra null til 380 medlemmer på et år høres ut som en forfengelighetsmåling, men tallet som faktisk betyr noe er retention – hvor mange av disse menneskene som kom tilbake. Noen ting vi har lært om å holde et teknisk fellesskap i live:
- Roter innholdet. Hvis hvert møte er en canvas-tutorial for nybegynnere, slutter de erfarne medlemmene å komme. Hvis hvert møte er dyp GPU-optimalisering, mister du nykommerne. Bland oversikter, dypdykk og demoer.
- Hold terskelen for å snakke lav. Lynforedrag og medlemsdemoer senker risikoen og bringer frem folk som aldri ville meldt seg frivillig til en full tidsslot.
- Mat folk, bokstavelig talt. Happy hours og felles måltider gjør mer for samholdet i fellesskapet enn noen mengde agenda-planlegging.
- Takk vertene dine offentlig. Double Down Interactive, Big Fish Games, GameHouse og The Makers Space ga oss rom, og rom er den lite glamorøse forutsetningen for alt annet.
- Gjør det innbydende for alle aldre og bakgrunner. Vårt yngste medlem er 13. Det er ikke en kuriositet – det er en påminnelse om at dette feltet har en uvanlig lav inngangsbarriere, og gruppen bør gjenspeile det.
Blikk mot 2013
Høres bra ut, ikke sant? Hva vil du at vi skal snakke om i 2013? Hvor vil du møtes?
Noen retninger vi er nysgjerrige på, og gjerne vil ha deres innspill om:
- Mobilytelse og profilering — hvordan man faktisk måler hvor frames forsvinner, ved hjelp av nettleserens og testing på enheter.
- Multiplayer og nettverk — WebSockets, latency-kompensasjon og de rotete realitetene ved sanntidssynkronisering.
- Verktøy og arbeidsflyt — byggsystemer, asset-pipelines og hvordan små team shipper uten en dedikert verktøyingeniør.
- Fysikk og kollisjon — når man bør bruke et bibliotek og når man bør skrive sitt eget.
- Tilgjengelighet og input — tastatur-, berørings- og bevegelseskontrollplattformer, og hvordan man støtter mer enn én uten å doble arbeidsmengden.
Svar nedenfor med ideene dine eller tweet @massivelyfun med hashtaggen #GameDevJS. Vi sees snart!
Ofte stilte spørsmål
Hva er Seattle Game Dev JS?
Det er en meetup-gruppe i Seattle-området for folk som er interessert i JavaScript og HTML5-spillutvikling. Den samler utviklere, artister, designere, programledere, nettverksadministratorer og generelle JS-entusiaster for foredrag, lyndemoer og sosiale arrangementer.
Må jeg være en erfaren utvikler for å delta?
Nei. Gruppen blander bevisst oversiktsforedrag med dype tekniske dykk, og medlemmene spenner fra en 13 år gammel hobbyist til profesjonelle ingeniører ved etablerte studioer. Hvis du er nysgjerrig på JS-spillutvikling, hører du hjemme i rommet.
Hvordan kan jeg foreslå et foredrag eller et tema?
Svar i kommentarfeltet til dette innlegget, eller tweet @massivelyfun med hashtaggen #GameDevJS. Vi ser aktivt etter temaideer, forslag til lokaler og foredragsforslag for 2013.
Hva slags temaer dekker gruppen?
Historisk: rendering- og canvas-teknikker, grafikkbiblioteker, native wrappers og distribusjon i app-butikker, HTML5-lyd, Windows 8-utvikling og node.js/express.js serverarkitektur. Vi er interessert i å utvide til mobilprofilering, multiplayer-nettverk, verktøy, fysikk og tilgjengelighet.
Hvem er vertskap for møtene?
Vi har blitt huser av Double Down Interactive, Big Fish Games, GameHouse og The Makers Space, og vi er takknemlige overfor dem alle. Hvis bedriften din har plass og ønsker å støtte det lokale utviklermiljøet, vil vi gjerne høre fra deg.
Handler denne gruppen kun om spill?
Fokuset er spill, men ferdighetene overlapper i stor grad med generell nett- og apputvikling – canvas-gjengivelse, lydhåndtering, native wrappers og node.js-arkitektur gjelder langt utover spill. Mange av våre medlemmer jobber med prosjekter som ikke er spill.
Del dette: Twitter Facebook Google Pinterest Reddit
Videre lesing
- HTML5 — Wikipedia
- Canvas-element — Wikipedia
- Node.js — Wikipedia
- Meetup (tjeneste) — Wikipedia
Frequently asked questions
What is Seattle Game Dev JS?
It's a Seattle-area meetup group for people interested in JavaScript and HTML5 game development. It brings together developers, artists, designers, program managers, network admins, and general JS enthusiasts for talks, lightning demos, and social events.
Do I need to be an experienced developer to attend?
No. The group deliberately mixes overview talks with deep technical dives, and members range from a 13-year-old hobbyist to professional engineers at established studios. If you're curious about JS game development, you belong in the room.
How can I propose a talk or suggest a topic?
Reply in the comments on this post, or tweet @massivelyfun using the GameDevJS hashtag. We're actively looking for topic ideas, venue suggestions, and speaker pitches for 2013.
What kinds of topics does the group cover?
Historically: rendering and canvas techniques, graphics libraries, native wrappers and app-store distribution, HTML5 audio, Windows 8 development, and node.js/express.js server architecture. We're interested in expanding into mobile profiling, multiplayer networking, tooling, physics, and accessibility.
Who hosts the meetings?
We've been hosted by Double Down Interactive, Big Fish Games, GameHouse, and The Makers Space, and we're grateful to all of them. If your company has space and wants to support the local dev community, we'd love to hear from you.
Is this group only about games?
The focus is games, but the skills overlap heavily with general web and app development — canvas rendering, audio handling, native wrappers, and node.js architecture all apply well beyond games. Plenty of our members work on non-game projects. Share this: Twitter Facebook Google Pinterest Reddit <!-- citations:start --> Further reading - [HTML5](https://en.wikipedia.org/wiki/HTML5) — Wikipedia - [Canvas element](https://en.wikipedia.org/wiki/Canvas_element) — Wikipedia - [Node.js](https://en.wikipedia.org/wiki/Node.js) — Wikipedia - [Meetup (service)](https://en.wikipedia.org/wiki/Meetup_(serv
Lær spillutvikler etter din egen timeplan
On-demand-kurs som dekker Unity, Unreal, C++, C# og shader-programmering