librerias de juegos en c++?

m3l0

que libreria es mejor para empezar a hacer chorraditas? de allegro 5 no hay casi documentacion, y de sdl he encontrado poca.

elkaoD

#1 si de SDL has encontrado poca documentación, apaga y vámonos, porque es la librería por excelencia. Busca mejor.

Como recomendación para empezar: SFML, Cinder u openFrameworks.

1
dr_Rouman

De SDL hay hasta libros, o sea que busca mejor xD

SFML lo estuve mirando el otro día yo también y está bien.

Si quieres apuntar a plataformas móviles también está el port de Cocos2D, Cocos2DX, que va en Windows, Linux, OSX, iOS, Android, Bada...

Si tienes valor mira un poquito de OpenGL también :P

1 2 respuestas
elkaoD

#3 yo de SFML estoy esperando a que salga la versión 2, que lleva saliendo como... 2 años xD A mí siempre me ha parecido SFML un SDL ligeramente más de alto nivel y adaptado a los tiempos modernos (SDL es como muy... noventera.) También es cierto que no conozco cómo se va actualizando SDL 1.3, le echaré un vistazo a ver si le han lavado la cara.

De SFML lo que no me gusta es que a veces abstrae demasiado para mi gusto, pero vamos que tampoco es problema. SDL simplemente es fea de narices, pero es normal, al fin y al cabo es C a secas, pero es la que más te va a dejar toquetear OpenGL crudo (de hecho es la razón por la que me gusta SDL.)

Cinder está muy bien si quieres empezar YA, es como el punto intermedio entre SFML y Processing. No es tan alto nivel como Processing, pero se nota que es un framework y no sólo una librería de apoyo. Lo malo de Cinder es que es sólo Win y Mac, y que se nota que no está madura. OpenFrameworks no he tocado mucho, pero es el mismo palo, solo que realmente open y pensado en el cross-compiling. Como contra, me parece que está mucho más "bloated" que otros frameworks.

Buffoncete

Ogre

Meleagant

#3

Pero mirar OpenGL para hacer juegos no sé si le va a ser muy útil. Quiero decir, está bien saber esas cosas, pero a la hora de la verdad es una pérdida de tiempo.

1 2 respuestas
Buffoncete

#6 +1

además de no ser nada productivo para una persona, otra cosa es que lo hagas desde un equipo de desarrollo y os montéis vuestro propio core.

sino Ogre ;)

1 respuesta
elkaoD

#6 #7 cómo, cómo, cómo?!?!?!?!?!?

¡SACRILEGIO!

A mí me parece que, de hecho, es el paso natural hacia saber hacer juegos de verdad, conocer OpenGL y todos sus entresijos. Es muy fácil usar un framework, pero, ¿qué te va a pasar cuando el framework no te ofrezca una función en concreto? De hecho, muchos frameworks no sustiyen a OpenGL sino que colaboran con él. El FW te crea la ventana, handlers para texturas y demás, pero las llamadas a OpenGL y el dibujado lo tienes que hacer tú. De hecho, Cinder, que es de bastante alto nivel, muchas de sus funciones son sólo un wrapper alrededor de las de OpenGL. ¿Cómo pretendes usar bien un framework si no sabes las posibilidades que ofrece OGL y cómo está estructurado?

Por no hablar de que para programar shaders, por mucho que tengas un framework, o conoces OpenGL y GLSL o estás jodido.

Otra cosa son los engines pre-hechos obviamente, pero eso no es programar un juego bajo mi punto de vista. Eso es coger un engine y montarle encima la lógica del juego y los assets.

1 1 respuesta
Buffoncete

#8 no te lo tomes a mal pero me da que no has hecho ningún juego, ni comercial ni amateur de forma seria.

Deberíais daros una vuelta por aquí
http://www.stratos-ad.com/forums/

1 respuesta
elkaoD

#9 no te lo tomes a mal, pero juegos amateur unos cuantos. De forma seria no, porque no me gusta hacer videojuegos, pero vamos... a ver si te crees que conozco OpenGL porque antes de dormir me leo un poquito de la referencia.

No hace falta que me linkes Stratos, antes pasaba mucho por allí (y por #stratos en el IRC-Hispano) aunque no he tenido mucha actividad en la comunidad. Mejor línkame GameDev o cualquier otra web, mucho más interesantes en mi opinión y con mucho menos "programador" de DIV/Fenix/whatever. Contenido de verdad.

Lo siento, pero nunca he sido fan de Ogre, y mi interés nunca ha sido en crear videojuegos sino en la programación de motores. No me gusta hacer juegos, me gusta programar y darle las vueltas de tuerca necesarias al engine, ya sea para sacarle un poquito de jugo o para hacer ESO que ningún otro engine hace. De hecho, mi primer paso en la programación de videojuegos fue hacer un rasterizador 3D por software con SDL a secas, ni OpenGL ni ostias.

De hecho mi mayor interés en los engines es que ni necesito un engine completo ni me gustan la mayoría de arquitecturas de engines libres. Siempre he sido fan de los engines basados en componentes y con la lógica scripteada, y hasta ahora no he encontrado un engine completo que me permita hacer eso y no apeste.

Sobre Ogre y demás engines puramente 3D, no me gusta que estén tan sobredimensionados. Muy grandes para un juego pequeño, muy pequeños para un juego serio.

Lo siento mucho, pero para los juegos que yo hago (normalmente sin texturas, estética retro a lo Flotilla o incluso ASCII art directamente), OpenGL a secas me da MUUUCHO más rendimiento y me permite hacer lo que quiero y exactamente como quiero. Además siempre me ha gustado trastear con el contenido procedimental y la mayoría de engines 3D escasean mucho en este sentido. No es sólo que escaséen sino que ponen auténticas trabas.

De hecho mi mayor interés no ha sido en la programación de juegos, sino simplemente en programación gráfica (demoscene y demás.)

La cosa es simple: yo me quiero dedicar a programar motores, así que ya me dirás que oferta de trabajo puedo aceptar sin conocer OpenGL y la arquitectura de las GPUs extensivamente :)

Y me reitero: ¿cómo vas a programar shaders cuando el engine te ha abstraído todo? Y cuando ya conoces lo necesario de la arquitectura para programar shaders, ¿cómo no te vas a sentir limitado usando un framework?

Vale que para #1, que quiere hacer "chorraditas" [sic] OpenGL le va a venir grande (por eso ni lo mencioné en #2 y sin embargo si hablé de frameworks gordos gordos), pero de ahí a decir que conocer OpenGL es una pérdida de tiempo... Será una pérdida de tiempo siempre y cuando te dediques a hacer juegos casuals para iPhone y cosas de esas.

Buffoncete

Yo no he dicho que conocer OpenGL sea perdida de tiempo, es más tengo más que leídos el rojo, el azul y el naranja de sus libros.

Pero si quiere hacer videojuegos, que no motores, que no inventarse algoritmos de sombreado, etc, le es mejor usar motores y ver como están estructurados y diseñados.

1 respuesta
elkaoD

#11 pues sí y no. Creo que a grandes rasgos tienes razón, pero también creo que cuanto más alto nivel toques y por tanto más abstracta sea tu "fachada", menos entiendes todo... y eso es un problema. Creo que son conocimientos paralelos y no son sustituibles en ningún caso.

Joder, yo soy el primero que usa librerías cuando cumplen su función, pero no puedes quedarte sólo con el nivel más abstracto porque te estás limitando.

1

Usuarios habituales

  • elkaoD
  • Buffoncete
  • Meleagant
  • dr_Rouman
  • m3l0