por Javi Agenjo
javi.agenjo@gmail.com
En la asignatura que imparto sobre Desarrollo de Juegos explico:
Trabajos presentados por los alumnos.
Ahora la gente empieza directamente usando un motor existente:
No se puede entender una solución si primero no se entiende el problema.
Si dependes de una pieza que no comprendes, no tienes el control.
Si tus competidores tienen una libertad de la que tu careces, estas jugando en desventaja.
Aquella herramienta pensada para solucionar todos los problemas, no soluciona ninguno.
Para qué plataforma, qué sistema de distribución, ...
Es muy facil empezar, solo necesitas un editor de texto y un navegador, y eso ya incluye el debugger y el profiler.
No hace falta instalar nada, da igual en qué sistema operativo trabajes.
Tu juego funcionará en TODAS las plataformas actuales, ya sea escritorio, moviles, tablets o consolas(*) y tambien en las que estan por venir. Los estandares web avanzan lento pero precisamente porque tienen que asegurarse de que duren muchos y muchos años.
La plataforma web no es una moda pasajera como lo fué Flash en su momento (o Unity ahora).
Hay tanta ayuda… la web está plagada de tutoriales, cursos online, foros de preguntas sobre el desarrollo web.
Basta mirar esta gráfica.
El API estandar tiene de todo, viene con funciones para reproducir audio (incluso generarlo), video, pintar en 2D (canvas) o acceder a la GPU (WebGL), para acceder a la red (TCP o UDP), soporte para Oculus Rift, Gamepads, Fullscreen, ... sin olvidar que viene con la libreria de interfaces más completa que existe (HTML+CSS)
La cantidad de código público existente en Javascript es monstruosa, mirad la tabla de github: JS tiene un 60% más que el segundo! Si piensas en una libreria para Javascript, seguramente ya exista.
"Any application that can be written in JavaScript, will eventually be written in JavaScript. - Jeff Atwood (2007)
Javascript es un lenguaje que te da muchisimas libertades para programar, gracias a su alto nivel de introspeccion, y dentro de poco sale la nueva version ES6 que añadirá muchisimas mejoras, lo que lo convertirá en un lenguaje de referencia. Y si no te gusta JS puedes usar CoffeScript, TypeScript o Dart.
Puedes programar tanto en cliente como en servidor, con el mismo lenguaje gracias a node.js (o io.js). Algo muy cómodo cuando haces juegos online.
No hay plataforma más testeada que la web.
Y siempre lo será. Ninguna(*) empresa lo controla.
(*) Microsoft, Google, Mozilla, Facebook, Apple...
Aun hay algunos problemas que tienen que ir solucionandose:
Algunas librerias utiles
javi.agenjo@gmail.com