Necesito consejo sobre C++

Ofertas en PcComponentes: Top Verano y PcCom Days
hola a todos,

Vereis, me estoy iniciando en la programacion para juegos en C/C++. Llevo unos años utilizando DarkBasic. Pero prefiero aprender C, creo que me sera mas util y me permitira programar en muchas mas plataformas. Ya me he armado de un manual de C, pero necesito que me deis consejo, sobre foros especializados de juegos en C, que puedan ayudar a novatos como yo, y que me recomendeis herramientas utiles, como un engine de fisica, de Shaders, etc.

Un saludo y muchas gracias!
Estar iniciandose en C y pensar en engines de física y en shaders es ridículo. Primero aprende C++ y olvidate de juegos, porque no vas a ver nada mas lejos que una consola de texto o, como mucho, alguna ventana simple Windows (si usas C++.Net, porque hacerlas mediante el C++ de toda la vida es una tarea bastante complicada).

Ademas, una vez empieces a programar a cierto nivel e intentes tus primeros juegos, no esperes ver nada mas complicado que algún pong, arkanoid o tetris en 2D.

Una buena página para aprender a programar en C++ es http://c.conclase.net/curso/index.php.
hombre, primero empezaré por leerme entero el manual y empaparme de C++, con ejemplos. Simplemente preguntaba por herramientas que me recomendeis para programar juegos en C++, como engines, o librerias útiles; y tambien sobre algun foro especializado en desarrollo de juegos en C++

SaLU2!
Yaya, no te lo tomes a mal, solo te lo decía porque los que estabamos acostumbrados a usar makers (de mayor o menor complejidad) al pasar a C++ pensamos que tener un mapa con un tio corriendo y saltando por ahí es sencillo y no es así. Solo era una advertencia, ya que yo llegue desde el antiguo DIV (que grande...) y me paso algo parecido.

Respecto a foros serios en español solamente conozco Stratos, en ingles suele consultar GameDev.

Respecto a los engines, te repito lo de antes, no pienses en ello todavía. Es como ponerte a pensar el color del volante de tu coche cuando ni siquiera estas apuntado a la autoescuela. Ya sabras que utilizar cuando te llegue el momento en el que tengas que plantearte el dilema.
Tranqui no me lo he tomado a mal, si es que tienes razón ;) Primero empezaré por aprender C++ lo que pueda, y ya pensaré luego en engines y demás. Lo que realmente queria saber es si C++ es lo que necesito aprender, para programar cosas mas complejas que un tetris, hacer cosas jugables, ¿me servirá C++ para programar en otras palataformas a parte de PC, y para hacer cosas un poco mas serias?

SaLU2 y gracias!
Sí que sirve para hacer cosas más serias, de hecho, creo que la mayoría de juegos actuales están programados en C++. Respecto a si es el más adecuado, esto ya depende mucho de lo que quieras programar, pero generalmente sí.

Si, C++ también sirve para programar para otras plataformas, siempre que haya disponible un compilador de C++ para ellas (prácticamente todas las actuales tienen uno).
Por cierto, ¿me podeis recomendar algun libro de programación de videojuegos sobre C/C++? Prefiero que este en ingles, que tengo pensado dentro de poco hacer un pedido a Amazon.

Un saludo!!!!
A poco que sepas de C++, ya podrías empezar a echarle el ojo a alguna que otra librería que esté enfocada en lo que te interesa.

Puedes probar a hacer alguna tontería con SDL, que es una librería muy sencilla y que realmente lo tiene todo para hacer un juego. Pero cuando te plantees hacer pruebas más complejas, ve a por otra API de más alto nivel, pues programar con SDL ese tipo de cosas puede ser demasiado costoso en tiempo. No hay que reinventar la rueda, hay muchas APIs de alto nivel que usan SDL como Backend, por ello empezar con SDL me parece la mejor opción.
Elelegido escribió:A poco que sepas de C++, ya podrías empezar a echarle el ojo a alguna que otra librería que esté enfocada en lo que te interesa.

Puedes probar a hacer alguna tontería con SDL, que es una librería muy sencilla y que realmente lo tiene todo para hacer un juego. Pero cuando te plantees hacer pruebas más complejas, ve a por otra API de más alto nivel, pues programar con SDL ese tipo de cosas puede ser demasiado costoso en tiempo. No hay que reinventar la rueda, hay muchas APIs de alto nivel que usan SDL como Backend, por ello empezar con SDL me parece la mejor opción.


+1

SDL es muy sencilla de usar, y para comenzar no está nada mal. Se programa en C y su uso, aunque se puede utilizar para 3D, está más enfocado al 2D (y más sencillo de utilizar). Te puedo recomendar que eches un vistazo a la web de lazy foo. También puedes echárle un ojo a la web de la asociación de videojuegos que tenemos montada en la UPV, ahí tienes:

- Introducción a SDL
- Configuración de VS para hacerlo funcionar con SDL
- Video del Crash course que se hizo hace poco, en el que un alumno enseña paso a paso cómo crear un sencillo pong con SDL (dura unos 90' el video)


Si ya sabes C/C++ no tendrás muchos problemas, si tienes cualquier duda con la información que te he pasado, mándame un mp ;)
Si ya sabes C/C++ no tendrás muchos problemas


El problemas es que no sabe C/C++, solamente un lenguaje de scripting de un maker que ya tiene un buen puñado de años.

Te digo lo mismo que antes, primero aprende a programar y despues ya te preocuparas de APIs o librerías gráficas. Aprende bien la filosofía de la programación estructurada y de la POO, que sin eso por mucha librería que uses tu código va a ser un churro. Si veo el código que hice antes de saber programar (y con saber programar me refiero a eso, no a conocer la sintaxis del lenguaje) me da hasta vergüenza, ademas de que soy incapaz de entenderlo.
Estoy diseñando un framework para desarrollar juegos en c
Imagen
Imagen
Imagen


Espero tenerlo acabado en menos de un mes y se podrá desarrollar todo tipo de juegos en 2D, y espero hacer pronto un port para psp y gp32.

El motor sirve par a cualquier juego siempre y cuando utilice sprites en 2D en lugar de modelos 3D.

Si deseas saber más agregame al msn.
Muy buen trabajo, felicidades y ánimo.
Hey, pues tieen muy buena pinta eso que has posteado!

Por cierto, una pregunta para tontos, si tu programas un jueog en C,para portarlo a otras maquinas como Psp o Gp32, ¿que hay que hacer? ¿Recompilarlo con un compilador para dicha maquina?

Un saludo!
Depende de muchas cosas. Por ejemplo, si las librerías que utilizas están soportadas en las dos máquinas, si el juego utiliza coordenadas relativas en vez de absolutas (por los cambios de resolución), la entrada de datos...
Yo haré distintas plantillas. Cada plantilla tirará de una librería especializada en la plataforma que sea. Edoy intentando concentrar todos los métodos de forma que modificiando unos ficheros concretos no haga falta tocar nada más.
14 respuestas