Desarrollando un videojuego en C++ y SDL: Primeros pasos y avances
Pepius - 16/05/2009 20:39
Buenas. Últimamente no participo prácticamente nada en el foro por falta de tiempo, pero como vienen exámenes y aún tendré menos, os dejo por aquí con lo que me estoy entreteniendo en los ratos libres.
[video]http://www.youtube.com/watch?v=qfcapnq68ke[/video]
Nada más que eso. Está hecho con C++ y SDL. Todavía en pañales y sin pretensión alguna más, allá de divertirme y echarme unas risas con los compañeros de facultad.
Cuando tenga, si llego a tener, una versión presentable, seréis los primeros en saberlo. Un saludo.
krateos_29 - 16/05/2009 21:24
Está bien, sí señor. Eso sí, pon una imagen animada de explosión cuando el beam destruya algo.
paio - 16/05/2009 21:56
Muy bueno, está quedando impresionante, lo que si como decía Krateos estraia bueno unas explosiones cuando le pegas a los enemigos.
Esperemos poder probar una beta del proyecto. Saludos.
acortes - 16/05/2009 21:58
Tú vales mucho. Anda que no lo pasaba bien yo con el twin cobra.
Pepius - 16/05/2009 22:31
Si, tenéis razón, las explosiones eran lo próximo en la lista to-do. Por desgracia no tocaré nada hasta verano, cuando termine exámenes. Muchas gracias por vuestros comentarios, me animan a poner más cosas lo más pronto posible. Un saludo.
el aprendiz 3d - 19/05/2009 01:24
Muy bueno.
Mars Attacks - 20/05/2009 21:58
Pues me encantaría echarle un ojo a ese proyecto. Hace tiempo que quiero intentar hacer alguna cosa visual simple con Linux, c y SDL, pero nunca he tenido la oportunidad (y por de pronto, me valdría con saber pintar píxeles y líneas -como mucho, texto- En pantalla). Ya te pediré el proyecto cuando lo termines ¿es cross-plataformí.
Pepius - 21/05/2009 14:13
Si, es multiplataforma. Desde que empecé que lo estoy programando desde Ubuntu, pero probé hace un tiempo a compilarlo en Windows y, eso sí, tras cambiar algunas cosas de rutas en el include, va sin problema.
Tengo pensado liberarlo cuando (en caso de que) lo termine así que, no habrá problem (y, vamos, que si me lo pides te lo paso y punto). Eso sí, el código no es el paradigma de la limpieza. De hecho, uno de las cosas pendientes para cuando tenga tiempo y ganas será eso, darle un buen repaso.
Aprendiz3d: gracias por el comentario. Un saludo.
nill - 24/05/2009 18:42
Ostia que wuay el juego, esperare ake lo saques.
Pepius - 14/07/2009 20:31
Vaya, por aquí ando otra vez, ahora que estoy de vacaciones. Lo puse por ahí ya, pero he empezado a reescribirlo desde 0, así que, aún me falta un poco para llegar al estado en el que estaba antes (pero ahora mola más). Total, que dándole vueltas y viendo ciertas cosas que no me convencían, he decidido basar todo lo que son (o serán) disparos y explosiones, en partículas. Así que hoy lo he empezado a programar y ya tengo algo más o menos decente:
[video]http://www.youtube.com/watch?v=6op0sf4ehdc[/video]
Seguiré poniendo paridas por aquí, un saludo.
Caronte - 14/07/2009 20:40
Ains, me recuerda a mis primeros pinitos de programación. ¿Por qué a todos nos dará por empezar por los marcianos? Muy bien Pepius.
town - 14/07/2009 20:42
Curioso, yo en su momento programe en ensamblador, c y java, pero vamos no creo que ahora supiera escribir una línea de código, ya hace como 10 años que no lo toco.
Yo le veo mucho merito, ahora que explote algo, ánimo y para lante.
nill - 14/07/2009 22:34
Hey me alegro que sigas.
Pepius - 14/07/2009 23:32
Caronte: sí, parece que todos empezamos por ahí. La verdad es que esto es lo que siempre he querido hacer (conocí Blender por el Game Engine,) y, pese a que sé que trabajar en la industria puede ser muy difícil y poco gratificante, el haber empezado la Carrera de informática lo único que ha hecho es darme más ganas de ponerme en ello. Por eso empiezo desde las bases (2d, cosas simples), a la par que empollo libros de diseño y programación de videojuegos y adquiero conocimientos matemáticos y físicos por la Carrera. Si al final (al menos hasta que me toque trabajar) hacer lo que ha uno le gusta es lo que cuenta. Gracias.
Town: yo he tocado por primera vez ensamblador este año en la facultad. No sabes lo cómod que es programar en c hasta que no programas en ensamblador muchas gracias por los ánimos, se agradecen.
Nill: hey, muchas gracias. Se agradecen los comentarios de verdad, así no me siento tan solo.
Aquí pongo un video con más partículas en pantalla y con las primeras explosiones de prueba.
[video]http://www.youtube.com/watch?v=0bt34zb8q1e[/video]
Lo de siempre, hasta que me haga un blog o una página, iré publicando por aquí.
Troler - 15/07/2009 01:21
Hey te está quedando muy guapo. La verdad que quería programar algo este verano para profundizar un poco en el tema de los gráficos y me has hecho venir ganas de hacer un mata-marcianos.
Que vaya bien el proyecto y muéstranos avances. Saludos.
Pepius - 15/07/2009 01:38
Gracias. La verdad es que es divertido programar cosas así, puedes dar rienda suelta a la imaginación una vez dominas los típicos aspectos técnicos de la programación. No dejes de avisar si te metes en el tema. Un saludo.
pioj - 15/07/2009 11:29
Qué vergüenza. Te parecerá bonito, ¿no? Perder así horas de estudio para jugar con espermatozoides espaciales. Ta chachi, añádele un poco de fricción en el movimiento, y algo de explosiones, y te lo pasaras bomba.
Sigue así, que está quedando chulo.
Pepius - 15/07/2009 11:47
Vaya. Eh, eh, eh, que he pasado limpio el curso, tengo derecho a perder el tiempo hasta octubre. Gracias por los consejos, los tendré en cuentasigo probando cosas. Un saludo.
Chaman - 15/07/2009 16:15
El haber empezado la Carrera de informática lo único que ha hecho es darme más ganas de ponerme en ello.
Pues aprovecha el tirón, es una suerte que habiendo empezado la Carrera te siga gustando más y más lo que haces. Son los menos los que conozco con esas sensaciones (la mayoría empieza a asquearse y terminan asqueados la Carrera al 100%).
A seguir para adelante. Que te está quedando muy cuco, a ver si al final nos dejas un ejecutable para poder echarnos un vicio.
Pepius - 15/07/2009 17:27
Pues aprovecha el tirón, es una suerte que habiendo empezado la Carrera te siga gustando más y más lo que haces. Son los menos los que conozco con esas sensaciones (la mayoría empieza a asquearse y terminan asqueados la Carrera al 100%).
A seguir para adelante. Que te está quedando muy cuco, a ver si al final nos dejas un ejecutable para poder echarnos un vicio.
Lo sé, yo tampoco lo esperaba. Yo hacía tiempo que quería hacerla y siempre me han gustado los ordenadores, la programación, etc. Pero todos sabemos que no tiene nada que ver una cosa con la otra, pues lo que mucha gente no sabe es que informática es una ingeniería (y superior en mi caso) y no es moco de pavo.
Pero gracias a foros y conocidos (3dpoder ha tenido mucho que ver aquí) te formas una idea más desmitificada, incluso a veces bastante negativa (recuerdo especialmente un hilo donde un usuario se cagaba bastante en la Carrera). Claro, yo entré en la Carrera sabiendo a que iba, y eso me encontré, muchas matemáticas, mucha física y poco de lo que la gente se piensa que abunda. Pero te puedo asegurar que he disfrutado y aprendido con cada clase de matemáticas, física, programación, fundamentos de computadores, he disfrutado a un nivel que no esperaba. La sensación de estar estudiando cosas que son un peñazo (porque lo son) pero que te interesan y sientes curiosidad es impagable y la de poder aplicar fórmulas y conceptos vistos en clase a un videojuego que haces en tus ratos libres ya ni te digo.
Pues eso, que me he enrollado, ahí va otro video, seguramente el último de partículas a no ser que haga un cambio gordo. Nótese que solo he activado las colisiones de las balas con los enemigos de la derecha, pues como test sobraba. Ahí va:
[video]http://www.youtube.com/watch?v=3xzozzx0hsw[/video] muchas gracias por los comentarios otra vez, Chamanman nada más tenga algo jugable de verdad lo cuelgo aquí ipso facto, no lo dudes. Un saludo.
xkaosx - 16/07/2009 03:03
Muy guapo, ya me lo pasaras por el MSN para que me pegue algún vicio cuando lo tengas terminado o jugable. Un saludo.
Pepius - 13/09/2009 23:37
Solo decir que sigo trabajando, aunque no de señales de vida. He reprogramado el juego (otra vez), y esta parece ser la definitiva. Ahora los datos de los enemigos, balas, se cargan desde archivos externos, lo cual simplifica la creación de los mismos. Hace un rato he terminado de programar la primera versión del editor (bastante austera) de enemigos, que permite editar gráficamente (a base de clicks, vaya) la trayectoria y los disparos de los enemigos.
A ver si pronto me voy buscando un grafista porque no tardaré mucho en llegar a la etapa de, simplemente, ponerse a crear contenido.
Dejo un video muy sencillo de trayectorias y disparos:
[video]http://www.youtube.com/watch?v=3ukpy2wzg2m[/video]
Pepius - 14/09/2009 15:53
Nada, sigo en ello. Ahora me estoy poniendo con las explosiones, seguiré poniendo cosas.
[video]http://www.youtube.com/watch?v=y6ecj3z8sbo[/video]
Trancos057 - 14/09/2009 16:01
Dale duro Pepius.
Fiz3d - 15/09/2009 00:40
Tío te lo estás trabajando, sí señor. Menos mal que a la gente se le quita la idea de que su primer videojuego tenga que ser un frames por segundo con la misma calidad que el wow. Saludos.
krateos_29 - 15/09/2009 00:49
Está quedando genial. Quizás un poco de movimientos por inercia a la nave que controlas no estaría mal. Veo los movimientos demasiado toscos. Pero vamos que está genial.
Pepius - 15/09/2009 02:01
Hey, gracias a los tres. Trancos: eso intento. A ver si la universidad no me quita mucho tiempo y puedo seguir dedicándome.
Fiz: muchas gracias. Mi humilde intención es terminar un juego donde todo lo que pueda lo haya hecho yo. Soy consciente de que podría coger un engine 3d y meter efectos y cosas, pero según mi punto de vista, hacer un juego from scratch, sin engine ni nada, me va a enriquecer, ya que me estoy peleando con todas las facetas de hacer un juego de estas características: carga externa de datos, gestión dinámica de entidades, colisiones, etc. Sé que desde fuera no parece tanto, pero estoy muy orgulloso de lo que estoy consiguiendo.
Krateos_29: buen consejo. La verdad es que es algo que me estaba planteando, y creo que tienes razón. A ver si le pongo un poco de aceleración/desaceleración a esto.
La buena noticia es que creo que en unos pocos días ya estará todo listo para ponerse a crear contenido (me falta la interfaz, y pulir cosas).
La mala es que no he encontrado a nadie aún para que me ayude a crearlo, pues yo como grafista (como se aprecia en los videos) soy tirando a malo. A ver si pronto pongo un mensaje por ahí pidiendo ayuda y alguien se une.
Dejo otro mini avance.
[video]http://www.youtube.com/watch?v=lchkl4ifozc[/video]
Un saludo y gracias.
slime - 15/09/2009 06:39
Fantástico. Así es cómo se aprende, haciéndose uno sus propias librerías. Enhorabuena por el camino recorrido, y mucho ánimo por lo que queda por recorrer.
Vaya, muchas gracias Slime, es todo un honorgracias por los videos, me los a punto a la lista. Por si a alguien le interesan más juegos de este tipo, algunos que he tomado como inspiración (y referencia en algunas cosas) son touhou, warblade e ikaruga.
Cabe recordar que estoy haciendo el juego sobre SDL, una librerías que permiten acceder a bajo nivel a la gráfica y diferentes métodos de entrada ([url]http://www.libsdl.org/[/url]).
Dejo aquí otro (otro más, si) video. Dedicado a Krateos por lo de la inercia en el movimiento, ahora va mucho más suave. Ya he implementado la carga externa de niveles. Unos ajustes más y no hará falta ya tocar absolutamente nada del código fuente para hacer niveles/enemigos/balas/etc.
Y voy a parar ya de poner tanto video que si no, de todas formas, algunos iré subiéndolos a mi cuenta de YouTube de cuando en cuando, así que, si tenéis curiosidad de si he muerto en el intento o algo.
[video]http://www.youtube.com/watch?v=884liujxbac[/video]
Un saludo.
Fiz3d - 15/09/2009 15:12
Fiz: muchas gracias. Mi humilde intención es terminar un juego donde todo lo que pueda lo haya hecho yo. Soy consciente de que podría coger un engine 3d y meter efectos y cosas, pero según mi punto de vista, hacer un juego from scratch, sin engine ni nada, me va a enriquecer, ya que me estoy peleando con todas las facetas de hacer un juego de estas características: carga externa de datos, gestión dinámica de entidades, colisiones, etc. Sé que desde fuera no parece tanto, pero estoy muy orgulloso de lo que estoy consiguiendo.
Toda la razón, seguro que llegaras lejos.
g-n-r - 16/09/2009 20:11
Vaya, está muy bien, avisa cuando se lo pueda probar.
Pepius - 04/10/2009 23:38
Muchas gracias por los comentarios de verdad. G-n-r, muchas gracias, aún le queda un trecho, porque aún no he empezado con los gráficos y tengo que programar unos buenos editores, pero vaya, iré mostrando cosas.
Aquí dejo otro video.
[video]http://www.youtube.com/watch?v=uruonw25kp0[/video]
Un saludo.
Caronte - 05/10/2009 00:08
Vaya, que animal. Ese juego debe ser versión especial para Chuk Norris.
Pepius - 05/10/2009 06:35
Vaya, sí, lo sé, lo sé, pero son solo tests para ver cómo se comporta con muchas balas en pantalla y tal pero no te creas que lo voy a poner mucho más fácil. Un saludo.
Pepius - 25/10/2009 15:26
Me dejo caer por aquí.
[video]http://www.youtube.com/watch?v=blsytsqhlte[/video]
He modificado el sistema para cargar enemigos, ahora están en un formato similar a xml, para que sea más fácil crearlos/editarlos.
Esto sería un ejemplo de enemigo:
[code] t 0 t enem1.png 1 1 t t 50 t 100 t 0 0 t -1 t t <#> 16 #> 0 359 2 3 30 1 t.
/enemy>[/code]
En otro orden de cosas, a ver si encuentro un grafista pronto mientras tanto, a seguir programando la estructura base. Un saludo.
Mars Attacks - 01/11/2009 18:13
Tiene una pinta tremenda, y llevas una muy buena trayectoria. Sólo por aportar algo, si puedes añadir a esos scripts una parte de comentarios que expliquen brevemente que hace cada factor, te lo agradecerás si te pasas algunos días sin tocar alguno (o si alguien quiere probar cosas).
Pepius - 01/11/2009 19:21
Sí, debería hacer una documentación o implementar comentarios, pronto haré algo al respecto. Gracias por el comentario. Un saludo.
Fiz3d - 02/11/2009 21:24
Muy bueno si señor, estás hecho un moesto.
Pepius - 13/11/2009 10:44
Muchas gracias Fiz, hacemos lo que podemos. He de comentar que ya he encontrado grafista, lo que creo que va a hacer mejorar en enteros el juego, como siempre, ya iré comentando cosas por aquí.
Pepius - 14/02/2010 19:27
Sigo vivo. Han pasado exámenes y ya llevo un par de semanas dándole al código. He reestructurado todo y parece que el código base ya es más o menos definitivo, a falta de implementar unas cosas.
Entre otras cosas.
Ya he implementado el audio, tanto efectos como música.
Mejorado el sistema de partículas. Posibilidad de controlar la aleatoriedad, fuerza, tiempo de vida, de las partículas.
Mejorado rendimiento en general.
Ahora estoy a la espera de los gráficos mientras voy implementando ya la interfaz y otras cosas. En fin, dejo otro video, de los de siempre, donde ya se ven un poco más desarrolladas las partículas (explosiones) y se escucha algún que otro efecto. Un saludo.
[video]http://www.youtube.com/watch?v=prqpgzgrrro[/video]
alvarr - 16/02/2010 03:23
Buenas Pepius. Ante todo, felicidades. Muy buen objetivo marcado y buen camino seguido. Dices que has implementado el audio, pero yo en este último video no he escuchado nada. Que sistema usas para ello? Un saludo.