Buenas, os voy a contar mi corto pero intenso bagaje.
(esto también vale como recomendación a #1053)
Introducción
Allá por marzo me picó la curiosidad. Tenía experiencia en desarrollo Web (java principalmente y .NET), pero nada de python o desarrollo con juego. Me gusta jugar a los juegos pero tenía más ganas de crearlos, además ahora hay muchas librerías/Frameworks y algunos libres.
Documentación
Encontré una página cojonuda con dos libros gratis para aprender de 0 a hacer juegos, incluso aunque no sepas programación:
http://inventwithpython.com/
-Su primer libro es para hacer juegos tipo texto simples. Y para aprender python.
-Su segundo libro ya usa pygame (libería multimedia) que permite mostrar imágenes y sonidos.
Versión papel, pdf y kindle. Código fuente incluido.
¿Porqué Python mola?
Rápido principalmente por su tipado dinámico, declaración implicita. Perfecto para prototipado, aprender y proyectos pequeños. Es el 8º lenguaje de programación más usado. De los más usados por Google.
Ejemplo de sintaxis:
VB: Dim nombre as Clase = new Clase
Java: Clase nombre = new Clase();
Python: nombre = Clase
Picas mucho menos código y haces lo mismo. Olvídate de puntos y comas, llaves y demás "chusta".
Yo lo uso en el curro para aplicaciones pequeñas (web, conexión con BBDDs) y da gusto
¿Porqué pygame mola?
Comunidad grande, bastantes ejemplos en la web oficial, incluso puedes subir tus creaciones allí. Es gratis. Por sacarle algún 'pero', no te ofrece de serie menus/widget predeterminados, huds, etc. Es decir, tu te picas todito. Que quieres hacer un menu, pues currate los bordes, los colores, la letra, y la transicion de ventana a ventana. Ventaja, entiendes como funciona todo por debajo
Mis resultados
A día de hoy, casi tres meses después de mi comienzo, ya he creado 3 juegos simples. un video de mi último juego:
Para quién quiera jugar, aquí tenéis la versión para win32
https://bitbucket.org/apadentro/brainwashed_pyweek14/src/ef5a32278110/compilados
Fue para un concurso llamado pyweek, al estilo de ludum dare, pero menos estresante porque dura 7 días ;D
Otros
En teoria se puede portar un juego de pygame a android, ese es mi próximo objetivo, pero no es trivial, ojalá fuera sólo un click
Recomendaciones
-Si eres nuevo, busca algo que use mucha gente. Mayor comunidad, mayor probabilidad de encontrar info.
-Elige un lenguaje con el que estés cómodo. Yo recomiendo Python. Python... Python!!!
-Otra buena opción es HTML5 + javascript. ¿Porqué? Porque con tener un navegador web, ya no necesitas más para jugar. El usuario no tendrá que instalar librerías, ni descomprimir zips. Pega: nunca llegará a adaptarse a un móvil tan bien como una aplicación nativa APK (cualquier solución basada en Python tiene el mismo problemo). Unity pinta bien, pero nada más abrirlo asusta. Yo le veo para nivel avanzado.
-No te flipes. Para empezar 2D y si es un poco a bajo nivel mejor. Game Maker te da todo masticadito y no sabes que pasa por debajo. Es muy importante entender el gameloop (leer input de teclado, actualizar estado del juego, pintarlo, leer, actualizar, pintar, leer, actualizar, pintar,...etc etc xD)
-Repito, no empezar por 3D. OpenGL no es fácil. Recuerda, es una coordenada más. Aceleración gráfica. Rendimiento.Vistas. Buffers. En resumen, más problemas para el iniciado.
-Hackear juegos de otros. Una buena idea es modificar los juegos que hay en los libros que os he comentado antes.
Resumen
En mi caso HA FUNCIONADO, aunque hay que echarle horas chavales
Un saludo y el que quiera más info que me avise
PD: este hilo esta genial, hay información y enlaces buenísimos, gracias