Rogule es un juego roguelike en línea de código abierto basado en emojis que comenzó como una entrada en el jam de juegos 7DRL. Ahora ha crecido hasta alcanzar alrededor de 1,500 juegos por día. En esta charla, cubriré la tecnología extraña (ClojureScript), la motivación, la mecánica del juego y el futuro de Rogule.
This talk has been presented at JS GameDev Summit 2023, check out the latest edition of this JavaScript Conference.
FAQ
Chris McCormick es un desarrollador de software independiente que ha trabajado como freelance la mayor parte de su vida. Se especializa en crear microempresas en línea, juegos y música generada proceduralmente.
Rogl es un juego roguelike en línea minimalista que se juega desde el navegador. En Rogl, juegas como un elfo que se mueve por un calabozo, atacando monstruos, recogiendo objetos automáticamente y buscando un santuario para ascender. Cada día se genera un nuevo calabozo y cada jugador tiene una sola oportunidad diaria para jugar.
Desde 2022, se han jugado alrededor de 350,000 partidas de Rogl, con un promedio de 1,000 a 2,000 juegos diarios.
Rogl difiere de los roguelikes tradicionales en varios aspectos: utiliza emojis para una experiencia más tranquila, las sesiones son rápidas y duran aproximadamente un minuto, no tiene gestión de inventario ya que los objetos se utilizan automáticamente, y el juego consta de un solo nivel sin un descenso más profundo en el calabozo.
Chris McCormick comenzó a desarrollar Rogl durante una jam de roguelike de siete días a principios de 2022, inspirado en parte por una entrevista con Josh Wardle, creador de Wordle. Chris quería aplicar algunos de los principios de Wordle a un juego roguelike y construyó el juego en una semana.
Chris McCormick aprendió la importancia del marketing discreto y efectivo. A pesar de que Rogl estuvo disponible durante un año con poco cambio y atención, un solo post en el subreddit de juegos web llevó a que 135,000 personas jugaran Rogl en pocos días, alcanzando el número 1 en Hacker News y ganando amplia atención.
Chris McCormick, un desarrollador de software independiente, habla sobre su último juego Rogl, un juego roguelike en línea minimalista. Comparte la historia de cómo Rogl ganó popularidad y enfatiza la importancia del marketing y darle una oportunidad a tus creaciones. McCormick destaca el valor de la frugalidad y la subingeniería, así como el poder de encontrar la mejor tecnología para la eficiencia. Explica por qué ClojureScript es la mejor tecnología para él y discute estrategias de implementación utilizando Piku. En general, la charla enfatiza la importancia de informar a las personas sobre tu proyecto, priorizar el desarrollo rápido y la retroalimentación de los usuarios.
Mi nombre es Chris McCormick, un desarrollador de software independiente. He estado creando juegos basados en la web, y hoy estoy aquí para hablar sobre mi último juego, Rogl. Es un juego roguelike en línea minimalista que se juega en el navegador. El juego presenta una jugabilidad estratégica por turnos, movimiento basado en cuadrícula y muerte permanente del personaje del jugador.
Mi nombre es Chris McCormick, y soy un desarrollador de software independiente. He estado trabajando como freelance la mayor parte de mi vida, y recientemente he estado construyendo microempresas en línea. También me gusta crear juegos y música generada proceduralmente y aplicaciones de música. Hoy estoy aquí para hablar sobre Rogl. El primer programa de computadora que escribí fue un juego por turnos en el Apple IIe en algún momento de 1980. Tenía alrededor de ocho años y pronto descubrí que me gustaba más crear juegos que jugarlos, así que seguí haciendo juegos. Y hoy en día hago juegos basados en la web. Rogl es mi último juego y de eso es de lo que estoy aquí para hablar hoy. Es un juego roguelike en línea minimalista que se juega en tu navegador. Juegas como un elfo que se mueve por un calabozo, atacando a monstruos, recogiendo objetos y tratando de encontrar un santuario para poder ascender. Todos obtienen el mismo calabozo cada día y tienes una oportunidad para cada calabozo del día. Se han jugado alrededor de 350,000 juegos roguelike desde 2022 y se juegan alrededor de 1,000 a 2,000 juegos todos los días. Si buscas el hashtag roguel en las redes sociales, probablemente verás a personas compartiendo sus juegos. He estado jugando roguelikes desde que el Intel 286 era una computadora rápida. La palabra roguelike proviene del juego Rogue que se lanzó en 1980. Es una exploración de mazmorras a través de niveles generados proceduralmente con jugabilidad por turnos, movimiento basado en cuadrícula y muerte permanente del personaje del jugador. En estos días, muchos juegos han entrado en el género roguelike y su significado se ha diluido. Para mí, estas características son las que hacen que los roguelikes sean geniales y mi juego Roguel se adhiere a ellas. La jugabilidad estratégica por turnos es particularmente importante. Te da espacio para pensar y elimina el estrés
2. La historia de Rogl
Short description:
Rogl es un tipo diferente de juego roguelike con emojis, jugabilidad rápida y una experiencia de usuario sencilla. Comenzó como un proyecto de siete días inspirado en Wordle y ganó popularidad después de ser compartido en el subreddit de juegos web, atrayendo a 135,000 jugadores. La primera lección de esta charla es que a veces incluso los buenos proyectos pueden no tener éxito en línea, pero sigue siendo válido construir algo que personalmente desees.
Una de las cosas que hacen que Rogl sea diferente de los roguelikes tradicionales es el uso de emojis, lo que contribuye a una experiencia de juego más tranquila. Hay un par de cosas que hacen que Rogl sea diferente de los roguelikes tradicionales. Lo primero y más obvio son los emojis y es un juego rápido con sesiones que duran alrededor de un minuto. En segundo lugar, no tiene gestión de inventario. Todos los objetos que recoges se utilizan automáticamente. En tercer lugar, solo tiene un nivel y no hay descenso más profundo en el calabozo. La profundidad y complejidad de los roguelikes se intercambia por sesiones rápidas y amigables para el usuario. Creo que esto, junto con ser basado en la web, es lo que lo hace accesible a un público más amplio. También dediqué bastante tiempo a hacer que la experiencia de usuario fuera súper sencilla. Rogl comenzó su vida en una jam de roguelike de siete días a principios de 2022. Había estado pensando en hacer un roguelike basado en emojis durante un tiempo. Alrededor de esa época, escuché una gran entrevista con el creador de Wordle, Josh Wardle. Comencé a pensar en cómo aplicar algunos de los principios de Wordle a un juego roguelike. Así que construí el juego en una semana por 70 RL. Y cuando terminé, estaba bastante satisfecho con lo que había construido. Era divertido de jugar, tenía una condición de victoria, una condición de derrota y una pequeña función para compartir en las redes sociales al final del juego. Después de lanzarlo, puse el juego en línea y tenía alrededor de 30 jugadores regulares al día. Incluso las personas compartían los registros del juego, lo cual fue bastante agradable. Avancemos rápidamente aproximadamente 1 año, durante el cual cambié muy poco sobre Rogl. Alrededor de 30 personas al día todavía lo estaban jugando y no había sucedido mucho más. Luego, un día descubrí el subreddit de juegos web. Pensé que era bastante genial, así que decidí publicar sobre Rogl allí. Lo publiqué y me fui a dormir. Durante los siguientes días, 135,000 personas jugaron a Rogl. Llegó al número 1 en Hacker News, la cuenta de Twitter de Github lo retuiteó y fue mencionado en una popular revista en línea japonesa, todo lo cual fue bastante sorprendente. Nada de eso habría sucedido si no lo hubiera compartido en el subreddit de juegos web. Así que creo que esta es la primera lección de mi charla. Todos hemos tenido esa experiencia de crear algo que creemos que es bastante bueno y luego lo publicamos en línea y parece que al mundo simplemente no le interesa. Bueno, hay 2 posibles razones por las que eso sucede. La primera razón es si tu cosa es mala o si es mala para todos excepto para ti, lo cual está bien. Construir algo porque solo tú lo quieres es una razón perfectamente válida para construirlo.
3. Marketing and Giving Your Creations a Chance
Short description:
Fundamentalmente, construí Rogl para abordar el problema de que las personas adecuadas no se enteraran de él. Es importante darle una oportunidad a tus creaciones informando a las personas que podrían necesitarlas. El marketing se trata simplemente de informar a las personas, no de manera molesta o spam, sino a aquellos que puedan estar interesados. Si has hecho eso y aún nadie lo quiere, está bien pasar a otra cosa, pero al menos dale una oportunidad.
algo. Fundamentalmente, por eso construí Rogl. Y no todo tiene que ser popular. Pero la segunda razón, la segunda posible razón es la importante para geeks como nosotros, que es que tal vez nadie se enteró de ello o las personas adecuadas no se enteraron de ello. Así que las personas adecuadas para enterarse de ello son aquellas que necesitan lo que has creado pero aún no saben que existe. Si quieres darle una oportunidad a las cosas que creas, es realmente importante que las personas que podrían necesitarlas las vean. Si nunca las ven, nunca sabrán que existen y nunca las usarán. Creo que los geeks tienden a asumir que nuestro proyecto fracasa porque es malo, cuando a menudo la segunda razón es por qué no funciona. Las personas adecuadas nunca se enteraron de ello. Así que Rogl me enseñó esta lección de una manera muy obvia, porque fue el experimento perfecto en marketing. Permaneció allí durante un año sin cambios y luego, tan pronto como hice un poco de marketing discreto, explotó. Entonces, ¿qué es el marketing? Básicamente, se trata simplemente de informar a las personas sobre lo que has creado. No de manera molesta o irritante o diciéndoselo a personas que no les importa, sino encontrar a las personas a las que crees que les interesa y contarles sobre ello. Y como mínimo, debes darle una oportunidad a tu proyecto para prosperar. Si informas a las personas adecuadas y aún nadie lo quiere, entonces está bien. Puedes dejarlo ir y seguir adelante. Pero al menos ahora debes darle una oportunidad.
4. Frugalidad y Subingeniería
Short description:
La frugalidad es importante cuando se trata de nuestro propio tiempo. Rogl, con 130,000 juegos jugados en dos días, se ejecuta en un solo y económico servidor de Digital Ocean. Construyo cosas pequeñas y rápidas para ver qué funciona. Minimizar implacablemente las características y participar en game jams son estrategias para la frugalidad.
De acuerdo, ese es el primer punto que quiero destacar en mi charla. Mi segundo punto se trata de la frugalidad y la subingeniería. La frugalidad es la cualidad de ser frugal, ahorrativo, prudente o económico en el consumo de recursos, como alimentos, tiempo o dinero. Y evitar el desperdicio, la ostentación o la extravagancia. Entonces, ¿cuál es la cosa más valiosa que tenemos como seres humanos? Es nuestro tiempo. Para mí, la frugalidad es especialmente importante cuando se trata de nuestro propio tiempo. Si recuerdas, mencioné anteriormente que Rogl tuvo 130,000 juegos jugados en dos días. El número de solicitudes individuales que llegaron al servidor alcanzó los millones, y no hubo tiempo de inactividad durante ese período. Entonces, es posible que te sorprenda saber que no se ejecuta en ninguna plataforma de escalado automático. No tiene un clúster de Kubernetes, no utiliza imágenes de Docker e incluso no tiene un CDN. Puede sorprenderte saber que se ejecuta en un solo y económico servidor de Digital Ocean. Tal vez aún más sorprendente es que tengo alrededor de 30 aplicaciones en funcionamiento en ese servidor de $12 al mes. Y al igual que Rogl, algunas de esas aplicaciones web también reciben decenas de miles de visitantes al mes. Al igual que Rogl, la mayoría de esas aplicaciones web también ejecutan SQLite en producción. Entonces, quiero decir, construyo muchas cosas porque me gusta experimentar con diferentes ideas. Mi estrategia básica de desarrollo es construir cosas pequeñas y rápidas y ponerlas en línea, mostrarlas a las personas y ver qué funciona. Para hacer esto, tengo que ejecutar las cosas de manera excepcionalmente económica porque la mayoría de las cosas fallan. Ahora te voy a contar sobre mi tecnología y cómo ejecuto las cosas de manera económica. La primera parte es el bajo costo durante la fase de desarrollo. Cuando tengo una idea, no quiero pasar meses o años viendo si es buena. Porque eso desperdicia tiempo precioso. Quiero saberlo lo antes posible. Entonces, construyo cosas de manera económica utilizando cuatro estrategias básicas. La estrategia número uno es minimizar implacablemente las características. A los ingenieros les encanta la complejidad, pero en realidad es el enemigo. Debes detenerte y preguntarte cuál de mis cero usuarios realmente quiere esta característica. Elimina literalmente todo lo que no sea el mecanismo principal o la única cosa que el juego de Apple debe hacer. Podría haber agregado todo tipo de cosas a Rogl, pero no lo hice. Y creo que eso me permitió lanzarlo realmente.
5. Estrategias de Construcción y Frugalidad
Short description:
Un game jam es el dojo perfecto para la frugalidad. Mi segunda estrategia es construir por mí mismo. Algunas personas son buenas trabajando en equipo, pero siempre he encontrado que me limita. La comunicación naturalmente agrega fricción.
Por supuesto, los game jams son una excelente manera de entrenarse en la frugalidad. Un game jam es el dojo perfecto para la frugalidad. Mi segunda estrategia es construir por mí mismo. Algunas personas son buenas trabajando en equipo, pero siempre he encontrado que me limita. La comunicación naturalmente agrega fricción. Tener que consultar decisiones técnicas o artísticas con otra persona ralentiza el proceso. No creo que esta sea una regla fija y dura. Algunas personas tienen grandes asociaciones con mucha confianza y entendimiento. He participado en game jams con amigos antes y es divertido. Creo que si encuentras a las personas adecuadas que entienden cómo construir cosas y trabajan bien juntas, entonces es posible unirse en equipo. Para
6. Encontrar la Mejor Tecnología para la Eficiencia
Short description:
El meme de que la tecnología no importa es bastante controvertido. Si bien es cierto que puedes construir cualquier cosa con la tecnología que ya conoces, invertir tiempo en encontrar la mejor tecnología para ti puede ahorrarte tiempo y evitar complejidades innecesarias. La clave está en encontrar una tecnología que te permita avanzar rápidamente.
para mí siempre ha sido fácil construir más rápido por mí mismo. Así que mi tercera estrategia para construir de manera frugal, es probablemente bastante controvertida. Hay un meme que dice que la tecnología no importa. Solo usa lo que sabes. Puedes construir cualquier cosa con cualquier tecnología, y esto es cierto con el famoso ejemplo de Peter Levels construyendo sus startups millonarias con PHP y JQuery. Así que es cierto que puedes construir cualquier cosa con la tecnología que ya conoces. Especialmente si eres un genio del marketing como Peter. Pero estoy aquí para decirte que también puedes perder menos tiempo si inviertes algo de tiempo en encontrar la mejor tecnología para ti. No me refiero a la mejor tecnología para startups en Silicon Valley o la mejor tecnología para los nerds en Hack News, o incluso la última extravagancia complicada que alguien subió a NBN. Lo que quiero decir es encontrar la mejor tecnología que te permita avanzar rápidamente. Así que no apiles las probabilidades
7. El Poder de ClojureScript
Short description:
La mejor tecnología para mí es ClojureScript. A pesar de sus desafíos iniciales con la sintaxis Lisp y la inmutabilidad, descubrí que después de unas semanas de construir en este lenguaje, podía avanzar mucho más rápido que antes. En comparación con PHP, Python y JavaScript, ClojureScript era significativamente más rápido, lo que me permitió incluso construir mi propio marco web. El costo de construir y mantener mi propio marco web en ClojureScript es menor que usar Python y Django. ClojureScript es la mejor tecnología para mí para avanzar rápido.
No te enfrentes a ti mismo utilizando tecnología que te ralentiza. Evita la complejidad a toda costa. Así que para mí, la mejor tecnología resulta ser ClojureScript. Me presentaron a Clojure por un amigo durante una competencia de creación de juegos hace unos años. Al principio, lo encontré bastante desafiante. La sintaxis Lisp era diferente a cualquier cosa que había codificado antes. La inmutabilidad era extraña y restrictiva. La programación funcional me gustaba, pero era bastante hardcore. Lo que sucedió fue que descubrí que después de unas semanas construyendo en este lenguaje, me movía mucho más rápido que antes. Como me gusta construir muchas cosas, esto fue muy impresionante. Así que, ya sabes, he usado PHP y Python y JavaScript en producción durante décadas. Pero en comparación, ClojureScript era mucho más rápido que todos ellos, incluso pude construir mi propio marco web, por lo que ya no tuve que usar Django y Python. Nunca hubiera intentado construir mi propio marco web en un lenguaje diferente. El costo de construir y mantener mi propio marco web en ClojureScript resultó ser menor que quedarme con Python y Django. Así que ClojureScript es la mejor tecnología para mí para avanzar rápido.
8. ClojureScript: Velocidad y Despliegue
Short description:
ClojureScript es más rápido debido a su sintaxis Lisp, mutación restringida y énfasis en la recarga en vivo. El navegador proporciona gráficos, fuentes, sonido, entrada, redes y acceso fácil de forma gratuita. Reutilizar activos, mecánicas de juego y código en ClosureScript acelera el desarrollo. El despliegue en un solo VPS puede ser complicado debido a la configuración y la instalación de dependencias.
Entonces, ¿qué hace que ClojureScript sea más rápido? En primer lugar, su sintaxis Lisp. Debido a que tu editor de texto comprende la sintaxis, puede ayudarte a manipular y refactorizar el código mucho más rápido. Por lo tanto, puedes usar teclas individuales para mover el código y, como hay mucho menos sintaxis y código redundante, es más rápido porque escribes menos errores. La mutación está restringida en el lenguaje y debes escribir en un estilo muy funcional, lo que inherentemente conduce a menos errores. Es más rápido porque la comunidad de Clojure community pone un gran énfasis en la recarga en vivo y el desarrollo interactivo. Las herramientas te permiten recargar el código en tiempo real a nivel de función. En términos prácticos, esto significa que cuando escribo un juego como Rogl, no tengo que actualizar la página. Si actualizo la IA de un monstruo, el monstruo simplemente cambia su comportamiento en ese momento en el tiempo. No tengo que volver a cargar la página ni recrear el estado del juego para probar el cambio. El estado y la página permanecen iguales y solo se actualiza el comportamiento del monstruo.
Entonces, la mejor tecnología para mí también es el navegador. Sé que todos usan Unity para construir juegos pero obtienes muchas cosas gratis en el navegador. Obtienes gráficos, fuentes, sonido, entrada, redes, fácil acceso para los usuarios, actualizaciones simples y portabilidad de plataforma, todo de forma gratuita. La consola de desarrollo es increíble. Puedes adjuntar data a un elemento DOM, inspeccionarlo y ver en tiempo real qué está sucediendo con tu entidad de juego. Me encanta trabajar en el navegador y supongo que por eso estamos todos en esta conferencia, así que no necesito convencerte de eso. Por último, para construir más rápido, intenta reutilizar activos existentes, mecánicas de juego y código siempre que sea posible. ClosureScript facilita especialmente la reutilización de código. La naturaleza funcional y la integración con el editor me permiten copiar y pegar funciones y comportamientos y simplemente funcionan en mi nuevo código porque el código funcional puede ser en gran medida independiente del contexto. Utilicé gráficos de emoji y esta reutilización de activos eliminó una gran parte de lo que es consumidor de tiempo en las maratones de desarrollo de juegos. También utilicé fuentes en línea gratuitas y de código abierto. Reutilicé mecánicas de juego porque había construido algunos roguelikes en el pasado. Pude afinar las mecánicas principales de los roguelikes copiando mis juegos anteriores y leyendo el código fuente de otros juegos. Si intentara inventar una mecánica de juego completamente nueva desde cero, el proyecto habría llevado mucho más tiempo. Así que esa es la parte de construcción del desarrollo frugal. Reduce las características, minimiza el tamaño del equipo, utiliza la mejor tecnología para avanzar rápido y reutiliza activos, código y mecánicas de juego. La segunda parte del desarrollo frugal es la historia del despliegue. Así que te conté cómo ejecuto todo en un solo VPS. Bueno, todos sabemos que desplegar en tu propio VPS es complicado. Siempre tienes que pasar mucho tiempo configurando nginx, ordenando certificados SSL e instalando
9. Usando Piku como una solución rentable
Short description:
Si tu proyecto tiene éxito, usar una plataforma como servicio como Netlify puede volverse costoso. Por eso recomiendo usar Piku, una plataforma como servicio de código abierto que puedes ejecutar en tu propio servidor. Es rápido, ligero y fácil de usar. Soy un colaborador principal de Piku y también ofrezco un servicio para aprovisionar y mantener cajas VPS de Piku.
dependencias. Y a veces tienes que hacer esto cada vez que haces un cambio. Claro, podrías usar Netlify u otra plataforma como servicio y eso es una gran solución si quieres avanzar rápido, pero ¿qué pasa si tu proyecto explota como Rogal y algunos de mis otros proyectos tienes que lidiar con grandes facturas de AWS o Firebase o Netlify y el alojamiento comienza a ser muy caro, especialmente cuando hablamos de ejecutar alrededor de 30 aplicaciones prototipo.
Tuve la suerte de encontrar Piku hace unos años. Piku fue creado por un tipo llamado Rui Kamo. Es una plataforma como servicio de código abierto que se ejecuta en tu propio VPS. Es como un Heroku de bolsillo donde tienes acceso root. Es rápido, ligero y el código fuente es muy simple. Despliego todas mis aplicaciones con él. Instalar Piku es tan simple como ejecutar un comando como root y luego se encarga de configurar los entornos, instalar dependencias, aprovisionar certificados SSL y hacer proxy con nginx hacia tu aplicación. Agregar una nueva aplicación es tan simple como agregar un control remoto de git y todo el despliegue etc. se realiza con un simple comando git push para desplegar, al igual que en Netlify o Heroku. Ahora soy un colaborador principal de Piku, así que si necesitas ayuda con él, contáctame. También ofrezco un servicio de aprovisionamiento y mantenimiento de cajas VPS de Piku, así que si tú o tu equipo están buscando una plataforma como servicio privada completamente administrada donde obtienes tu propio VPS dedicado puedes ponerte en contacto en pikuvps.com. He desplegado esto para un par de clientes y
10. Deployment, Maintenance, and Low-Cost Strategies
Short description:
Una forma de facilitar el despliegue es ejecutar SQLite en producción, lo cual no requiere configuración y elimina la necesidad de un servidor de base de datos separado. El mantenimiento puede mantenerse a bajo costo dejando lo que funciona funcionando y enfocándose en solucionar errores y agregar nuevas características a tu propio ritmo. Hacer que la aplicación sea pesada en el front-end y realizar cálculos del lado del cliente también puede reducir los costos de mantenimiento. En resumen, es importante informar a las personas sobre tu proyecto y priorizar el desarrollo rápido y la retroalimentación de los usuarios.
les gusta mucho. Otra cosa que puedes hacer para facilitar el despliegue es ejecutar SQLite en producción. No requiere ninguna configuración y no tienes que mantener un servidor de database separado en ejecución para examinar la database en vivo, simplemente puedes copiarla localmente. Sí, es muy sencillo de trabajar. Utilizo un paquete llamado KEYV, K-E-Y-V, de npm que lo configura como una base de datos no SQL, por lo que obtienes una tabla de clave-valor. Funciona como almacenamiento local en el navegador, pero en el lado del servidor es muy bueno.
La tercera parte del desarrollo frugal es el mantenimiento. Por supuesto, tu juego tendrá errores. Si obtiene tracción, por supuesto que la gente pedirá características. Mi solución es bastante simple: no hables con nadie y no arregles nada. Mi rastreador de problemas está lleno de maleza rodante. Quiero decir, solo estoy bromeando, pero he hecho y he hecho un poco de mantenimiento en frugal para mantener el sitio saludable, pero en realidad hay bastantes errores antiguos en él y la gente todavía juega todos los días. Así que creo que puedes llegar lejos dejando lo que funciona funcionando. Planeo hacer un empuje de desarrollo pronto para volver y solucionar algunas de estas cosas y agregar algunas características nuevas, pero puedo hacerlo cuando esté listo. Debido a que lo construyo y lo ejecuto de manera económica, puedo hacer esto en mi propio tiempo y programación sin ninguna urgencia. Básicamente, tengo tiempo indefinido.
La otra forma de mantener el mantenimiento económico es hacer que tu aplicación sea pesada en el front-end. Tal vez esté predicando a los convertidos aquí. Generalmente trato de construir cosas completamente estáticas para que no se requiera un servidor. Si necesito un lado del servidor para cuentas de usuario o almacenamiento, trato de hacerlo un almacenamiento autenticado tonto sin mucha lógica backend. Así que mantén todo en el front-end. Todos los cálculos deben realizarse del lado del cliente, porque el cálculo más barato de todos es el cálculo del propio usuario. Si el cálculo se realiza en el navegador, no tienes que pagarlo. Estas son las tres formas en que mantengo los costos bajos. Desarrollo de bajo costo al minimizar características y usar ClojureScript para desarrollar rápidamente. Despliegue de bajo costo mediante el uso de Piku y SQLite en producción. Mantenimiento de bajo costo al hacer que el front-end sea pesado y solo cambiar las cosas a su propio ritmo. Así que quiero terminar hablando de lo que viene para Rogl en el futuro. He estado pensando mucho en nuevas características e ítems, monstruos y posiblemente incluso mundos completamente nuevos. Tengo varios escenarios en mente para nuevos mundos y nuevos niveles para agregar al juego. En su increíble curso en línea gratuito, Masahiro Sakurai dice que nuestro único trabajo es entretener a los jugadores. Así que me pregunto cuál es el siguiente movimiento para Rogl que entretendrá más a los jugadores. También he estado pensando en formas de convertir Rogl en un proyecto financieramente sostenible. Algo en lo que pueda justificar pasar más tiempo, lo que básicamente significa ganar dinero con ello. Soy muy cauteloso de no arruinar lo bueno de Rogl, así que estoy abordando esta fase de manera muy cuidadosa y deliberada. Si puedo encontrar una forma de entretener más a los jugadores de Rogl y tal vez tener algunas mejoras opcionales para las personas que las deseen, quizás eso me dé más tiempo para dedicar al proyecto y mejorarlo para todos. Eso sería un beneficio mutuo para los jugadores y para mí mismo. Así que para resumir los dos puntos principales de mi charla. El número uno es asegurarse de contarle a la gente sobre lo que estás construyendo y el número dos es dedicar tiempo a descubrir herramientas y técnicas para moverte rápido y poner tus ideas frente a los usuarios lo antes posible para obtener retroalimentación. Eso es todo. Muchas gracias por tenerme aquí.
PlayCanvas is an open-source game engine used by game developers worldwide. Optimization is crucial for HTML5 games, focusing on load times and frame rate. Texture and mesh optimization can significantly reduce download sizes. GLTF and GLB formats offer smaller file sizes and faster parsing times. Compressing game resources and using efficient file formats can improve load times. Framerate optimization and resolution scaling are important for better performance. Managing draw calls and using batching techniques can optimize performance. Browser DevTools, such as Chrome and Firefox, are useful for debugging and profiling. Detecting device performance and optimizing based on specific devices can improve game performance. Apple is making progress with WebGPU implementation. HTML5 games can be shipped to the App Store using Cordova.
Remix Flat Routes is a new convention that aims to make it easier to see and organize the routes in your app. It allows for the co-location of support files with routes, decreases refactor and redesign friction, and helps apps migrate to Remix. Flat Folders convention supports co-location and allows importing assets as relative imports. To migrate existing apps to Flat Routes, use the Remix Flat Routes package's migration tool.
This Talk explores the use of Babylon.js and WebXR to create immersive VR and AR experiences on the web. It showcases various demos, including transforming a 2D game into a 3D and VR experience, VR music composition, AR demos, and exploring a virtual museum. The speaker emphasizes the potential of web development in the metaverse and mentions the use of WebXR in Microsoft products. The limitations of WebXR on Safari iOS are discussed, along with the simplicity and features of Babylon.js. Contact information is provided for further inquiries.
Little.js is a super lightweight and fast JavaScript game engine that has everything included to start making games right away. It has a tiny footprint and no dependencies, making it perfect for size-coding competitions like JS13K. Little.js is built with an object-oriented structure and comes with several classes. It provides a fast rendering system, a comprehensive audio system, and various starter projects for different game types. Little.js is designed to be simple and easy to understand, allowing you to look at and modify the code.
The Talk discusses ways to boost the performance of WebGL Unity games, including issues with bundle size, memory usage, and runtime performance. It suggests using Brotli for compression and non-exception support for better performance. Choosing the appropriate texture compression format and experimenting with separate builds can also help. The Talk also covers optimizing textures, models, audio, and assets by reducing build size, using compression, disabling unnecessary models, and optimizing audio quality. Unity's optimization tools and profilers are recommended for analyzing performance and memory issues.
The Talk showcases the development of a video game called Athena Crisis using web technologies like JavaScript, React, and CSS. The game is built from scratch and includes features like multiple game states, AI opponents, and map editing. It demonstrates the benefits of using CSS for game development, such as instant load times and smooth transitions. The Talk also discusses optimizing performance, supporting dark mode, and publishing the game to other platforms.
En esta masterclass, construiremos un juego utilizando el motor WebGL de PlayCanvas desde el principio hasta el final. Desde el desarrollo hasta la publicación, cubriremos las características más cruciales como la escritura de scripts, la creación de UI y mucho más. Tabla de contenido:- Introducción- Introducción a PlayCanvas- Lo que vamos a construir- Agregando un modelo de personaje y animación- Haciendo que el personaje se mueva con scripts- 'Falsa' carrera- Agregando obstáculos- Detectando colisiones- Agregando un contador de puntuación- Fin del juego y reinicio- ¡Resumen!- Preguntas Nivel de la masterclassSe recomienda familiaridad con los motores de juegos y los aspectos del desarrollo de juegos, pero no es obligatorio.
Sumérgete en el mundo de la IA con nuestro masterclass interactivo diseñado específicamente para desarrolladores web. "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" ofrece una oportunidad única para cerrar la brecha entre la IA y el desarrollo web. A pesar de la prominencia de Python en el desarrollo de IA, el vasto potencial de JavaScript sigue siendo en gran medida inexplorado. Este masterclass tiene como objetivo cambiar eso.A lo largo de esta sesión práctica, los participantes aprenderán cómo aprovechar LangChain, una herramienta diseñada para hacer que los modelos de lenguaje grandes sean más accesibles y útiles, para construir agentes de IA dinámicos directamente dentro de entornos JavaScript. Este enfoque abre nuevas posibilidades para mejorar las aplicaciones web con funciones inteligentes, desde el soporte al cliente automatizado hasta la generación de contenido y más.Comenzaremos con los conceptos básicos de LangChain y los modelos de IA, asegurando una base sólida incluso para aquellos nuevos en IA. A partir de ahí, nos sumergiremos en ejercicios prácticos que demuestran cómo integrar estas tecnologías en proyectos reales de JavaScript. Los participantes trabajarán en ejemplos, enfrentando y superando los desafíos de hacer que la IA funcione sin problemas en la web.Este masterclass es más que una experiencia de aprendizaje; es una oportunidad de estar a la vanguardia de un campo emergente. Al final, los asistentes no solo habrán adquirido habilidades valiosas, sino que también habrán creado funciones mejoradas con IA que podrán llevar a sus proyectos o lugares de trabajo.Ya seas un desarrollador web experimentado curioso acerca de la IA o estés buscando expandir tus habilidades en áreas nuevas y emocionantes, "Masterclass: Integrando LangChain con JavaScript para Desarrolladores Web" es tu puerta de entrada al futuro del desarrollo web. Únete a nosotros para desbloquear el potencial de la IA en tus proyectos web, haciéndolos más inteligentes, interactivos y atractivos para los usuarios.
En esta masterclass, construiremos un juego completo utilizando el motor PlayCanvas mientras aprendemos las mejores prácticas para la gestión de proyectos. Desde el desarrollo hasta la publicación, cubriremos las características más cruciales como la gestión de activos, scripting, audio, depuración, y mucho más.
Esta masterclass tiene como objetivo brindarte un módulo introductorio sobre los aspectos generales del código abierto. Sigue a Claudio Wunder de la Fundación OpenJS para que te guíe sobre cómo funciona el modelo de gobierno de Node.js, cómo se toman decisiones de alto nivel y cómo hacer tu primera contribución. Al final de la masterclass, tendrás una comprensión general de todos los tipos de trabajo que hace el proyecto Node.js (desde la clasificación de errores hasta decidir los próximos 10 años de Node.js) y cómo puedes formar parte del panorama más amplio del ecosistema JavaScript.
Las siguientes tecnologías y habilidades suaves podrían ser necesarias: - Comprensión básica de Git e interfaz de GitHub - Conocimiento de inglés profesional/intermedio para la comunicación y para permitirte contribuir a la organización Node.js (ya que todas las contribuciones requieren comunicación dentro de los problemas y solicitudes de GitHub) - La masterclass requiere que tengas una computadora (de lo contrario, se vuelve difícil colaborar, pero las tabletas también están bien) con una configuración de IDE, y recomendamos VS Code y recomendamos la extensión GitHub Pull Requests & Issues para colaborar con problemas y solicitudes directamente desde el IDE.
Se cubrirán los siguientes temas durante la masterclass: - Un repaso de algunas características de la interfaz de GitHub, como los proyectos de GitHub y los problemas de GitHub - Repasaremos los conceptos básicos del código abierto y seguiremos la Guía de código abierto - Repasaremos Markdown - Cubriremos el gobierno del código abierto y cómo funciona el proyecto Node.js y hablaremos sobre la Fundación OpenJS - Incluyendo todas las formas en que uno puede contribuir al proyecto Node.js y cómo se pueden valorar sus contribuciones - Durante esta masterclass, cubriremos problemas de nodejs/nodejs.dev, ya que la mayoría de ellos son de nivel básico y no requieren conocimientos profundos de C++ o de Node.js. - Dicho esto, aún recomendamos a los asistentes entusiastas que deseen desafiarse a sí mismos a los "Good First Issues" de nodejs/node (repositorio principal) si lo desean. - Permitiremos a cada asistente elegir un problema o trabajar junto con otros asistentes para abordar problemas juntos mediante la función de Pair Programming a través de la característica de VS Code Live Share - También podemos hacer salas de descanso en Zoom para las personas que deseen colaborar juntas - Claudio estará allí para brindar apoyo a todos los asistentes y, por supuesto, responder cualquier pregunta sobre problemas y desafíos técnicos que puedan enfrentar - Las tecnologías utilizadas en nodejs/nodejs.dev son React/JSX, Markdown, MDX y Gatsby. (No se necesita ningún conocimiento de Gatsby, ya que la mayoría de los problemas son agnósticos a la plataforma) - Al final de la masterclass, recopilaremos todos los colaboradores que hayan abierto con éxito una solicitud de extracción (incluso si es un borrador) y reconoceremos su participación en las redes sociales.
En este masterclass, te presentaremos los conceptos básicos de la construcción de experiencias de Realidad Mixta con WebXR y Babylon.js. Aprenderás lo siguiente:- Cómo agregar objetos de malla 3D y botones a una escena- Cómo utilizar texturas procedurales- Cómo agregar acciones a objetos- Cómo aprovechar la experiencia predeterminada de Realidad Cruzada (XR)- Cómo agregar física a una escena Para el primer proyecto en este masterclass, crearás una experiencia interactiva de Realidad Mixta que mostrará estadísticas de jugadores de baloncesto a fanáticos y entrenadores. Para el segundo proyecto en este masterclass, crearás una aplicación WebXR activada por voz utilizando Babylon.js y Azure Speech-to-Text. Luego, desplegarás la aplicación web utilizando el alojamiento de sitios web estáticos proporcionado por Azure Blob Storage.
Sumérgete en el cautivador mundo del desarrollo de microjuegos con Frank Force en este interactivo masterclass de codificación en vivo. Diseñado tanto para desarrolladores experimentados como para curiosos principiantes, esta sesión explora los desafíos únicos y las alegrías de crear juegos y demos con restricciones extremas de tamaño.
Comments