Sobre distribución
Ya he sobrepasado la mitad del reto de programar un juego al mes (durante el 2014
), con 7
juegos. Si añadimos los que había hecho antes del empezar el reto, tengo una buena muestra para analizar.
He trabajado con diferentes lenguajes de programación y diferentes frameworks o librerías, y he probado distintos modelos de distribución, así que voy a comentar aquí algunas conclusiones.
Lenguaje | Framework | Linux | Windows | Mac | Otros |
C | SDL 1 | Fuente | Binario | Fuente | SDL es muy portable |
Python | PyGame | Fuente/Paquete | Binario1 | Fuente | n/d |
Python | pyglet | Fuente/Paquete | Binario1 | Fuente/Paquete2 | n/d |
Javascript | Canvas 2D + SoundJS | Navegador | Navegador | Navegador | Necesita aceleración hardware |
C++ | SFML | Paquete | Binario3 | n/d4 | Soporte para Android en desarrollo |
Notas:
py2exe
requiere una máquina con Windows para empaquetar.- Empaquetado como un
egg
, distribución binaria deAVBin
y usa la versión depython 2
instalada en el sistema. - Cross-compiling en
Linux
, probado conWine
. No hace falta una máquinaWindows
. - Por ahora un
Mac
es necesario.
Esta tabla antiende únicamente a la distribución, y en ese aspecto Javascript
es la mejor opción, aunque no es cualquer navegador porque la aceleración hardware no está disponible en todas partes. No tiene en cuenta lo fácil o difícil que es el desarrollo o mis preferencias como programador (importante para mi: encuentro más satisfactorio programar en python
que en javascript
:P).
Además está la estabilidad de la plataforma. Por ejemplo, el resultado con Javascript
es bastante variable (depende de la versión del navegador y de si tenemos aceleración en canvas
), y en general es más difícil conseguir buen rendimiento. pyglet
utiliza OpenGL
y aceleración por hardware, y es más autocontenido que PyGame
, pero este último es más estable y en general está mejor soportado (gracias a que usa SDL
).
Distribuir el código puede ser la mejor opción si el juego acaba incluído en una distribución, pero entre ciclos de desarrollo y procedimientos pueden pasar muchos meses antes de que se obtengan resultados (y es posible que el juego nunca llegue a ninguna distribución).
En el caso de SDL
con Dodgin Diamond 2 se puede comprobar que publicar el código fuente permite que el juego sea portado a plataformas que de otra manera sería imposible soportar. En general los ports respetan la licencia, aunque en este caso no lo considero demasiado importante.
Por ahora estoy centrándome en resultados inmediatos, sobretodo cuando se trata de una game jam, que se traduce en: el juego debe funcionar en Windows
, luego Linux
(porque puedo y porque me resulta fácil, no por el número de usuarios), y si es posible y con muy baja prioridad... Mac
.
Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.