Seattle Game Dev JS: En tillbakablick och ett steg framåt.
I januari fyllde vår HTML5 Game Dev Group ett år. (De växer upp så fort!) Och det är med denna milstolpe i åtanke som vi vill säga ett hjärtligt tack till alla våra medlemmar, sponsorer och alla som hjälpt till att göra våra möten till de fantastiska, kunskapsfyllda guldkornen de är!
Det här året ser ut att bli ännu bättre än det förra. Vi sparkade igång det med ett strömavbrott, följt av en fantastisk återhämtning och presentation (trots strömavbrottet!) om HTML5-optimeringar, från Double Downs mobilteam. Aldrig ett tråkigt ögonblick!
Förra året gick vår grupp från 0 till 380 medlemmar, en enorm prestation! Game Dev JS-gänget är ett mångsidigt community fullt av utvecklare, artister, gamers, programledare, nätverksadministratörer och JS-entusiaster av alla slag. Vår yngsta utvecklarmedlem är bara 13 år gammal! Genom att alltid hålla innehållet fräscht, talarna livliga och medlemmarna engagerade har vi kunnat bygga ett robust community – vi hade inte kunnat göra det utan er!
Om du är intresserad av JS är meetup en fantastisk chans att ha lite kul, lära dig något nytt, dela med dig av något du kan och träffa några mycket intressanta karaktärer.
Key Takeaways
- Seattle Game Dev JS växte från noll till 380 medlemmar under sitt första år, byggt på en blandning av föredrag, lightning-demos och happy hours.
- Gruppens program för 2012 sträckte sig över hela HTML5-stacken: rendering, canvas-trick, ljud, native wrappers, Windows 8 och node.js-serverarkitektur.
- Ett community som detta fungerar eftersom det förblir medvetet tvärvetenskapligt – utvecklare, artister, PM:s och nätverksadministratörer i ett och samma rum.
- Det enskilt bästa sättet att få ut värde av en meetup är att dyka upp, ställa frågor och så småningom presentera något själv.
- Planeringen för 2013 är öppen: vi vill ha era ämnesidéer, förslag på lokaler och pitchar för talare.
Varför en JavaScript Game Dev-grupp är viktig
När vi startade den här gruppen var “HTML5-spelutveckling” fortfarande en fras som fick många att kisa. Elementet <canvas> var ungt, webbläsarnas prestanda var inkonsekvent, och idén att man kunde leverera ett riktigt spel – inte en teknisk demo – i JavaScript betraktades som en kuriositet snarare än en plattform.
Ett år senare har det samtalet förändrats helt. Anledningen till att en lokal meetup är viktig i ett område som detta är att dokumentationen släpar efter verkligheten.
Relaterat: — Färdiggjord konst, verktyg och mallar som faller direkt in i ditt Unity-projekt.
Blogginlägg beskriver vad som fungerade för sex månader sedan. Konferensföredrag är putsade till den grad att de blir abstrakta. Det som faktiskt driver en utvecklare framåt är att sitta bredvid någon som löste exakt samma problem som du förra veckan – en canvas som hackar på en specifik enhet, ett ljudelement som inte låses upp på mobilen, en build-pipeline som sätter igen med ett stort asset-paket.
Det är den luckan Game Dev JS fyller. Det är ingen föreläsningsserie. Det är ett rum fullt av människor som alla befinner sig mitt i ett problem och jämför sina anteckningar.
Vad vi täckte 2012
Här är lite av det vi tog upp under året:
Om du handlar: — Webbläsarbaserad HTML5-motor utan kod som exporterar till webb, mobil och dator.
- 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 och 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 och 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 och David Whitlark
- Effective HTML5 Game Audio – Chris Khoo, Wappworks Studios
Alla dessa ämnen och ett flertal lightning-talks och demos av gruppmedlemmar presenterades under året. Och självklart träffas vi också för en och annan happy hour!
Ett mycket speciellt tack till Double Down Interactive, Big Fish Games, GameHouse och The Makers Space för att ni agerat värdar!
Teman bakom föredragen
När man ser tillbaka på den listan löper några tydliga trådar genom den – och de är värda att namnge, eftersom de mappar nästan exakt mot de beslut som varje HTML5-utvecklare måste fatta.
Rendering och frågan om retained mode. Kevin Moores föredrag om grafikbibliotek i retained mode och Dean Hudsons “Stupid Canvas Tricks” befinner sig på motsatta sidor av en verklig arkitektonisk skiljeväg. Canvas-ritning i immediate mode ger dig total kontroll och minimal overhead, men du hanterar varje omritning själv. Retained mode-bibliotek (den linje som går genom ramverk som CreateJS, PixiJS och senare Phaser) ger dig en scengraf, hit testing och tweening direkt ur lådan – till priset av ett abstraktionslager mellan dig och GPU:n. Inget av dem är “korrekt”. Det rätta svaret beror på om ditt spel består av ett fåtal sprites eller en komplex, tillståndsbaserad värld.
Wrapper-problemet. Tre separata föredrag – DDI:s UIWebView-session, Iker Jamardos CocoonJS-presentation och Co+Pilot – kretsade alla kring samma fråga: hur får man in en webbapp i en appbutik? År 2012 var alternativen ungefär:
| Approach | Vad det ger dig | Avvägningen |
|---|---|---|
| Vanlig webbapp | Noll friktion, omedelbara uppdateringar | Ingen butiksnärvaro, begränsade enhets-API:er |
| Native WebView-wrapper | Butiksdistribution, vissa native hooks | Prestandatak, UI-missmatch med native chrome |
| Accelererad wrapper (t.ex. CocoonJS) | GPU-accelererad canvas, hastighet nära native | Vendor lock-in, plattformsspecifika egenheter |
Den tabellen är fortfarande ett användbart sätt att tänka kring beslutet idag, även om de specifika verktygen har utvecklats.
Ljud. Chris Khoos föredrag om effektivt HTML5-spelljud var, och förblir, ett av de mest underskattade ämnena på området. Ljud är där webbspel oftast går sönder: policyer för autospel, skillnader i codec-stöd och fördröjningen mellan en användargest och att ett ljud faktiskt spelas upp. Om du bygger ett spel idag, avsätt ordentligt med tid för ljud – det är inte ett problem man löser genom att bara “slänga in en fil”.
Server-side JavaScript. Dean Hudsons och Mason Brownes föredrag om spelmotordesign kring node.js och express.js var en tidig signal om att servern och klienten kunde dela ett språk. Det betyder mer än det låter: delad kod för validering av speltillstånd, delade dataformat och en och samma mentala modell över hela stacken.
Hur du får ut det mesta av en meetup
Om du är ny i den här typen av grupp – eller om du har hållit dig i bakgrunden och inte vågat ta steget än – här är de praktiska råden vi skulle ge vem som helst.
- Kom med ett specifikt problem. “Mitt spel är långsamt” ger dig sympati. “Min canvas tappar frames när jag ritar mer än några hundra sprites” ger dig ett svar.
- Prata med personen bredvid dig, inte bara talaren. Föredraget är ursäkten; korridorsamtalet är värdet.
- Håll ett lightning talk. Fem minuter om något du lärt dig är det snabbaste sättet att bli ett känt ansikte i gruppen. Du behöver inte vara expert – du behöver bara ha löst en sak.
- Följ upp. Byt kontaktinformation, och skicka faktiskt länken eller kodavsnittet du lovade.
- Ta med ditt icke-utvecklarperspektiv. Våra artister, PM:s och nätverksadministratörer ställer de frågor som utvecklare glömmer att ställa, och those frågor är ofta de mest användbara i rummet.
Bygga en gemenskap som varar
Att växa från noll till 380 medlemmar på ett år låter som ett fåfänghetsmått, men siffran som faktiskt spelar roll är retention – hur många av dessa personer som kom tillbaka. Några saker vi har lärt oss om att hålla en teknisk gemenskap vid liv:
- Rotera innehållet. Om varje möte är en canvas-tutorial för nybörjare slutar dina erfarna medlemmar komma. Om varje möte handlar om djup GPU-optimering förlorar du nykomlingarna. Blanda översikter, djupdykningar och demos.
- Håll tröskeln för att tala låg. Lightning talks och medlemsdemos sänker insatserna och lyfter fram personer som aldrig skulle anmäla sig för en hel talarplats.
- Mata folk, bokstavligen. Happy hours och gemensamma måltider gör mer för gemenskapens sammanhållning än någon mängd agendaplanering.
- Tacka dina värdar offentligt. Double Down Interactive, Big Fish Games, GameHouse och The Makers Space gav oss lokaler, och lokaler är den oglamorösa förutsättningen för allt annat.
- Gör det välkomnande för alla åldrar och bakgrunder. Vår yngsta medlem är 13. Det är ingen kuriositet – det är en påminnelse om att det här fältet har en ovanligt låg inträdesbarriär, och gruppen bör återspegla det.
Blicka framåt mot 2013
Låter bra, eller hur? Vad skulle ni vilja att vi pratar om 2013? Var vill ni ses?
Några riktningar som vi är nyfikna på, och gärna vill ha er input om:
- Mobilprestanda och profilering — hur man faktiskt mäter var frames tar vägen, med hjälp av webbläsarens och enhetstester.
- Multiplayer och nätverk — WebSockets, latenskompensation och den röriga verkligheten med realtidssynkronisering.
- Verktyg och arbetsflöde — byggsystem, asset-pipelines och hur små team skeppar utan en dedikerad verktygsingenjör.
- Fysik och kollision — när man ska använda ett bibliotek och när man ska skriva sitt eget.
- Tillgänglighet och inmatning — tangentbord, touch och rörelsekontrollplattformar, och hur man stödjer mer än en utan att fördubbla arbetsinsatsen.
Svara nedan med era idéer eller tweeta @massivelyfun med hashtaggen #GameDevJS. Vi ses snart!
Vanliga frågor
Vad är Seattle Game Dev JS?
Det är en meetup-grupp i Seattle-området för personer som är intresserade av JavaScript- och HTML5-spelutveckling. Den för samman utvecklare, artister, designers, programchefer, nätverksadministratörer och allmänna JS-entusiaster för föredrag, lightning-demos och sociala event.
Måste jag vara en erfaren utvecklare för att delta?
Nej. Gruppen blandar medvetet översiktsföredrag med djupa tekniska dykningar, och medlemmarna varierar från en 13-årig hobbyist till professionella ingenjörer på etablerade studior. Om du är nyfiken på JS-spelutveckling hör du hemma i rummet.
Hur kan jag föreslå ett föredrag eller ett ämne?
Svara i kommentarerna på det här inlägget, eller tweeta @massivelyfun med hashtaggen #GameDevJS. Vi letar aktivt efter ämnesidéer, lokalförslag och talarpitchar för 2013.
Vilka typer av ämnen täcker gruppen?
Historiskt sett: rendering- och canvas-tekniker, grafikbibliotek, native wrappers och distribution i appbutiker, HTML5-ljud, Windows 8-utveckling och node.js/express.js-serverarkitektur. Vi är intresserade av att expandera till mobil profilering, multiplayer-nätverk, verktyg, fysik och tillgänglighet.
Vem står som värd för mötena?
Vi har haft Double Down Interactive, Big Fish Games, GameHouse och The Makers Space som värdar, och vi är tacksamma mot dem alla. Om ditt företag har utrymme och vill stödja det lokala utvecklarcommunityt, vill vi gärna höra från dig.
Handlar den här gruppen bara om spel?
Fokus ligger på spel, men färdigheterna överlappar kraftigt med allmän webb- och apputveckling – canvas-rendering, ljudhantering, native wrappers och node.js-arkitektur är alla tillämpbara långt bortom spel. Många av våra medlemmar arbetar med projekt som inte rör spel.
Dela detta: Twitter Facebook Google Pinterest Reddit
Ytterligare 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 dig spelutveckling enligt ditt eget schema
On-demand-kurser som täcker Unity, Unreal, C++, C# och shader-programmering