Foros - Stratos

Stratos => General => Mensaje iniciado por: doctor-lynch en 21 de Agosto de 2008, 03:19:37 AM

Título: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: doctor-lynch en 21 de Agosto de 2008, 03:19:37 AM
Hola a todo el Foro y antes de nada gracias por leer este mensaje.

Durante muchos años me llevo planteando el crear algún videojuego sencillo en 2d. Lo he intentado varias veces pero siempre termino abandonando por falta de ganas, de tiempo o de no saber seguir en algún punto.

Lo intenté primeramente en Flash con ActionScript 2, intenté hacer un Arkanoid. Lo máximo que conseguí es que al golpear mi "navecita" la bola se fuera hacia arriba  :D, pero curiosamente la bola nunca regresaba  ::) ... así que me dije: "macho, la física no es lo tuyo".

Posteriormente me dió por los juegos tipo Brain Training y empecé a crear uno en Flash y ActionScript 2 y la verdad que esté lo abandoné, pero quiero terminarlo porque me hace ilusión.

El tema es que desde hace unos días me planteo el meterme un poco más en este tema, pero claro antes creo que tendría que elegir un lenguaje adecuado:
He visto Fenix, pero parece que el proyecto está un poco liado. Mucho lio con versiones, documentación vieja y no actualizada.
Luego he mirado Allegro y tampoco he encontrado demasiada información actualizada en Internet.
SDL parece interesante aunque no he terminado de mirarlo del todo.

Entonces aquí vienen mis preguntas:

1- ¿Empezaríais a estudiar JAVA o C++ para adentrarme luego en crear un juego sencillito en 2d? Veo que Java para móviles parece interesante, aunque este lenguaje nunca me ha terminado de convencer, a pesar de que se pide muchisimo para trabajar.

2- Posteriormente a esto y suponiendo que elija C++, ¿qué me aconsejais para empezar a crear un videojuego? ¿Allegro, Fenix, SDL? ¿otro?

3 - Mi última pregunta se refiere al programa Adventure Game Studio (AGS), que sirve para crear aventuras gráficas ¿Alguien lo ha utilizado y me puede comentar si merece la pena adentrarse en programas de este tipo o directamente a esto no se le podría llamar programación y es mejor hacer algo por uno mismo?

Como veis ando muy perdido en que hacer, que tocar, que estudiar, por donde empezar etc...

Muchas gracias por vuestras sugerencias y opiniones por adelantado.

Un saludo a todos.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Vicente en 21 de Agosto de 2008, 07:43:38 AM
Para hacer un juego en 2D puedes plantearte usar C# + XNA. O usar C++/VB + alguna de las librerías que han hecho algunos miembros del foro (dx_lib32, CRM32Pro, Looverlib) (que son buenas buenas).

Un saludo!

Vicente
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: LC0 en 21 de Agosto de 2008, 09:19:38 AM
Hay mucha variedad para escoger. Yo te recomendaría para aprender Pygame, pero más que centrarme en el tipo de lenguaje, lo que sí te voy a decir es que tío, si no te sale ahora lo del rebote de la pelota en el Arkanoid, ya saldrá, o si se te atasca pregunta por el foro o IRC o cualquier cosa de esas. Vamos, si cada proyecto se parara porque hay algo que no te viniera a la cabeza en su momento ahora mismo estaríamos jugando todos a la comba  ;D.

Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: JMAA en 21 de Agosto de 2008, 09:26:01 AM
Lo importante no es el mejor lenguaje del mundo, sino el que más sepas. Créeme, yo en el insti he dado C y VB6 y ahora con VB6 hago lo que puedo en el curro y en casa. Y sé de maravilla. Eso es lo que importa.

Salu2.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: doctor-lynch en 21 de Agosto de 2008, 01:33:11 PM
Antes de nada, muchas gracias por vuestras respuestas.

En general estoy totalmente de acuerdo con vosotros, así que como no tengo mucho que añadir, respondo uno por uno a los que me habeis respondido:

CitarPara hacer un juego en 2D puedes plantearte usar C# + XNA. O usar C++/VB + alguna de las librerías que han hecho algunos miembros del foro (dx_lib32, CRM32Pro, Looverlib) (que son buenas buenas).

Un saludo!
Lo de XNA me gusta, estuve mirandolo en su día. Le dediqué poco tiempo por no saber C#, aunque ahora que me lo has dicho lo tendré muy en cuenta. Me mola también ver mi creación en Xbox 360, aunque esto por ahora lo descarto porque no quiero que me fiche de momento una de la grandes  :D

De las librerías de los miembros del Foro no tenía ni idea, así que ahora buscaré  ;)

Otro saludo para tí.

CitarHay mucha variedad para escoger. Yo te recomendaría para aprender Pygame, pero más que centrarme en el tipo de lenguaje, lo que sí te voy a decir es que tío, si no te sale ahora lo del rebote de la pelota en el Arkanoid, ya saldrá, o si se te atasca pregunta por el foro o IRC o cualquier cosa de esas. Vamos, si cada proyecto se parara porque hay algo que no te viniera a la cabeza en su momento ahora mismo estaríamos jugando todos a la comba  Sonreir.
Pygame  :D No tengo ni idea de lo que es... otra cosa para mirar. Nunca he oido a hablar de esta. Por lo que veo va con Phyton, interesante.

Te doy la razón en que debería de haber preguntado lo del Arkanoid, pero la verdad el decir: "estoy programando un Arkanoid y la pelota pasa de mi...", pues me esperaría respuestas tipo: "empieza por algo mas sencillo" o "si no sabes física para que te metes en rollos de ese tipo". Ya sabes como son algunos usuarios a veces  :)

CitarLo importante no es el mejor lenguaje del mundo, sino el que más sepas. Créeme, yo en el insti he dado C y VB6 y ahora con VB6 hago lo que puedo en el curro y en casa. Y sé de maravilla. Eso es lo que importa.

Salu2.
Pues sí, también tienes toda la razón. VB6 me encanta pero hay gente que opina que VB6 no es un verdadero lenguaje de programación. Yo no opino lo mismo, pero ya se sabe que aquí si no programas en alto nivel en C++ o cualquiera de los lenguajes de bajo nivel, es que no sirves para programar.

Tu comentario me hace ver también que no me puedo plantear el crear un videojuego en plan serio, sino en plan disfrutarlo. Total no voy a vivir de esto, así que miraré todo lo que me habeis aconsejado detenidamente y con el que crea que me vaya a sentir mas agusto me quedaré.

Un saludo a todos y gracias por todo.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: fjfnaranjo en 21 de Agosto de 2008, 10:07:58 PM
Precisamente por lo último que has dicho ... pygame +1
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Garthof en 02 de Septiembre de 2008, 12:52:50 PM
Yo te recomiendo Pygame o Fenix. Si Fenix no te ha convencido, Pygame es prácticamente lo mismo, pero con toda la potencia de Python (orientación a objetos, etc).

Un saludo.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: [EX3] en 02 de Septiembre de 2008, 05:19:58 PM
A parte de Fenix y algunos sucedaneos interesantes que estan aparenciendo en la misma comunidad (Gemix o Hyper3D) yo recomendaria tambien C# y XNA. Resulta un lenguaje muy comodo de utilizar cuando aprendes las bases del mismo asi como potente y XNA una herramiena completa y flexible e incluso sencillo para novatos y no tan novatos. Hay un monton de recursos para empezar y sacarle partido.

Si estas en posicion de empezar con cualquier lenguaje desde 0 Visual Basic 6 lo descartaria de cajon, mas que nada para evitar malas costumbres desde el inicio, pero si ya te manejabas con el y no te da reparo usarlo tienes motores muy majos y completos como el TrueVision3D (http://www.truevision3d.com/), gratuito para uso no comercial, o mi modesta y "aparentemente" abandonada libreria (llevo un año de retraso en publicar la ultima version :-\), dx_lib32, que para desarrollos 2D se defiende bien a parte de complementar facilmente la programacion de audio e input entre otras cosas.

Salu2...
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: mi-go en 05 de Septiembre de 2008, 09:14:18 AM
Pues yo te recomiendo Flash 9, ActionScript 3.
Para hacer juegos 2D me parece que está muy bien. Se produce muy rápido.
Además después tiene más salidas comerciales.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: MrK en 05 de Septiembre de 2008, 09:43:59 AM
Cita de: mi-go en 05 de Septiembre de 2008, 09:14:18 AM
Pues yo te recomiendo Flash 9, ActionScript 3.
Para hacer juegos 2D me parece que está muy bien. Se produce muy rápido.
Además después tiene más salidas comerciales.

y es multiplataforma. A mi el AS3 me gusta, pero con el flash 9 no puedo... Si te pasa lo mismo, puedes probar el Flex 3, que es mas o menos lo mismo, pero mas para programadores.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: TiRSO en 05 de Septiembre de 2008, 10:09:51 AM
¡Otro voto para ActionScript! (Yo si tuviera que empezar, ahora no tendría ninguna duda... ¡Juegos flash seguro!)
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: tamat en 05 de Septiembre de 2008, 02:13:49 PM
Cita de: TiRSO en 05 de Septiembre de 2008, 10:09:51 AM
¡Otro voto para ActionScript! (Yo si tuviera que empezar, ahora no tendría ninguna duda... ¡Juegos flash seguro!)
tu deja de barrer pa ti!
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Josich en 15 de Septiembre de 2008, 06:51:08 PM
Si eres muy novato ( como yo), te recomiendo Game Maker, puedes hacer un juego sin escribir ni una linea de código y se aprende en dos patadas. También puedes complicarte un poco mas con el GML y escribir ciertas cosas. Es muy útil para hacerte un esquema de juego jugable y ver si funciona la idea que tienes. Eso si, no le pidas mucho tampoco, pero te haces un Arkanoid en una tarde.

Si buscas algo mas profundo, olvidate y ve a un lenguaje de los que te han comentado.

Un saludo
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: yens en 15 de Septiembre de 2008, 07:52:10 PM
Cita de: TiRSO en 05 de Septiembre de 2008, 10:09:51 AM
¡Otro voto para ActionScript! (Yo si tuviera que empezar, ahora no tendría ninguna duda... ¡Juegos flash seguro!)

Das asco ya tirso, pero de forma elegante.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: shephiroth en 15 de Septiembre de 2008, 08:08:00 PM
Buenas. Ya que lo has comentado (y nadie te dice nada al respecto) yo te desaconsejo java. Da facilidades, pero es lentisimo (toy haciendome un videojuego en 2d para el proyecto de fin de carrera en java, y las paso putas con la velocidad :S:S). Si no te importa la velocidad algo se puede hacer, pero aun asi es mejor que te metas con C#+XNA o Flash + AS
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: TiRSO en 15 de Septiembre de 2008, 11:01:59 PM
Cita de: yEnS en 15 de Septiembre de 2008, 07:52:10 PM
Cita de: TiRSO en 05 de Septiembre de 2008, 10:09:51 AM
¡Otro voto para ActionScript! (Yo si tuviera que empezar, ahora no tendría ninguna duda... ¡Juegos flash seguro!)

Das asco ya tirso, pero de forma elegante.


Gracias. Sabes que eso me gusta.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Buffon en 16 de Septiembre de 2008, 09:05:03 AM
Cita de: Josich en 15 de Septiembre de 2008, 06:51:08 PM
Si eres muy novato ( como yo), te recomiendo Game Maker, puedes hacer un juego sin escribir ni una linea de código y se aprende en dos patadas. También puedes complicarte un poco mas con el GML y escribir ciertas cosas. Es muy útil para hacerte un esquema de juego jugable y ver si funciona la idea que tienes. Eso si, no le pidas mucho tampoco, pero te haces un Arkanoid en una tarde.

Si buscas algo mas profundo, olvidate y ve a un lenguaje de los que te han comentado.

Un saludo

que gracia tiene hacer un juego sin escribir una linea de código ?

no creo que haya ni una empresa que precise eso, lo importante es empezar bien.

Edito: No había dicho por que me decantaba yo !!!

aprende C
---- haz una aplicación que pida datos por pantalla
---- haz una aplicación que pinte un buscaminas y pida coordenadas a mostrar, descubra las vacías, sus bordes, muestre por pantalla y vuelva a pedir otra coordenada.
---- haz un mundo enorme, la A eres tu, el . es parte del mundo, la T es un arbol, la M un monstruo, haz que te muevas con los cursores del teclado, que sólo muestres una cuadricula de 20x20 por consola pero que la matriz sea de 400x400 y haya un final 'F', que en cada iteración los monstruos puedan o no moverse una casilla de forma aleatoria, etc, todo esto por consola.

Cuando tengas esto dominado, sepas como se estructura un juego:
while(true)
{
--- cambiosUsuarios()
--- cambiosJuego()
--- cambiosLogica()
--- redibuja!
}

Entonces aprende OpenGL, o SDL + Allegro, o GLUT ! y pasa tus juegos de consola, el buscaminas, el maximundo y los que hayas hecho a 2D ó 3D, como te sientas ánimado, pero no intentes tener unos gráficos espectaculares detrás, yo los hago con cajas simples, los árboles son un cilindro fofo de color marron normal, luego si consigues un grafista que te haga los gráficos sólo tienes que añadirlos y milagrosamente tu juego pasa a ser un espectáculo 3D ! :)

Cuando ya tengas todo esto anímate a hacer un arkanoid, un tetris raro, una pantalla de un mundo 3D etc, aprende GLSL, etc y sobretodo, lee muchos libros.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Parzival en 16 de Septiembre de 2008, 10:57:01 AM
Cita de: Buffon en 16 de Septiembre de 2008, 09:05:03 AM
que gracia tiene hacer un juego sin escribir una linea de código ?

no creo que haya ni una empresa que precise eso, lo importante es empezar bien.
Pues depende mucho de cómo lo mires. Desde el punto de vista de un programador está claro que su diversión en hacer un videojuego radica en escribir código. Pero creo que empezar con cierta ayuda (como colisiones, sistema de dibujado y scroll de tiles, físicas simples, etc...) le dará mucha ventaja, además supongo que algo de código siempre tendrá que escribir (supongo porque no he probado Game Maker), al menos para controlar variables, crear eventos, etc. Más tarde, cuando sus proyectos sean más ambiciosos tendrá que adoptar otros lenguajes más complejos y ya irá aprendiendo.

Además, si lo que le entusiasma no es programar, hay muchas posibilidades de que se canse del proyecto antes de ver "nacer" su idea, cosa que al menos con Game Maker o similares no le tiene que pasar porque ya tiene lo más básico creado.
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: Buffon en 16 de Septiembre de 2008, 03:12:15 PM
si le cansa o no le gusta programar no es su area, hay muchas areas en el desarrollo de videojuegos y mucha gente con la que juntarse para aprender.

Ni más lejos tenemos en stratos un apartado llamado Grupos de Iniciación, donde cada grupo, si consigues 2 prog + 2 graf + extras (diseñador de niveles, guión, sonido, diseñador de efectos, etc... ) se consigue algo guapo sin recurrir a un creador de juegos que te amanilla en cuanto ejecutas el creador.

PD: no puedo opinar de forma objetiva en este ámbito, suficiente que utilizo a veces DirectX y no puedo tocar su código, no soy de utilizar aplicaciones que generan cosas que luego yo no pueda modificar si tienen fallos, y DirectX lo utilizo por que tengo la garantía que si algo está mal a la semana lo sumo lo tendrán corregidos por ser una empresa grande y con algo aún de prestigio :P

PD2: GPL ;)
Título: Re: Un consejo sobre lenguaje para crear videojuegos.
Publicado por: doctor-lynch en 09 de Diciembre de 2008, 12:11:03 PM
Bueno, resubo el post, tan sólo para daros las gracias a todos los que me respondisteis.

Mi ordenador murió de una sobredosis de pantallazos azules, así que he estado fuera de combate durante dos o tres semanillas.

Al final, me he quedado como al principio de crear este post  >.<
Todos vuestros consejos han sido geniales. Pero voy a haceros unos cuantos comentarios sobre los lenguajes que me habeis aconsejado, a ver que os parece:

C: En principio, lo descarto, no por nada... sino por lo que dije, que no quiero sufrir haciendo un juego. Y en C hay que estudiar mucho y ser muy máquina pienso yo, para crearte algo decentillo. En todo caso eligiría esta opción una vez me maneje un poco, como se crea un videojuego, porque no tengo ni la menor idea.

Python / Pygame: No lo descarto, me parece un lenguaje interesante. Quizás lo que me tira para atrás a la hora de elegirlo, es aprender un lenguaje del que no se que futuro va a tener. Me gustaría aprender un lenguaje que además de que me sirva en mi curriculum de cara a las empresas, también me divierta programando algún videojuego sencillito.

Visual Basic 6 / TrueVision3D: Tengo que verlo mas detenidamente, a pesar que como dije VB6 me encanta, pero no lo veía como una opción por los malos hábitos que se cogen.

Flash / ActionScript: En principio, es el que mas me gusta porque he realizado cosillas con él y me siento agusto. Sólo he programado en ActionScript 2 (bastante) y una introducción en ActionScript 3. Tendría que pasarme supongo a aprender ActionScript 3 a lo bestia, porque seguramente ActionScript 2 muera en cuanto Adobe le quiera meter la patada.

Java: Me empecé a leer el libro "Piensa en Java" y buffff... el traductor parece que es medio humano / medio robot. Pensaba que se podían crear videojuegos interesantes con este lenguaje, pero por lo que ha comentado el usuario yEnS, me parece que paso. Lo estaba aprendiendo porque Java se pide mucho ahora en las empresas y así mataba dos pájaros de un tiro. Estuve mirando incluso jMonkeyEngine y lwjgl  :'(

Visto lo que he escrito, me quedo con Flash / ActionScript, aunque últimamente no veo que se pida en muchas empresas el manejo de ActionScript 3 (por poner un ejemplo). Aunque quizás no he mirado demasiado el mercado.

Gracias reiteradas a todos y si alguien tiene algo nuevo que aportar, que hable ahora o calle para siempre.