Seattle Game Dev JS: Una mirada atrás y un paso adelante.
Y con este hito en mente, nos gustaría dar las gracias de todo corazón a todos nuestros miembros, patrocinadores y a todos los que ayudaron a que nuestras reuniones fueran esas increíbles cápsulas llenas de conocimiento que son.
Este año parece que será incluso mejor que el anterior. Comenzamos con un corte de energía, seguido de una increíble recuperación y una presentación (¡a pesar de no tener luz!) sobre HTML5 Optimizations, a cargo del equipo móvil de Double Down. ¡Nunca hay un momento aburrido!
El año pasado, nuestro grupo pasó de 0 a 380 miembros, ¡un gran logro! El equipo de Game Dev JS es una comunidad diversa llena de desarrolladores, artistas, gamers, gerentes de programa, administradores de redes y entusiastas de JS de todo tipo. ¡Nuestro miembro desarrollador más joven tiene solo 13 años! Al mantener siempre el contenido fresco, los ponentes animados y a los miembros comprometidos, hemos podido construir una comunidad sólida; ¡no podríamos haberlo hecho sin ustedes!
Si te interesa JS, Meetup es una gran oportunidad para divertirse, aprender algo nuevo, compartir algo que sabes y conocer a personajes muy interesantes.
Key Takeaways
- Seattle Game Dev JS creció de cero a 380 miembros en su primer año, basándose en una combinación de charlas, demostraciones relámpago y happy hours.
- La programación de 2012 del grupo abarcó todo el stack de HTML5: renderizado, trucos de canvas, audio, wrappers nativos, Windows 8 y arquitectura de servidor node.js.
- Una comunidad como esta funciona porque se mantiene deliberadamente interdisciplinaria: desarrolladores, artistas, PMs y administradores de redes, todos en una sola habitación.
- La mejor manera de obtener valor de un meetup es asistir, hacer preguntas y, eventualmente, presentar algo uno mismo.
- La planificación de 2013 está abierta: queremos sus ideas de temas, sugerencias de lugares y propuestas de ponentes.
Por qué es importante un grupo de desarrollo de juegos de JavaScript
Cuando comenzamos este grupo, “desarrollo de juegos HTML5” era todavía una frase que hacía que mucha gente entrecerrara los ojos. El elemento <canvas> era joven, el rendimiento del navegador era inconsistente y la idea de que se podía lanzar un juego real —no una demo técnica— en JavaScript se trataba como una novedad en lugar de una plataforma.
Un año después, esa conversación ha cambiado por completo. La razón por la que un meetup local es importante en un campo como este es que la documentación va a la zaga de la realidad.
Relacionado: — Arte, herramientas y plantillas listas para usar que se incluyen directamente en tu proyecto de Unity.
Las publicaciones de blog describen lo que funcionó hace seis meses. Las charlas de conferencias están tan pulidas que resultan abstractas. Lo que realmente hace avanzar a un desarrollador es sentarse al lado de alguien que resolvió tu problema exacto la semana pasada: un canvas que da tirones en un dispositivo específico, un elemento de audio que no se desbloquea en el móvil, un pipeline de compilación que se colapsa con un paquete de assets grande.
Esa es la brecha que Game Dev JS llena. No es una serie de conferencias. Es una sala llena de gente que está en medio de un problema, comparando notas.
Lo que cubrimos en 2012
Aquí hay algunos de los temas que cubrimos a lo largo del año:
Si estás de compras: — Motor HTML5 sin código basado en navegador que exporta a la web, dispositivos móviles y computadoras de escritorio.
- 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
Todos estos temas, junto con numerosas charlas relámpago y demostraciones de los miembros del grupo, se presentaron durante el año. Y, por supuesto, ¡también nos reunimos ocasionalmente para un happy hour!
¡Un agradecimiento muy especial a Double Down Interactive, Big Fish Games, GameHouse y The Makers Space por acogernos!
Los temas detrás de las charlas
Mirando hacia atrás en esa lista, hay algunos hilos claros que la recorren, y vale la pena nombrarlos porque coinciden casi exactamente con las decisiones que cualquier desarrollador de HTML5 tiene que tomar.
El renderizado y la cuestión del modo retenido. La charla de Kevin Moore sobre bibliotecas de gráficos en modo retenido y los “Stupid Canvas Tricks” de Dean Hudson se sitúan en lados opuestos de una bifurcación arquitectónica real. El dibujo de canvas en modo inmediato te brinda control total y una sobrecarga mínima, pero tú mismo gestionas cada redibujo. Las bibliotecas en modo retenido (el linaje que pasa por frameworks como CreateJS, PixiJS y más tarde Phaser) te ofrecen un grafo de escena, hit testing y tweening listos para usar, a costa de una capa de abstracción entre tú y la GPU. Ninguna es “correcta”. La respuesta adecuada depende de si tu juego es un puñado de sprites o un mundo complejo y con estado.
El problema del wrapper. Tres charlas separadas —la sesión de UIWebView de DDI, la presentación de CocoonJS de Iker Jamardo y Co+Pilot— giraron en torno a la misma pregunta: ¿cómo llevas una aplicación web a una tienda de aplicaciones? En 2012, las opciones eran aproximadamente:
| Enfoque | Lo que te aporta | La compensación |
|---|---|---|
| Aplicación web sencilla | Cero fricción, actualizaciones instantáneas | Sin presencia en la tienda, API de dispositivo limitadas |
| Envoltorio nativo WebView | Distribución en tienda, algunos ganchos nativos | Techo de rendimiento, desajuste de UI con el chrome nativo |
| Envoltorio acelerado (por ejemplo, CocoonJS) | Canvas acelerado por GPU, velocidad más cercana a la nativa | Dependencia del proveedor, peculiaridades específicas de la plataforma |
Esa tabla sigue siendo una forma útil de pensar sobre la decisión hoy, aunque las herramientas específicas hayan evolucionado.
Audio. La charla de Chris Khoo sobre el audio efectivo en juegos HTML5 fue, y sigue siendo, uno de los temas más subestimados en este campo. El audio es donde los juegos web fallan con mayor frecuencia: políticas de reproducción automática, diferencias en el soporte de códecs y la latencia entre un gesto del usuario y que el sonido realmente se active. Si estás creando un juego hoy, presupuesta tiempo real para el audio; no es un problema de simplemente “soltar un archivo”.
JavaScript del lado del servidor. La charla de Dean Hudson y Mason Browne sobre el diseño de motores de juegos en torno a node.js y express.js fue una señal temprana de que el servidor y el cliente podían compartir un lenguaje. Eso importa más de lo que parece: código compartido para la validación del estado del juego, formatos de datos compartidos y un único modelo mental en toda la pila.
Cómo aprovechar al máximo un Meetup
Si eres nuevo en este tipo de grupo —o has estado observando desde las sombras y aún no te has animado a venir— aquí tienes los consejos prácticos que le daríamos a cualquiera.
- Ven con un problema específico. “Mi juego es lento” te genera simpatía. “Mi canvas pierde fotogramas cuando dibujo más de unos pocos cientos de sprites” te da una respuesta.
- Habla con la persona que tienes al lado, no solo con el ponente. La charla es la excusa; la conversación en el pasillo es el valor.
- Da una charla relámpago. Cinco minutos sobre algo que aprendiste es la forma más rápida de convertirte en alguien conocido en el grupo. No necesitas ser un experto; necesitas haber resuelto una sola cosa.
- Haz un seguimiento. Intercambia información de contacto y envía realmente el enlace o el fragmento de código que prometiste.
- Aporta tu perspectiva de no desarrollador. Nuestros artistas, PM y administradores de red hacen las preguntas que los desarrolladores olvidan hacer, y esas preguntas suelen ser las más útiles de la sala.
Construyendo una comunidad duradera
Pasar de cero a 380 miembros en un año suena como una métrica de vanidad, pero el número que realmente importa es la retención: cuántas de esas personas regresaron. Algunas cosas que hemos aprendido sobre cómo mantener viva una comunidad técnica:
- Rota el contenido. Si cada reunión es un tutorial de canvas para principiantes, los miembros experimentados dejarán de asistir. Si cada reunión es una optimización profunda de GPU, perderás a los recién llegados. Mezcla visiones generales, inmersiones profundas y demostraciones.
- Mantén baja la barrera para hablar. Las charlas relámpago y las demostraciones de miembros reducen la presión y dan visibilidad a personas que nunca se ofrecerían como voluntarias para un espacio completo.
- Alimenta a la gente, literalmente. Los happy hours y las comidas compartidas hacen más por la cohesión de la comunidad que cualquier cantidad de planificación de agenda.
- Agradece públicamente a tus anfitriones. Double Down Interactive, Big Fish Games, GameHouse y The Makers Space nos dieron salas, y las salas son el prerrequisito poco glamoroso para todo lo demás.
- Haz que sea acogedor para todas las edades y orígenes. Nuestro miembro más joven tiene 13 años. Eso no es una curiosidad; es un recordatorio de que este campo tiene una barrera de entrada inusualmente baja, y el grupo debería reflejar eso.
Mirando hacia el 2013
Suena genial, ¿verdad? ¿De qué te gustaría que habláramos en 2013? ¿Dónde quieres que nos reunamos?
Algunas direcciones que nos interesan y sobre las que nos encantaría recibir tu opinión:
- Rendimiento móvil y profiling — cómo medir realmente a dónde se van los fotogramas, usando las herramientas de desarrollo del navegador y pruebas en dispositivos.
- Multijugador y redes — WebSockets, compensación de latencia y las complicadas realidades de la sincronización en tiempo real.
- Herramientas y flujo de trabajo — sistemas de construcción, pipelines de activos y cómo los equipos pequeños lanzan productos sin un ingeniero de herramientas dedicado.
- Física y colisiones — cuándo usar una biblioteca y cuándo escribir la tuya propia.
- Accesibilidad y entrada — plataformas de teclado, táctiles y de control de movimiento, y cómo dar soporte a más de una sin duplicar el trabajo.
Responde a continuación con tus ideas o twittea a @massivelyfun usando el hashtag #GameDevJS. ¡Nos vemos pronto!
Preguntas frecuentes
¿Qué es Seattle Game Dev JS?
Es un grupo de meetup del área de Seattle para personas interesadas en el desarrollo de juegos con JavaScript y HTML5. Reúne a desarrolladores, artistas, diseñadores, program managers, administradores de redes y entusiastas de JS en general para charlas, demostraciones relámpago y eventos sociales.
¿Necesito ser un desarrollador experimentado para asistir?
No. El grupo mezcla deliberadamente charlas generales con inmersiones técnicas profundas, y los miembros van desde un aficionado de 13 años hasta ingenieros profesionales en estudios establecidos. Si tienes curiosidad por el desarrollo de juegos en JS, tienes un lugar en la sala.
¿Cómo puedo proponer una charla o sugerir un tema?
Responde en los comentarios de esta publicación o twittea a @massivelyfun usando el hashtag #GameDevJS. Estamos buscando activamente ideas de temas, sugerencias de lugares y propuestas de ponentes para 2013.
¿Qué tipo de temas cubre el grupo?
Históricamente: técnicas de renderizado y canvas, bibliotecas gráficas, envoltorios nativos y distribución en tiendas de aplicaciones, audio HTML5, desarrollo para Windows 8 y arquitectura de servidor con node.js/express.js. Estamos interesados en expandirnos hacia el profiling móvil, redes multijugador, herramientas, física y accesibilidad.
¿Quién organiza las reuniones?
Double Down Interactive, Big Fish Games, GameHouse y The Makers Space han sido nuestros anfitriones, y estamos agradecidos con todos ellos. Si su empresa tiene espacio y quiere apoyar a la comunidad local de desarrolladores, nos encantaría saber de usted.
¿Este grupo es solo sobre juegos?
El enfoque son los juegos, pero las habilidades se superponen en gran medida con el desarrollo web y de aplicaciones en general: el renderizado de canvas, el manejo de audio, los wrappers nativos y la arquitectura de node.js se aplican mucho más allá de los juegos. Muchos de nuestros miembros trabajan en proyectos que no son juegos.
Comparte esto: Twitter Facebook Google Pinterest Reddit
Lectura adicional
- 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
Aprenda a desarrollar juegos según su propio horario
Cursos bajo demanda que cubren Unity, Unreal, C++, C# y programación de sombreadores