Título: [+] Juego plataformista en C++ Publicado por: Regexp en 8 Junio 2015, 19:10 pm Buenas, soy nuevo en esta comunidad y hoy quiero traer un aporte. EL siguiente código lo hice hace un par de meses a manera de prueba de SFML y Box2D. Más que un juego completo (niveles, menús, etc), se buscaba aplicar los conceptos básicos de las herramientas antes mencionadas.
SFML: es una librería que proporciona una capa a OpenGL para trabajar gráficos. Además de esto, da también otras características interesantes relacionadas con multimedia (sonido, por ejemplo) y networking (para juegos online). Es open source y además multiplataforma (puede, de hecho, compilarse para Android utilizando las herramientas correspondientes). Pagina principal: http://www.sfml-dev.org/ Box2D: es un engine para simulación física en dos dimensiones, proporciona una serie de características útiles. También es open source y además es multiplataforma. Pagina del proyecto: http://box2d.org/ (Un dato interesante es que es utilizado en varios Game Engines, dado que es muy eficiente en sus algoritmos) Como funciona: en primera instancia se lleva acabo un paralelismo entre pixeles y metros. Al momento de proporcionar información a los objetos de Box2D se hace la conversión correspondiente, y al dibujar en pantalla se hace exactamente lo mismo. Qué tener en cuenta del codigo fuente 1. El juego se hizo bajo Windows con Visual Studio, por lo tanto, para compilarlo en otras plataformas habría que hacer un par de cambios menores (una o dos líneas) 2. No es un juego completo, pero pienso que ilustra varios conceptos básicos como la pila de cuerpos de un mundo (Box2D) y los métodos más frecuentes de SFML, como crear sprites, renderizarlos, tomar teclas por pantalla, etc. 3. Para poder compilar es obviamente necesario tener las clases mencionadas arriba, en las páginas oficiales encontrarán información acorde a diferentes IDE y SO. Enlace de descarga para codigo fuente dado que son varios archivos he decidido ponerlo en mediafire, y aquí, nada más el main.cpp http://www.mediafire.com/download/0j8ab99e9fyzhkn/pltaformista.tar.gz (http://www.mediafire.com/download/0j8ab99e9fyzhkn/pltaformista.tar.gz) El comprimido contiene: main.cpp Player.cpp / Player.h (objeto que representa el jugador) Blocks.cpp / Blocks.h (objeto que representa plataformas) Constants.h (constantes que se usan a lo largo del resto del código) Acá el main.cpp Código
Screenshot (http://www.dropmocks.com/iI1S9K) El bloque que está arriba, puede empujarse, caer, etc.. y luego usarlo como plataforma. El resto de las plataformas no se mueven, son estáticas. Bueno, eso es todo por ahora, acepto sugerencias y críticas. Si hay algunas personas interesadas, haré un tutorial (o más) detallado(s) sobre este tema. Saludos ::) Título: Re: [+] Juego plataformista en C++ Publicado por: engel lex en 8 Junio 2015, 19:14 pm te recomiendo probar angel engine 2d :P seguro te ayuda mucho! ya que une todas las librerías y resume codigo... alguna vez lo usé y te resume mucho trabajo en relacion a SFML
http://angel2d.com/ (http://angel2d.com/) Título: Re: [+] Juego plataformista en C++ Publicado por: 0xFer en 8 Junio 2015, 20:16 pm se ve interesante, gracias por el aporte :laugh:
Título: Re: [+] Juego plataformista en C++ Publicado por: Kaxperday en 8 Junio 2015, 21:22 pm Todos aquellos que empiezan en el foro deberían de dejarse de mensajes como "ayuda jackear wifi del vecino" y hacer aportaciones desde el mensaje 1 XDDD
Saludos. Título: Re: [+] Juego plataformista en C++ Publicado por: Regexp en 12 Junio 2015, 19:05 pm Me alegra que les haya gustado. Si necesitan ayuda para probarlo/compilarlo solo avisen por acá. En linux es muchísimo mas facil poner a funcionar el Box2D y el SFML. Quizá sea la mala costumbre que te da Windows de querer configurar siempre los IDE para cualquier cosa por pequeña que sea. Ultimamente en linux me ha gustado más compilar directamente por consola con bash o con CMake.
te recomiendo probar angel engine 2d :P seguro te ayuda mucho! ya que une todas las librerías y resume codigo... alguna vez lo usé y te resume mucho trabajo en relacion a SFML http://angel2d.com/ (http://angel2d.com/) Lo tendré en cuenta engel lex, hay varios proyectos interesantes por ahí que se pueden realizar. Investigaré sobre ello, gracias ;) Saludos |