Mi experiencia haciendo un videojuego de 13kilobytes en JavaScript
@agar3s
MOTIVACIONES
Motor de juegos
Framework
Libs
Si, pero pocas...
CONSIDERACIONES
Es una oportunidad de explorar otros paradigmas y experimentar otras técnicas de programación
SPRITES
XOR
INTELIGENCIA ARTIFICIAL
NIVELES
RESULTADO
No porque algo este muy bien hecho técnicamente significa que genere valor al usuario…
GAME DESIGN
¿Qué puedo aprender de los demás?
SEGUNDO INTENTO
Domina las herramientas que usas, para poder explotarlas al maximo.
MASTER YOUR SKILLS
PLANEACIÓN
PARADIGMA
Arreglos como estructuras de datos
PARADIGMA
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Las funciones que modifican los valores de estos arreglos también son globales
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Las funciones que modifican los valores de estos arreglos también son globales
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Las funciones que modifican los valores de estos arreglos también son globales
No se usan módulos
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Las funciones que modifican los valores de estos arreglos también son globales
No se usan módulos
No se usan objetos
Arreglos como estructuras de datos
PARADIGMA
Cada estructura de datos es representada como un arreglo
Cada estructura de datos es global
Las funciones que modifican los valores de estos arreglos también son globales
No se usan módulos
No se usan objetos
No se usan clases
WEBGL POSTPROCESADO
getContext('2d')
getContext('webgl')
GRÁFICOS VECTORIALES
SPATIALHASHING
SPATIALHASHING
FUENTE PERSONALIZADA
Cada segmento tiene asociado una potencia de 2 expresado como un binario
14 on
3 on
6 on
2^1 + 2^2 + 2^3
2^1 + 2^2 + 2^3 +
2^4 + 2^8 + 2^12
2^0 + 2^1 ... + 2^13
FUENTE PERSONALIZADA
MÚSICA & FX
jsfxr
MÚSICA & FX
MÚSICA & FX
TinyMusic
COMPORTAMIENTOS
COMPORTAMIENTOS
Despliegue continuo sobre gh-pages
RETROALIMENTACIÓN
Despliegue continuo sobre gh-pages
RETROALIMENTACIÓN
Entre más pronto mejor
Despliegue continuo sobre gh-pages
RETROALIMENTACIÓN
Entre más pronto mejor
Tomar nota de cada comentario
Despliegue continuo sobre gh-pages
RETROALIMENTACIÓN
Entre más pronto mejor
Tomar nota de cada comentario
Entender la razón de cada comentario
Despliegue continuo sobre gh-pages
RETROALIMENTACIÓN
Entre más pronto mejor
Tomar nota de cada comentario
Entender la razón de cada comentario
Establecer prioridades para cada recomendación
RETROALIMENTACIÓN
...
RETROALIMENTACIÓN
LO MEJOR POSIBLE
RESULTADO
RESULTADOS
RESULTADOS
RESULTADOS
RESULTADOS
RESULTADOS
@agar3s
http://js13kgames.com/entries/evil-glitch
Mi experiencia haciendo un juego en 13k
By Giovanny Beltran
Mi experiencia haciendo un juego en 13k
charla que presente en jsconf.co 2016 acerca de mi participación en el game jam js13k
- 942