Siirry pääsisältöön
Massively Fun Pieni indie-studio, joka luo omituisia ja ihastuttavia pelejä – ja näyttää tarkalleen, miten rakennamme ne.

Osa tämän sivuston linkeistä on kumppanuuslinkkejä: voimme ansaita niistä komission, mikä ei lisää kustannuksiasi. Tämä ei vaikuta suosituksiimme. Lue lisää kumppanuusilmoituksestamme. Kumppanuusilmoitus.

Seattle Game Dev JS: Katsaus taaksepäin ja askel eteenpäin.

Tänä tammikuussa HTML5 Game Dev Group täytti vuoden. (Ne kasvavat niin nopeasti!) Tämän virstanpylvään kunniaksi haluamme sanoa sydämelliset kiitokset kaikille jäsenillemme, sponsoreillemme ja kaikille, jotka auttoivat tekemään kokouksistamme sellaisia mahtavia, tiedolla täytettyjä palasia kuin ne ovat!

Tämä vuosi näyttää olevan vielä parempi kuin edellinen. Aloitimme sen sähkökatkolla, jota seurasi Double Down -mobiilitiimin hämmästyttävä palautuminen ja esittely HTML5-optimoinneista (huolimatta siitä, ettei virtaa ollut!). Ei koskaan tylsää hetkeä!

Viime vuonna ryhmämme jäsenmäärä nousi nollasta 380:een, mikä on valtava saavutus! Game Dev JS -porukka on monipuolinen yhteisö täynnä kehittäjiä, taiteilijoita, pelaajia, ohjelmapäälliköitä, verkon ylläpitäjiä ja kaikenlaisia JS-harrastajia. Nuorin kehittäjäjäsenemme on vasta 13-vuotias! Pitämällä sisällön aina tuoreena, puhujat eloisina ja jäsenet sitoutuneina olemme pystyneet rakentamaan vankan yhteisön – emme olisi onnistuneet ilman teitä!

Jos olet kiinnostunut JS:stä, meetup on loistava tilaisuus pitää hauskaa, oppia jotain uutta, jakaa osaamistaan ja tavata erittäin mielenkiintoisia hahmoja.

Keskeiset opit

  • Seattle Game Dev JS kasvoi nollasta 380 jäseneseen ensimmäisenä vuotenaan, perustuen puheiden, lyhyiden demojen ja happy hourien yhdistelmään.
  • Ryhmän vuoden 2012 ohjelmisto kattoi koko HTML5-pinon: renderöinnin, canvas-temput, äänen, natiivikääreet, Windows 8:n ja node.js-palvelinarkkitehtuurin.
  • Tällainen yhteisö toimii, koska se pysyy tietoisesti monialaisena – kehittäjät, taiteilijat, PM:t ja verkon ylläpitäjät kaikki samassa huoneessa.
  • Paras tapa saada hyötyä meetupista on tulla paikalle, esittää kysymyksiä ja lopulta esitellä jotain itse.
  • Vuoden 2013 suunnittelu on käynnissä: haluamme aiheideoitanne, paikkaehdotuksia ja puhujatarjouksia.

Miksi JavaScript-pelikehitysryhmällä on merkitystä

Kun perustimme tämän ryhmän, “HTML5-pelikehitys” oli vielä ilmaisu, joka sai monet ihmiset siristämään silmiään. <canvas>-elementti oli nuori, selaimen suorituskyky oli epäjohdonmukaista, ja ajatusta siitä, että JavaScriptillä voisi julkaista oikean pelin – ei vain teknistä demoa – pidettiin enemmän kuriositeettina kuin alustana.

Vuotta myöhemmin keskustelu on muuttunut täysin. Syy, miksi paikallisella meetupilla on merkitystä tällaisella alalla, on se, että dokumentaatio jää todellisuuden jalkoihin.

Aiheeseen liittyvä: — Valmiita taidetta, työkaluja ja malleja, jotka putoavat suoraan Unity-projektiisi.

Blogikirjoitukset kuvaavat sitä, mikä toimi kuusi kuukautta sitten. Konferenssipuheita on hiottu niin paljon, että ne muuttuvat abstrakteiksi. Se, mikä todella vie kehittäjää eteenpäin, on istuminen sellaisen henkilön vieressä, joka ratkaisi juuri saman ongelman viime viikolla – canvasin, joka pätkii tietyssä laitteessa, äänielementin, joka ei aktivoidu mobiilissa, tai build-putken, joka tukehtuu suureen asset-pakettiin.

Tämä on se aukko, jonka Game Dev JS täyttää. Se ei ole luentosarja. Se on huone täynnä ihmisiä, jotka ovat kaikki keskellä ongelmanratkaisua ja vertailevat muistiinpanojaan.

Mitä käsittelimme vuonna 2012

Tässä on joitakin asioita, joita käsittelimme vuoden aikana:

Jos olet ostoksilla: — Selainpohjainen, kooditon HTML5-moottori, joka viedään verkkoon, mobiililaitteille ja pöytäkoneille.

  • 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

Kaikki nämä aiheet sekä lukuisat lyhyet puheet ja demot ryhmän jäseniltä esiteltiin vuoden aikana. Ja tietysti kokoontumme välillä myös happy houriin!

Erityinen kiitos isännöinnistä Double Down Interactivelle, Big Fish Gamesille, GameHouselle ja The Makers Spacelle!

Puheiden takana olevat teemat

Kun tarkastellaan tätä luetteloa, sen läpi kulkee muutamia selkeitä teemoja – ja ne kannattaa nimetä, koska ne vastaavat lähes täsmälleen päätöksiä, joita jokaisen HTML5-kehittäjän on tehtävä.

Renderöinti ja retained-mode-kysymys. Kevin Mooren puhe retained-mode-grafiikkakirjastoista ja Dean Hudsonin “Stupid Canvas Tricks” sijoittuvat todellisen arkkitehtonisen haarautumiskohdan vastakkaisille puolille. Immediate-mode-canvas-piirtäminen antaa täyden hallinnan ja minimaaliset lisäkustannukset, mutta hallinnoit jokaisen uudelleenpiirron itse. Retained-mode-kirjastot (linja, joka kulkee frameworkien kuten CreateJS:n, PixiJS:n ja myöhemmin Phaserin kautta) tarjoavat scene graphin, hit testingin ja tweeningin valmiina – abstraktiokerroksen kustannuksella käyttäjän ja GPU:n välillä. Kumpikaan ei ole “oikea”. Oikea vastaus riippuu siitä, koostuuko pelisi muutamasta spritestä vai monimutkaisesta, tilallisesta maailmasta.

Kääreongelma. Kolme erillistä puhetta – DDI:n UIWebView-istunto, Iker Jamardon CocoonJS-esitys ja Co+Pilot – kiersivät kaikki saman kysymyksen: miten saat verkkosovelluksen sovelluskauppaan? Vuonna 2012 vaihtoehdot olivat suunnilleen:


LähestymistapaMitä se antaa sinulleKompromissi
Pelkkä verkkosovellusNolla kitkaa, välittömät päivityksetEi näkyvyyttä kaupassa, rajoitetut laite-API:t
Natiivi WebView-kääreJakelu sovelluskaupoissa, joitakin natiivikoukkujaSuorituskykykatto, käyttöliittymän ristiriita natiivin kromin kanssa
Nopeutettu kääre (esim. CocoonJS)GPU-kiihdytetty canvas, natiivimaisempi nopeusToimittajalukitus, alustakohtaiset omituisuudet

Tämä taulukko on edelleen hyödyllinen tapa ajatella päätöstä tänään, vaikka tarkat työkalut ovat kehittyneet.

Aiheeseen liittyvä: — Peliohjelmointikirjoja, mekaanisia näppäimistöjä, näyttöjä ja dev-desk-laitteita.

Ääni. Chris Khoon puhe tehokkaasta HTML5-peliaudion käytöstä oli ja on edelleen yksi alan aliarvostetuimmista aiheista. Ääni on se kohta, jossa verkkopelit hajoavat useimmiten: automaattisen toiston käytännöt, koodekkituen erot sekä viive käyttäjän eleen ja äänen todellisen laukeamisen välillä. Jos rakennat peliä tänään, varaa sille oikeasti aikaa – se ei ole vain “tiedoston pudottaminen” -ongelma.

Palvelinpuolen JavaScript. Dean Hudsonin ja Mason Brownen puhe pelimoottorin suunnittelusta node.js:n ja express.js:n ympärillä oli varhainen merkki siitä, että palvelin ja asiakas voivat jakaa saman kielen. Sillä on enemmän merkitystä kuin miltä se kuulostaa: jaettu koodi pelitilan validointiin, jaetut tietomuodot ja yksi mentaalinen malli koko pinon läpi.

Kuinka saada kaikki irti tapaamisesta

Jos olet uusi tällaisessa ryhmässä – tai olet vain seurannut sivusta etkä ole vielä uskaltanut tulla paikalle – tässä on käytännön neuvoja, joita antaisimme kenelle tahansa.

Meidän valintamme: — On-demand-kurssit, jotka kattavat Unity-, Unreal-, C++-, C#- ja Shader-ohjelmoinnin.

  • Tule mukana yhden tietyn ongelman kanssa. “Pelini on hidas” herättää sympatiaa. “Canvasi pudottaa ruutuja, kun piirrän muutaman sadan spriten yli” tuo vastauksen.
  • Puhu vieressäsi olevalle henkilölle, ei vain puhujalle. Esitys on tekosyy; käytäväkeskustelu on se varsinainen arvo.
  • Pidä lyhyt salamapuhe. Viisi minuuttia jostakin oppimastasi on nopein tapa tulla tunnetuksi ryhmässä. Sinun ei tarvitse olla asiantuntija – sinun täytyy vain olla ratkaissut yksi asia.
  • Ole yhteydessä jälkikäteen. Vaihda yhteystiedot ja lähetä oikeasti se linkki tai koodinpätkä, jonka lupasit.
  • Tuo mukasi ei-kehittäjän näkökulma. Taiteilijamme, tuotehallintamme ja verkkoasiantuntijamme esittävät kysymyksiä, jotka kehittäjät unohtavat kysyä, ja ne ovat usein huoneen hyödyllisimpiä kysymyksiä.

Kestävän yhteisön rakentaminen

Kasvu nollasta 380 jäseniin vuodessa kuulostaa turhamaisuussuureelta, mutta numero, jolla on oikeasti merkitystä, on sitoutuminen – kuinka moni heistä palasi. Muutama asia, jonka olemme oppineet teknisen yhteisön pitämisestä hengissä:

  • Kierrätä sisältöä. Jos jokainen tapaaminen on aloittelijan canvas-opetusohjelma, kokeneet jäsenet lakkaavat tulemasta. Jos jokainen tapaaminen on syvällistä GPU-optimointia, menetät tulokkaat. Sekoita yleiskatsauksia, syväsukelluksia ja demoja.
  • Pidä puhumiskynnys matalana. Salamapuheet ja jäsendemot laskevat panoksia ja tuovat esiin ihmisiä, jotka eivät koskaan vapaaehtuisesti hakeutuisi täyspitkään puhevuoroon.
  • Tarjoa ruokaa, kirjaimellisesti. Happy hourit ja yhteiset ateriat tekevät yhteisön yhteenkuuluvuuden eteen enemmän kuin mikään määrä esityslistan suunnittelua.
  • Kiitä isäntiä julkisesti. Double Down Interactive, Big Fish Games, GameHouse ja The Makers Space antoivat meille tilat, ja tilat ovat loistamaton edellytys kaikelle muulle.
  • Tee siitä tervetullut kaikille iälle ja taustalle. Nuorin jäsenemme on 13-vuotias. Se ei ole kuriositeetti – se on muistutus siitä, että tällä alalla on poikkeuksellisen alhainen kynnys aloittaa, ja ryhmän tulisi heijastaa sitä.

Katse eteenpäin vuoteen 2013

Kuulostaa hyvältä, eikö? Mistä haluaisit meidän puhuvan vuonna 2013? Missä haluaisit tavata?

Joitakin suuntia, joista olemme kiinnostuneita ja joista toivoisimme palautettasi:

  • Mobiilisuorituskyky ja profilointi — kuinka mitata tarkasti, mihin ruudut kuluvat, käyttäen selaimen kehitystyökaluja ja laitetestauksia.
  • Moninpeli ja verkottuminen — WebSockets, viiveen kompensointi ja reaaliaikaisen synkronoinnin sotkuinen todellisuus.
  • Työkalut ja työnkulku — build-järjestelmät, asset-putket ja se, miten pienet tiimit julkaisevat pelejä ilman erillistä työkaluinsinööriä.
  • Fysiikka ja törmäykset — milloin käyttää kirjastoa ja milloin kirjoittaa oma.
  • Esteettömyys ja syöttö — näppäimistö-, kosketus- ja liikeohjausalustat sekä se, miten tukea useampaa kuin yhtä työtä kaksinkertaistamatta.

Vastaa alle ideoillasi tai twiitaa @massivelyfun käyttämällä #GameDevJS-hashtagia. Nähdään pian!

Usein kysytyt kysymykset

Mikä on Seattle Game Dev JS?

Se on Seattlen alueen meetup-ryhmä ihmisille, jotka ovat kiinnostuneita JavaScript- ja HTML5-pelikehityksestä. Se tuo yhteen kehittäjiä, taiteilijoita, suunnittelijoita, ohjelmapäälliköitä, verkkoasiantuntijoita ja yleisiä JS-harrastajia puheiden, salamademojen ja sosiaalisten tapahtumien merkeissä.

Pitääkö minun olla kokenut kehittäjä osallistuakseni?

Ei. Ryhmä sekoittaa tietoisesti yleiskatsaukset ja syvälliset tekniset sukellukset, ja jäsenistö vaihtelee 13-vuotiaasta harrastajasta vakiintuneiden studioiden ammattilaisinsinööreihin. Jos olet utelias JS-pelikehityksestä, kuulut joukkoon.

Kuinka voin ehdottaa puhetta tai aihetta?

Vastaa tämän postauksen kommentteihin tai twiitaa @massivelyfun käyttämällä #GameDevJS-hashtagia. Etsimme aktiivisesti aiheideoita, paikkaehdotuksia ja puhujia vuodelle 2013.

Millaisia aiheita ryhmä käsittelee?

Historiallisesti: renderöinti- ja canvas-tekniikat, grafiikkakirjastot, natiivikääreet ja sovelluskauppajakelu, HTML5-ääni, Windows 8 -kehitys sekä node.js/express.js-palvelinarkkitehtuuri. Olemme kiinnostuneita laajentamaan mobiiliprofilointiin, moninpeliverkottumiseen, työkaluihin, fysiikkaan ja esteettömyyteen.

Kuka isännöi tapaamisia?

Meitä ovat isännöineet Double Down Interactive, Big Fish Games, GameHouse ja The Makers Space, ja olemme heille kaikille kiitollisia. Jos yrityksellänne on tilaa ja haluatte tukea paikallista kehittäjäyhteisöä, kuulemme mielellämme teistä.

Keskittyykö tämä ryhmä vain peleihin?

Painopiste on peleissä, mutta taidot menevät vahvasti päällekkäin yleisen verkko- ja sovelluskehityksen kanssa – canvas-renderöinti, äänenkäsittely, natiivikääreet ja node.js-arkkitehtuuri ovat kaikki hyödyllisiä pelien ulkopuolellakin. Monet jäsenistämme työskentelevät muiden kuin pelien parissa.

Jaa tämä: Twitter Facebook Google Pinterest Reddit

Lisälukemista

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


Opi pelin kehittäjä oman aikataulusi mukaan

On-demand-kurssit, jotka kattavat Unity-, Unreal-, C++-, C#- ja Shader-ohjelmoinnin