Aunque la experiencia con el C nos sale por las orejas, el programar a pelo y aprender SDL para ir haciendo unos pinitos en la programación de juegos autodidacta a la que aspiramos me parece en principio exagerado. Aunque no descartable, que las librerías SDL con un buen manual es también la opción a considerar, pero más adelante. De momento voy a dejar aquí una serie de herramientas de desarrollo sencillas y apetecibles, que voy a tantear en la próxima temporada.
FENIX
El lenguaje Fénix es el heredero del DIV, ese experimento que se comercializaba en los quioscos hace unos años. Está bajo licencia GNU, hay una comunidad amplia en cristiano y es un lenguaje bastante sencillo.
XNA
El XNA es una herramienta recién salido del horno de casa del tio Bill que pretende ser un “youtube” de videojuegos. Se podrá pagar un módico precio por una licencia para poder publicar los juegos y recibir soporte técnico. Los juegos funcionarán tanto en PC como en XBOX360. Si no me equivoco creo que es en lenguaje C#. Es una opción muy jugosa, pero a ver la letra pequeña que ya saben como apestan estos muchachos.
BLITZ MAX
Blitz Max es una herramienta muy sencilla para programar juegos también del estilo del mítico DIV. Es comercial, aunque hay una demo descargable que dura 1 mes. Puede que merezca la pena apoquinar, el Grid Wars 2 está hecho con este lenguaje, con lo cual, parece muy potente. Tiene dos versones, una para 3D y otra para 2D, ésta disponible también para Linux.
ADVENTURE GAME STUDIO
Esta herramienta es exclusivamente para hacer aventuras gráficas. Usa scripts y parece bastante sencilla y potente para su cometido. Es gratuita, usa resoluciones bajas (hail to the pixel) y tiene una pinta preciosa.
DarkBASIC
Más herramientas exclusivas para hacer juegos, también de pago. De los sucesores del DIV, parece la más avanzada, la que más comunidad y soporte tiene, y es la más comercial, con muchos programas y utilidades de apoyo. También de pago, por supuesto.
PYGAME
Pygame es una serie de modulos bajo licencia GNU que encapsulan bastantes funciones de la librería SDL para utilizar con el lenguaje orientado a objetos Python. También es una opción apetitosa, he oido maravillas de este lenguaje, que al parecer es fácil y potente de narices.
Si teneis más sugerencias, ponedlas en los comentarios, que este post irá seguramente a la cabecera como una página permanente. Gracias, muchachos.






Muy a mi pesar (porque no es libre y esas cosas que tenemos los linuxero
) meteria como herramienta tambien muy decente para hacer pinitos y es el Flash.
Y bueno un poco mas complejo es las libSDL porque requiere saber algo de programacion.
Y bueno mas sencillo es la combinacion de Python SDL.
Y hay otro por ahi que es de pago que permite crear juegos para m$windows, Linux, moviles y GP2X, es el Edge, no lo probado pero tiene buena pinta.
También cabría mencionar el Dark Basic, que aunque es de pago tiene buena pinta. Tengo que meterle mano porque me lo he descargado hace poco. Puedo decir que dispone de 2 versiones la básica y la Pro; al parecer ser la versión básica no es compatible con la Pro. Para más info:
http://darkbasic.thegamecreators.com/
Asi a botepronto el XNA necesita de 100 eurazos al año, es una licencia renovable.
Yo aprendí a programar con DIV2, así que recomiendo Fénix a todos los que quieran aprender
.
De todos modos creo que si ahora me diera por hacer un juego lo haría en C, aunque me costara sangre, sudor y lágrimas.
Mon: No estoy seguro de que la licencia sea obligatoria. Creo que va a poderse bajar gratuitamente, y con la licencia lo que obtienes es soporte técnico y la posibilidad de publicarlo de algún modo para que sea descargable en la 360.
ÑBrevu: Ya, si el C es la opción mas potente, y de lo que más sabemos (yo mis compañeros que aún no se han estrenado escribiendo aquí) pero hay que aprender a usar las librerías SDL, que no es moco de pavo. A mí realmente lo que me apetece más es diseñar, y dibujar sprites, que de programar y debuggear ya acabo bastante quemado con la carrera, por eso voy a usar algo de esto para empezar, que cuando antes vea algo moverse, mejor. De momento para hacer juegos 2D cualquier opción es buena.
El resto: Gracias por vuestros enlaces, actualizaré el post y/o haré una página con estas cosas para ponerla ahí arriba cuando tenga un poco más de tiempo.
La beta de XNA ya está disponible desde hace una semana. Ya que hoy he terminado mis examenes, seguramente me ponga a ello en cuanto pueda.
Y como alternativas de programación, yo veo J2ME. Ademas, un profesor me insiste bastante en Macromedia Director como forma de plasmar ideas rapidamente.
El Director lo manejo bastante, tuve unas practicas que lo usabamos. Es bastante potente para hacer una aventura gráfica o algo así que se baste con scripts, pero para hacer otra clase de cosas como un shooter o un plataformas (que es lo que tengo en mente) lo veo más chungo.
A ver, lo del XNA no es lo que todos estamos diciendo aqui, al menos hasta donde yo se. XNA es la proxima plataforma de desarrollo de juegos de Microsoft, que reunira de un modo un poco mas heavy las funcionalidades de DirectLoquesea…
Si no me equivoco de lo que estais hablando todos ahora es del XNA Game Studio Express que es un minipaquete de desarrollo amateur que, obviamente, poco tendra que ver con las librerias completas.
http://msdn.microsoft.com/directx/xna/faq/
We will be releasing XNA Game Studio Professional next spring which will support the creation of commercial games on the Xbox 360 using an Xbox 360 developer kit. Titles created with XNA Game Studio Professional by developers with approved titles will be able to be submitted for certification, unlike games made using XNA Game Studio Express.
[...]
XNA Game Studio Express is intended for the hobbyist/small development group and therefore designed to help create non-commercial games. XNA Game Studio Pro will include additional functionality such as libraries supporting Xbox Live (Achievements, Leaderboards, Multi-player) needed by professional game developers wishing to create commercial, signed titles. XNA Studio will implement enterprise wide solutions aimed at the production pipeline and process by which games are developed in large AAA studios
Era por puntualizar.
[Modo friki on]
Y yendo al tema, como programador profesional he de decir que cualquier cosa que no sea C y DirectX es poco mas que una perdida de tiempo de cara al futuro profesional. Cualquier otro lenguaje no es lo suficientemente potente ni es utilizable en escenarios reales de trabajo.
Otros lenguajes solo sirven para pasar el rato y para hacer otras cosas que no son juegos (y como algun freak de java que haga cosas para moviles bajo ese lenguaje me lo ponga como ejemplo, me vere obligado a decir que para moviles tambien se puede programar en C, y que Java debio quedarse siempre como lo que era, un lenguaje para maquinas empotradas como lavadoras).
Otras librerias valen para propositos concretos. Si usas SDL OpenGL esta claro que lo haces unicamente para conseguir algo multiplataforma o pq Microsoft te cae mal, pero DirectX esta a años luz. Y maquinas cerradas como PlayStation, etc, tienen sus propios entornos de desarrollo.
La lista de entornos que estais contemplando vale como Hobby, pero el desarrollo de juegos serios requiere de unos conocimientos que no tienen nada que ver con el hecho de que un lenguaje sea mas facil o mas dificil de dominar, tiene que ver con temas de ingenieria de software y con optimizacion de codigo, y para eso hace falta formacion y mucha experiencia.
Se que sueno borde aunque no es mi intencion, pero es que es un hecho que este tipo de cosas valen para lo que valen, y luego la gente se lleva ideas equivocadas de como se hace un juego de verdad, que es ligeramente mas complicado que usar el RPGMaker (otro para la lista, creo que no lo habeis mencionado). Si la intencion de esta lista es que la gente empiece en la programacion de cara a los videojuegos, ahorrariais tiempo dando una lista de enlaces a universidades donde se enseñe informatica.
Joer… releyendome parece que este soltando un discurso estilo abuelo cebolleta. Solo intentaba dar un poco de informacion por si algun neofito andaba perdido, no se si mi opinion sobre como es el mundo le habra servido a alguien, pero yo lo he intentado
Un saludo!!
A ver. Nosotros (yo y los “otros” colaboradores que no han aportado nada aún (ejem ejem)) estudiamos todos Ingeniería Informática. Esto lo he puesto para ir pasando el rato y haciendo algun juego simple -una aventura gráfica que llevamos elucubrando desde primero o segundo en los momentos de máxima ociosidad, entre todos, y un clon de Wonder Boy que tengo yo en mente-. Lo he puesto principalmente para eso, como hobby.
De todas maneras no comparto que haya una separación entre juegos “serios” y juegos no “serios”. Está claro que para trabajar en la industria el Fenix o el BlitzMax, o hechos en SDL (ni siquiera OpenGL) no valen para casi nada a la hora de profesionalizarse, pero a mí ultimamente me dan más alegrías juegos indies de estos freeware que grandes producciones. Vamos, que hay juegos hechos por amateur que le dan mil vueltas a muchas producciones comerciales. Otro tema es lo de ganarse el pan con esto, y ahí tienes toda la razón con que estas cosas no valen para mucho, pero la distinción entre juegos “serios” y “no serios” no la comparto para nada.
A mí sinceramente lo que más me apetece es ponerme a hacer sprites y escenarios en 2D pixelado de toda la vida. Vamos, dibujar. Ya acabo (acabamos) íbastante quemado(s) en la facultad programando para 5 asignaturas por cuatrimestre como para ponerme (nos) a hacer bestialidades en 3D, motores gráficos y/o físicos, y cosas que requieran documetnso de requisitos y diseño de 1000 páginas. Más adelante puede ser, pero en primer lugar, los juegos que queremos hacer son demasiado sencillos y el máximo trabajo que nos va a dar es diseñar el juego, los puzzles, el argumento y esa clase de cosas, la implementación va a ser coser y cantar y cuantas menos complicaciones mejor. Puede que un juego de plataformas estilo 16 bits hecho con Fenix sea una burrada de programa que desperdicie cantidades ingentes de memoria y procesador, pero a mí eso de momento no me preocupa. Hoy en día va a funcionar en cualquier PC. Los temas de IS, eficiencia, optimicación de código, apurar memoria, hacer código reusable y manetenible, etc.. está claro que son importantes para grandes desarrollos, pero para hacer juegos como hobby entre 1 o 2 personas, y en 2D, creo que es un poco exagerado.
De todas maneras muchas gracias por el apunte de lo del Direct-X. Me bajé hace tiempo un libro y la verdad es que siendo la librería para C/C (por lo menos en el libro así la explicaba) puede que sea otra opción a tener en cuenta, porque el C nos sale por las orejas y lo ví bastante asequible a nuestros conocimientos. Puede que, pese a todo, además de ser más útil por ir al grano, encima sea de lo que menos nos cueste. No se, cierto odio a Microsoft hay, pero tampoco irracional, si merece la pena de cara al futuro profesional y encima casi nos va a costar lo mismo usar una librería de verdad para C en vez de usar un lenguaje para amateurs, me lo miraré más a fondo.
En lo de juegos serios/no serios estoy totalmente de acuerdo contigo, creo que la palabra “serios” no representa a lo que me referia, que era una forma de intentar diferenciar juegos amateur o hechos por hobby con juegos profesionales que tengan que dar un beneficio.
Y, de hecho, al final yo tambien acabo jugando mas a cosas teoricamente “amateur” que profesionales… desde que el pc se me quedo viejo para empezar a tirar de las monstruosidades modernas no dejo de jugar a juegos pequeños, remakes y similares :S
motor3d
mas ejemplos y herramientas
para el lenguaje fenix.
http://fenixpack.blogspot.com/
me gustaria aprender a ser juegos avansados grasias espero que me respondan pronto