PDA

Ver la versión completa : [Tutorial] Programación de un juego en C++ (Indice)



saboteur
09/10/2010, 11:39
Bueno, como veo que en la sección de tutoriales no hay nada que se meta a saco con la programación, he decidido hacer unas sencillas guías para desarrollar un juego en C++ siguiendo unos pasos muy sencillos.

No voy a enseñar a programar... para eso hay otras guías en Internet que lo explicaran con más detalle. Voy a dar por supuesto que quien siga estas guías ha conseguido instalar el toolchain, es capaz de compilar los ejemplos y tiene nociones básicas de C.

Nuestro objetivo será conseguir el juego de la foto que veis abajo. Para eso, vamos a dividir las lecciones de la siguiente forma:

1. Plantilla base (http://www.gp32spain.com/foros/showthread.php?t=77690). Crearemos el programa base con lo mímino que necesita para compilar y funcionar. Así comprobaremos que tenemos las herramientas correctamente instaladas.
2. Estructura (http://www.gp32spain.com/foros/showthread.php?t=77694). Vamos a crear una estructura para el juego que nos facilitará el desarrollo en adelante, y que lo hará muy comprensible.
3. Primer arranque (http://www.gp32spain.com/foros/showthread.php?t=77704). Añadiremos algunos mensajes de texto para asegurarnos de que la consola responde a los botones y los modos del programa funcionan bien.
4. Menú (http://www.gp32spain.com/foros/showthread.php?t=77707). Diseñaremos un sencillo menú que nos permitirá iniciar el juego o salir de él.
5. Movimiento de la nave (http://www.gp32spain.com/foros/showthread.php?t=77831). Conseguiremos que la nave se mueva a nuestras órdenes con algo de inercia.
6. Recogida de tesoros (http://www.gp32spain.com/foros/showthread.php?t=77949). Implementaremos el mecanismo para que la nave pueda recoger los tesoros del fondo del mar.
7. Enemigos (http://www.gp32spain.com/foros/showthread.php?t=78299). Añadiremos algunos peligrosos enemigos marinos que nos liquidarán si nos acercamos demasiado.
8. Efectos (http://www.gp32spain.com/foros/showthread.php?t=78549). Añadiendo algunos detalles visuales. como las burbujas, conseguiremos que el juego sea más espectacular.
9. Sonidos (http://www.gp32spain.com/foros/showthread.php?t=79966). Añadiremos sonidos estridentes y chapoteos para que la inmersión sea total.
10. Tabla de récords. Todo juego que se precie debe tener una tabla de records.
11. Experiencias. Finalizaremos el desarrollo incluyendo EXPERIENCIAS (los logros de Wiz). Un total de 8 EXPERIENCIAS y 200 PUNTOS.

Las lecciones las iré creando en otros hilos, pero las enlazaré en éste, que hará de índice, para que estén recogidas en un mismo sitio. Y por supuesto, subiré los archivos con el código fuente, gráficos, etc... para quién quiera echarle un vistazo rápido. Los más impacientes pueden probar el juego completo del tutorial en: Batiscafo (http://www.gp32spain.com/foros/downloads.php?do=file&id=2748).

jduranmaster
09/10/2010, 11:47
podemos contribuir con nuestras propias creaciones/ejemplos?

saboteur
09/10/2010, 11:58
Hombre, yo lo he pensado como un cursillo fácil. Para que la gente vea que siguiendo ciertos pasos de una manera fácil se puede hacer un juego muy rápido.

Pero claro, en cada hilo se puede comentar cómo hacer las cosas de otra forma, cómo mejorarlas, experiencias de cada uno, trucos, etc... Yo creo que podéis contribuir mientras no os alejéis demasiado del tema de cada lección, más que nada para no liar a los novatos y que empiecen a pensar que esto es muy difícil (que realmente no lo es). :D

Las contribuciones siempre son buenas, hasta que se cambia de tema completamente (algo habitual en gp32spain ;) )

jduranmaster
09/10/2010, 12:02
ok. me parece genial.

turco
09/10/2010, 12:26
Eso es genial. Muchas gracias saboteur
Seguro que esta iniciativa acercará a más gente a la programación de videojuegos.

^MiSaTo^
09/10/2010, 12:57
Hola Saboteur!

Yo empecé un wiki para lo mismo (pero en principio con C y SDL y alguna cosilla más).

Si quieres, puedes usarlo para colgar ahí tus tutos y luego lo enlazas en este post o algo así. Lo digo por si te es más cómodo usar un wiki que un post del foro ^^

Saludos y gracias por tu HAPORTE XD

saboteur
09/10/2010, 13:05
Gracias. Pero ya que lo he empezado aquí, lo acabaré aquí, aunque sea un poco más rollo (asín de cabezón soy :)). Pon un link a wiki ese para que vea qué cosillas hay y más adelante pueda meter una versión definitiva o algo así.

^MiSaTo^
09/10/2010, 13:08
Gracias. Pero ya que lo he empezado aquí, lo acabaré aquí, aunque sea un poco más rollo (asín de cabezón soy :)). Pon un link a wiki ese para que vea qué cosillas hay y más adelante pueda meter una versión definitiva o algo así.

Como quieras ;)

Pues hay muy poco, porque lo empecé pero me quedé sin tiempo libre (como siempre) y lo he dejado parado.
La url general es: http://devwiki.misato.es y donde están los tutoriales de C y SDL: http://devwiki.misato.es/doku.php/sdl

Como ves hay muy poco, pero mi idea es juntar la info de programación de consolas (GP2X, Wiz y Dingoo en principio) para tenerlo todo unificado. Es decir, mapeo de botones, modos de vídeo soportados, etc
Y por otro lado me gustaría hacer lo que estás haciendo tú ;) (para eso está el apartado de SDL ;))

Se puede ampliar a lo que sea, por supuesto.

EDIT: y ahora que llevo ya un tiempo programando para iPhone y Android, había pensado en meter otra sección más para estos.

saboteur
09/10/2010, 13:23
Pues por lo que veo sí que se podrían complementar bastante bien, porque tus tutoriales parecen dirigidos a gente con poquísima experiencia (o ninguna) y yo voy para gente que más o menos sabe hacer cosas sencillas, por eso voy a saco a programar un juego.

Lo iré metiendo metiendo primero aquí ya que lo he empezado y luego veré cómo dejarlo bonito ahí. La pena es que no haya más cosas, porque a estas alturas debería estar repleto de tutoriales y aportes de la gente. :D

Lo que sí podría estar bien es meter algo como "cachos de código" (no me acuerdo cómo se llamaba en inglés) para usar directamente en programas. O sea, funciones específicas para algo, un teclado para la táctil (que lo tengo por ahí), etc... cosas que se pueden implementar en cualquier programa copiando y pegando.

^MiSaTo^
09/10/2010, 13:30
Pues por lo que veo sí que se podrían complementar bastante bien, porque tus tutoriales parecen dirigidos a gente con poquísima experiencia (o ninguna) y yo voy para gente que más o menos sabe hacer cosas sencillas, por eso voy a saco a programar un juego.
Efectivamente lo estaba enfocando a gente con pocos conocimientos (básicamente algo de C y ya). Lo hice así porque vi que para gente que ya sabe algo más sí hay muchos tutos, pero con menos nivel no ;)


Lo iré metiendo metiendo primero aquí ya que lo he empezado y luego veré cómo dejarlo bonito ahí. La pena es que no haya más cosas, porque a estas alturas debería estar repleto de tutoriales y aportes de la gente. :D
No hay más cosas porque lo he promocionado poco XD Abrí un hilo aquí en el foro y poco más. Pero por supuesto todo el que quiera colaborar que me lo diga que le abro una cuenta ^^ (Está ahora mismo deshabilitado lo de que cualquiera que quiera colaborar por los spam bots básicamente, pero vamos que tardo 0 en daros una cuenta).



Lo que sí podría estar bien es meter algo como "cachos de código" (no me acuerdo cómo se llamaba en inglés) para usar directamente en programas. O sea, funciones específicas para algo, un teclado para la táctil (que lo tengo por ahí), etc... cosas que se pueden implementar en cualquier programa copiando y pegando.
Pues esa idea es buenísima :D Además que a mi me vendría de perlas para colgar mis cachos de código también y tenerlos localizados (como lo de escanear un directorio y demás).

Lo dicho, si quieres usarlo está ahí. Sólo tienes que decírmelo y te habilito una cuenta. Lo mismo para el resto, cualquiera que quiera colaborar es bienvenido.

Yo lo hago por tener las cosas centralizadas más que nada ^^

enkonsierto
09/10/2010, 13:36
Te aplaudo esta propuesta yo también.

Jonazan2
09/10/2010, 13:36
Así da gusto ayudando a los novatisimos como yo :brindis: Ya le he dado las gracias mil veces a ^MiSaTo^ asi que ahora te las doy a tí saboteur. :)

^MiSaTo^
09/10/2010, 13:50
Por cierto, le he puesto una chinchetilla al tema para que no se pierda ;)

Siull
09/10/2010, 20:29
Uff pues a mi me viene de perlas, he empezado con C este año y a ver si consigo hacer algo en la Wiz.

^OMAP-Cranck^
09/10/2010, 23:31
una gran iniciativa. espero aprender cosas interesantes.

Aiken
09/10/2010, 23:41
Lo que sí podría estar bien es meter algo como "cachos de código" (no me acuerdo cómo se llamaba en inglés)

code snippets ;)

Aiken

saboteur
13/10/2010, 22:41
Bueno... ya he subido la quinta parte, que me ha dejado hecho polvo. A ver si lo acabo pronto, porque empiezo a pensar en otros tutoriales y se me va la cabeza. :D

saboteur
17/10/2010, 19:11
Recogida de tesoros en el primer post. La cosa avanza. ;)
Como alguien diga en el próximo concurso de programación que con un mes no le da tiempo a programar nada... me lo cargo. :D

Isidor
17/10/2010, 19:15
Hola.

No se si me pondré a refrescar lo que sabia de C (ya tengo bastante con el Bennu :)), pero siempre estará disponible este tutorial, para quien lo necesite y tenga ganas de aprender.

A lo mejor estaría bien que lo pusieras todo en un pdf cuando lo acabes (y hacemos un :fieston: para celebrarlo).

Gran curro, gracias.

Saludos.

saboteur
31/10/2010, 12:04
Añadida la lección de enemigos. Con el poco tiempo que tengo, esto ha sido todo un avance. :)

_JC_
31/10/2010, 13:23
que currada, ahora en el paro, hay tiempo de hacer cosillas, muchisimas gracias ^^

saboteur
09/11/2010, 18:58
Añadidos los efectos. El juego mejora con pasitos muy cortos... buena suerte a los nuevos programadores de Wiz. ;)

enkonsierto
09/11/2010, 19:03
Gracias. :brindis:

saboteur
05/01/2011, 00:45
Añadidos los sonidos. Una lección muy corta e interesante.

Neodreamer
10/04/2013, 13:36
Hola Saboteur, se que el post es de hace años, pero podrias pasarme link de los archivos de cada capitulo o sino al menos del source final para ir haciendolos poco a poco?
Gracias

saboteur
11/04/2013, 00:06
Los meto todos juntos aquí: http://www.saboteur.arrakis.es/temp/wiz_tutorial.zip, pero no los he comprobado porque no tengo mucho tiempo. De hecho, creo que no llegué a terminar las lecciones, me faltaron 2 o 3.
A ver si te sirven de algo... los proyectos están hechos con CodeBlocks.

Neodreamer
11/04/2013, 00:32
Joe, muchísimas gracias. A ver si entre esto y el libro de Alberto garcía serrano voy avanzando. Llevo mucho queriendo hacer cositas y más en SDL. Un saludo, ya te iré contando si saco algo o surgen dudas ;)