Seattle Game Dev JS: Et tilbageblik og et skridt fremad.
Og det er med denne milepæl i tankerne, at vi gerne vil sige en hjertelig tak til alle vores medlemmer, sponsorer og alle, der har været med til at gøre vores møder til de fantastiske, vidensfyldte guldkorn, de er!
Dette år ser ud til at blive endnu bedre end det sidste. Vi startede det med en strømafbrydelse, efterfulgt af en fantastisk genopretning og præsentation (på trods af manglende strøm!) om HTML5-optimeringer fra Double Down-mobilteamet. Aldrig et kedeligt øjeblik!
Sidste år gik vores gruppe fra 0 til 380 medlemmer, en kæmpe præstation! Game Dev JS-crewet er et mangfoldigt fællesskab fuld af udviklere, kunstnere, gamere, programledere, netværksadministratorer og JS-entusiaster af enhver art. Vores yngste udviklermedlem er kun 13 år gammel! Ved altid at holde indholdet friskt, talerne livlige og medlemmerne engagerede, har vi været i stand til at opbygge et robust fællesskab – vi kunne ikke have gjort det uden jer!
Hvis du er interesseret i JS, er et meetup en god chance for at have det sjovt, lære noget nyt, dele noget, du ved, og møde nogle meget interessante karakterer.
Key Takeaways
- Seattle Game Dev JS voksede fra nul til 380 medlemmer i sit første år, bygget på en blanding af oplæg, lyndemoer og happy hours.
- Gruppens 2012-lineup spændte over hele HTML5-stakken: rendering, canvas-tricks, lyd, native wrappers, Windows 8 og node.js serverarkitektur.
- Et fællesskab som dette fungerer, fordi det bevidst forbliver tværfagligt – udviklere, kunstnere, PM’er og netværksadministratorer i ét rum.
- Den absolut bedste måde at få værdi ud af et meetup på er at dukke op, stille spørgsmål og i sidste ende selv præsentere noget.
- Planlægningen for 2013 er åben: vi ønsker jeres emneidéer, forslag til lokationer og speaker-pitches.
Hvorfor en JavaScript Game Dev Group er vigtig
Da vi startede denne gruppe, var “HTML5 game development” stadig en vending, der fik mange mennesker til at rynke på næsen. <canvas>-elementet var nyt, browser-ydeevnen var inkonsekvent, og idéen om, at man kunne udgive et rigtigt spil – ikke bare en teknisk demo – i JavaScript, blev betragtet som en kuriositet snarere end en platform.
Et år senere har den samtale ændret sig fuldstændigt. Grunden til, at et lokalt meetup er vigtigt i et felt som dette, er, at dokumentationen halter efter virkeligheden.
Relateret: — Færdiglavet kunst, værktøjer og skabeloner, der falder direkte ind i dit Unity-projekt.
Blogindlæg beskriver, hvad der virkede for seks måneder siden. Konferenceforedrag er polerede til det punkt, hvor de bliver abstrakte. Det, der rent faktisk flytter en udvikler fremad, er at sidde ved siden af en, der løste præcis dit problem i sidste uge – et canvas, der hakker på en bestemt enhed, et lydelement, der ikke vil låse op på mobilen, en build-pipeline, der knæler under en stor asset-pakke.
Det er det hul, Game Dev JS udfylder. Det er ikke en forelæsningsrække. Det er et rum fyldt med mennesker, der alle står midt i et problem og sammenligner noter.
Hvad vi dækkede i 2012
Her er noget af det, vi dækkede i løbet af året:
Hvis du handler: — Browserbaseret HTML5-motor uden kode, der eksporterer til web, mobil og desktop.
- 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 emner samt talrige lynforedrag og demoer af gruppemedlemmer blev præsenteret i løbet af året. Og selvfølgelig mødes vi også til en lejlighedsvis happy hour!
En meget speciel tak til Double Down Interactive, Big Fish Games, GameHouse og The Makers Space for at være værter!
Temaerne bag foredragene
Når man ser tilbage på den liste, er der et par klare tråde, der løber igennem den – og de er værd at nævne, fordi de svarer næsten præcis til de beslutninger, enhver HTML5-udvikler skal træffe.
Rendering og spørgsmålet om retained-mode. Kevin Moores foredrag om retained-mode grafikbiblioteker og Dean Hudsons “Stupid Canvas Tricks” befinder sig på hver sin side af en reel arkitektonisk skillevej. Immediate-mode canvas-tegning giver dig total kontrol og minimal overhead, men du administrerer hver gentegning selv. Retained-mode biblioteker (den linje, der løber gennem frameworks som CreateJS, PixiJS og senere Phaser) giver dig en scene graph, hit testing og tweening ud af boksen – på bekostning af et abstraktionslag mellem dig og GPU’en. Ingen af delene er “korrekte”. Det rigtige svar afhænger af, om dit spil består af en håndfuld sprites eller en kompleks, stateful verden.
Wrapper-problemet. Tre separate foredrag – DDI UIWebView-sessionen, Iker Jamardos CocoonJS-præsentation og Co+Pilot – kredsede alle om det samme spørgsmål: hvordan får man en web-app ind i en app-store? I 2012 var mulighederne groft sagt:
| Tilgang | Hvad det giver dig | Afvejningen |
|---|---|---|
| Almindelig web-app | Nul friktion, øjeblikkelige opdateringer | Ingen tilstedeværelse i app-stores, begrænsede enheds-API’er |
| Native WebView-wrapper | Distribution via app-stores, nogle native hooks | Ydeevneloft, UI-uoverensstemmelse med native chrome |
| Accelereret wrapper (f.eks. CocoonJS) | GPU-accelereret canvas, hastighed tættere på native | Vendor lock-in, platformspecifikke særheder |
Den tabel er stadig en nyttig måde at tænke beslutningen på i dag, selvom de specifikke værktøjer har udviklet sig.
Lyd. Chris Khoos oplæg om effektiv HTML5-spillyd var, og er fortsat, et af de mest undervurderede emner på området. Lyd er der, hvor webspil oftest fejler: autoplay-politikker, forskelle i codec-understøttelse og forsinkelsen mellem en brugerhandling og en lyd, der faktisk afspilles. Hvis du bygger et spil i dag, så afsæt rigtig tid til lyd – det er ikke bare et “drop in a file”-problem.
Server-side JavaScript. Dean Hudson og Mason Brownes oplæg om game engine-design omkring node.js og express.js var et tidligt signal om, at serveren og klienten kunne dele et sprog. Det betyder mere, end det lyder: delt kode til validering af spiltilstand, delte dataformater og én mental model på tværs af stakken.
Sådan får du mest muligt ud af et meetup
Hvis du er ny i denne form for gruppe – eller du har luret i baggrunden og ikke har vist dig endnu – her er de praktiske råd, vi vil give alle.
- Kom med ét specifikt problem. “Mit spil er langsomt” giver dig sympati. “Mit canvas taber frames, når jeg tegner mere end et par hundrede sprites” giver dig et svar.
- Tal med personen ved siden af dig, ikke kun taleren. Oplægget er undskyldningen; samtalen i gangen er værdien.
- Hold et lightning talk. Fem minutter om noget, du har lært, er den hurtigste måde at blive en kendt størrelse i gruppen. Du behøver ikke at være ekspert – du skal blot have løst én ting.
- Følg op. Udveksl kontaktoplysninger, og send rent faktisk det link eller det kodestykke, du lovede.
- Medbring dit ikke-udviklerperspektiv. Vores kunstnere, PM’er og netværksadministratorer stiller de spørgsmål, som udviklere glemmer at stille, og disse spørgsmål er ofte de mest nyttige i rummet.
Opbygning af et fællesskab, der varer ved
At vokse fra nul til 380 medlemmer på et år lyder som en vanity metric, men det tal, der faktisk betyder noget, er fastholdelse – hvor mange af disse mennesker, der kom tilbage. Et par ting, vi har lært om at holde et teknisk fællesskab i live:
- Roter indholdet. Hvis hvert møde er en canvas-tutorial for begyndere, stopper dine erfarne medlemmer med at komme. Hvis hvert møde er dyb GPU-optimering, mister du nytilkomne. Bland oversigter, deep dives og demoer.
- Hold barrieren for at tale lavt. Lightning talks og medlemsdemoer sænker risikoen og bringer folk frem, som aldrig ville melde sig frivilligt til et fuldt tidsrum.
- Giv folk mad, bogstaveligt talt. Happy hours og fælles måltider gør mere for fællesskabets sammenhængskraft end nogen mængde dagsordensplanlægning.
- Tak dine værter offentligt. Double Down Interactive, Big Fish Games, GameHouse og The Makers Space gav os lokaler, og lokaler er den uattraktive forudsætning for alt andet.
- Gør det indbydende for alle aldre og baggrunde. Vores yngste medlem er 13. Det er ikke en kuriositet – det er en påmindelse om, at dette felt har en usædvanlig lav adgangsbarriere, og gruppen bør afspejle det.
Blikket mod 2013
Lyder godt, ikke? Hvad vil I gerne have, at vi taler om i 2013? Hvor vil I mødes?
Nogle retninger, vi er nysgerrige på, og som vi gerne vil have jeres input til:
- Mobil ydeevne og profilering — hvordan man rent faktisk måler, hvor frames forsvinder, ved hjælp af browserens dev tools og test på enheder.
- Multiplayer og netværk — WebSockets, latenskompensation og de rodede realiteter ved synkronisering i realtid.
- Tooling og workflow — build-systemer, asset-pipelines, og hvordan små teams shipper uden en dedikeret tools-engineer.
- Fysik og kollision — hvornår man skal bruge et bibliotek, og hvornår man skal skrive sit eget.
- Tilgængelighed og input — tastatur-, touch- og bevægelseskontrol-platforme, og hvordan man understøtter mere end én uden at fordoble arbejdet.
Svar nedenfor med jeres idéer eller tweet @massivelyfun ved hjælp af hashtagget #GameDevJS. Vi ses snart!
Ofte stillede spørgsmål
Hvad er Seattle Game Dev JS?
Det er en meetup-gruppe i Seattle-området for folk, der er interesserede i JavaScript og HTML5-spiludvikling. Den samler udviklere, kunstnere, designere, programledere, netværksadministratorer og generelle JS-entusiaster til oplæg, lightning-demoer og sociale arrangementer.
Skal jeg være en erfaren udvikler for at deltage?
Nej. Gruppen blander bevidst oversigtsoplæg med dybe tekniske dyk, og medlemmerne spænder fra en 13-årig hobbyist til professionelle ingeniører i etablerede studier. Hvis du er nysgerrig på JS-spiludvikling, hører du til i rummet.
Hvordan kan jeg foreslå et oplæg eller et emne?
Svar i kommentarerne til dette indlæg, eller tweet @massivelyfun ved hjælp af hashtagget #GameDevJS. Vi leder aktivt efter emneidéer, forslag til lokaler og taler til 2013.
Hvilken slags emner dækker gruppen?
Historisk set: rendering- og canvas-teknikker, grafikbiblioteker, native wrappers og app-store-distribution, HTML5-lyd, Windows 8-udvikling og node.js/express.js-serverarkitektur. Vi er interesserede i at udvide til mobilprofilering, multiplayer-netværk, tooling, fysik og tilgængelighed.
Hvem er vært for møderne?
Vi har haft Double Down Interactive, Big Fish Games, GameHouse og The Makers Space som værter, og vi er taknemmelige over for dem alle. Hvis din virksomhed har plads og ønsker at støtte det lokale udviklerfællesskab, vil vi meget gerne høre fra dig.
Handler denne gruppe kun om spil?
Fokus er på spil, men færdighederne overlapper i høj grad med generel web- og app-udvikling — canvas-rendering, lydhåndtering, native wrappers og node.js-arkitektur er alle relevante langt ud over spil. Mange af vores medlemmer arbejder på projekter, der ikke er spil.
Del dette: Twitter Facebook Google Pinterest Reddit
Yderligere læsning
- HTML5 — Wikipedia
- Canvas element — Wikipedia
- Node.js — Wikipedia
- Meetup (service) — 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 spiludvikler efter din egen tidsplan
On-demand kurser, der dækker Unity, Unreal, C++, C# og shader programmering