- Es una biblioteca ligera de JavaScript diseñada para que incluso usuarios con poca experiencia en programación puedan crear videojuegos fácilmente
- Es ideal para desarrollar juegos narrativos, es decir, juegos centrados en la narración
- Ofrece una experiencia de creación de juegos sin programación compleja gracias a una estructura de código intuitiva y una API sencilla
- Como todo (sprites, diálogos, sonido, interacciones) se crea con código, es posible guardar el juego completo en un solo archivo
Características y ventajas principales
- Incluso desarrolladores principiantes o personas no técnicas pueden crear juegos narrativos con código JavaScript simple
- A diferencia de los frameworks grandes, ofrece un tamaño muy reducido y facilidad de uso
- Destaca en historia e interacción, como juegos basados en elecciones, contenido interactivo y experiencias de desarrollo visual
Para quién es útil
- Puede ser útil para principiantes en desarrollo de juegos o para quienes buscan crear prototipos rápidamente: startups, profesionales de TI, desarrolladores y creadores
- Es una herramienta más adecuada para experimentar ideas, contenido interactivo y desarrollo narrativo que para gráficos complejos o juegos de gran escala
El desarrollo del juego comienza con createGame()
createGame({
player: {
sprite: 7,
position: [2, 5]
},
map: `
########
#......#
#..X...#
#......#
########
`,
templates: {
X: {
sprite: 4,
dialog: 'Hello, adventurer!'
}
}
})
1 comentarios
Opiniones en Hacker News
Me da curiosidad por qué el título dice ‘...for narrative games’
En la página oficial de la librería no se menciona ‘narrative’ para los juegos
Hay confusión sobre qué significa ‘narrative game’
Los juegos de ejemplo no encajan con mi definición de ‘narrative game’
No veo mucha relación entre lo que aparece en Google al buscar ‘narrative game’ y los juegos de ejemplo
Si existe una definición ampliamente aceptada de ‘narrative game’, me pregunto qué funciones ofrece esta librería específicamente para crearlos en comparación con otros motores de juego
Anoche se me ocurrió una idea para un juego de aventura basado en texto
La idea sería cumplir misiones cotidianas de adulto, como pagar impuestos, ir a trabajar y limpiar la casa
Si haces menos de esas cosas, la vida se vuelve más difícil; si haces más, se vuelve más fácil
El objetivo final es morir sin deudas
Creo que la idea de esta herramienta es permitir crear juegos de aventura simples de forma declarativa usando texto y diálogo
No está pensada para centrarse en mecánicas como un motor de juego general tipo Pico-8
Es fácil crear mapas, moverse entre mapas, agregar NPC, diálogos y activadores de texto
Los motores orientados a no programadores (como RPGMaker) son parecidos: la mayoría de los usuarios hace juegos centrados en mapas y activadores, con texto y diálogo, sin mecánicas complejas aparte
Creo que esta herramienta destaca precisamente por facilitar este tipo de juegos ‘narrativos’
En la documentación oficial de introducción:
‘Odyc.js es una biblioteca de JavaScript pequeña y ligera diseñada para crear juegos narrativos combinando píxeles, sonido, texto y un poco de lógica’
Yo habría asumido naturalmente que era un motor para aventuras de texto
Solo en la versión francesa del sitio hay dos ejemplos más etiquetados como ‘narrative’
Usé ese término porque, por su estructura por turnos y su enfoque en mensajes, prompts y diálogos, me pareció adecuado para juegos ‘narrativos’ o basados en texto
Pero si alguien tiene una mejor idea para la etiqueta, con gusto la cambio
The Magic Mushroom está buenísimo
Enlace
Hasta ahora, este es el que más me gusta
Enlace
El juego de John Wick se siente como un resumen de las películas recientes
Enlace
Me gusta mucho esta forma de estructurarlo
He hecho varios motores de juego en JavaScript y probado distintos experimentos, y esto ocupa un punto perfecto entre ‘necesito terminar algo rápido para niños en menos de 2 horas’ y ‘quiero entender bien la estructura a fondo’
Espero hacer algunos juegos rápidos con esto para mantener entretenidos a niños en entornos de bajo ancho de banda
Se siente como una herramienta muy simpática
En concreto, creo que sería buena para enseñar a niños (algo así como el pygame de esta época)
Scratch y similares están diseñados para niños de 5 años, así que el contenido de programación termina siendo demasiado básico
Esta herramienta se ve perfecta para estudiantes de alrededor de 10 años
Pueden aprender manipulación simple de cadenas, algunos trucos de sintaxis e implementar un side scroller básico con NPC
Luego, cuando estén listos, también puede servir para aprender flujo de control
Si alguien aprende esto y considera abrir clases para niños o invertir en un espacio tipo playground, incluso podría venderse de forma realista
Desde otro ángulo, también valdría la pena experimentar con generación procedural básica de assets de juego usando esta herramienta
Comparten este ejemplo de código: game.prompt(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”, “Yes”, “No”);
Ejemplo usando este código: await game.openDialog(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”)
game.prompt( “Yes”, “No”)
¿No era un solo huevo? ¿Cómo se convirtió en cuarenta? Esa es la duda
Lo califican como un proyecto realmente inspirador
Confirman que es open source, pero señalan que falta la licencia, así que no queda claro hasta qué punto otros desarrolladores pueden hacer fork, modificarlo y redistribuirlo
Quieren publicar también un fork traducido a su idioma nativo (dejando el crédito, por supuesto) y preguntan si eso estaría bien
En su país, menos del 5% de la población habla inglés
Preguntan cuál es su idioma nativo
Explican que aplicar traducciones en idiomas de izquierda a derecha es sencillo
Será bienvenido cualquier fork, PR o acercamiento para ayudar a mejorar la accesibilidad
Esto está increíble
Era exactamente lo que necesitaba hace apenas 12 horas
Por coincidencia, anoche me quedé dormido mientras hacía por primera vez assets para un juego narrativo romántico de 3 niveles para una sola persona
Nunca antes había desarrollado un juego
Y en la mañana vi en HN que una librería JS para juegos narrativos había llegado al puesto #1
FTR, mi juego es un juego de simp, y lo estoy usando para pedirle formalmente ser pareja a alguien con quien he estado saliendo
Me parece una idea genial
Tuve una experiencia parecida: hace poco recreé por completo en HTML la interfaz del chat de MSN de 2005 para darle a alguien una dosis de nostalgia
Fue una experiencia realmente cálida
Buena idea
Ojalá pudiera ayudarte más
De verdad creo que esta herramienta encaja perfecto con ese caso de uso
Espero que te salga muy bien
Que te guste alguien y quieras pasar tiempo con esa persona, o mostrar interés, no es algo que deba llamarse ‘simp’
Me parece una propuesta muy cálida y considerada
Me da la impresión de que es parecido a puzzlescript
Se ve como una herramienta realmente genial
No tiene que ver con esta librería, pero me interesa cómo funciona el canvas video recorder aplicado en el playground
Me gustaría implementarlo yo mismo
Aquí está el código relacionado
Revisé canvas video recorder en un proyecto reciente y me sorprende que esta función venga integrada
Referencia al tutorial de medium.com