studio programacion móviles motor libro juego desarrollo curso crear como aplicaciones c++ physics

c++ - programacion - motor de juego 2d



Física del juego 2d? (11)

¿Alguien puede dirigirme a una biblioteca para física de juegos 2D, etc. para programar la gravedad, saltar acciones, etc. para una plataforma 2d / juego de desplazamiento lateral? ¿O podrías sugerir algunos algoritmos para el desplazamiento lateral como Mario, Sonic, etc.?



He usado Box2D en proyectos personales. Es una API de simulación física 2D. Pero, podría ser excesivo si lo que quieres es más una API gráfica / de juegos.


La física en la mayoría de los juegos de plataformas de desplazamiento lateral en 2D es tan simple que usted mismo podría implementarlos fácilmente. ¿Qué tipo de efectos estás buscando?


Podrías mirar el motor Havok. Creo que lanzaron una versión gratuita para uso no comercial. Existe un kit de restricciones que le permitirá restringir la física a 2 planos, en su caso, x e y.


Si tienes tiempo, puedes usar PhysX, pero es probable que sea una muerte excesiva para 2D. Además de eso, si planeas que tu juego funcione en una PC y quieres algo de física genial, intenta buscar en Google la "integración de verlet". Sé que hay bastantes implementaciones de verlet (buenas para partículas y muñecos de trapo 2D).


Su mejor apuesta es probablemente Box2D . Hace física en 2D, tiene toneladas de opciones y es muy fácil de integrar en un proyecto existente. CCD por defecto para cuerpos fijos, pero cualquier cuerpo rígido se puede incluir selectivamente en el cálculo del CCD.


¿Qué plataforma estás buscando? Qué biblioteca usará dependerá de esto.

Para el marco XNA, Farseer es bastante agradable.


Para responder a la segunda parte de su pregunta, si desea conocer cómo funciona un juego de plataformas en 2D, lea los tutoriales de N. Sí, N es un juego basado en flash, pero eso no significa que no esté construido como un juego "real", por lo que los tutoriales de detección de colisión (y respuesta) son muy aplicables. Son una lectura directa con algunos demos intuitivos integrados en la página para mostrar los conceptos geométricos.


Puedes hacer física 2d con opende también


Si todo lo que necesitas es gravedad, puedes programarlo tú mismo en 5 minutos. Los objetos de caída libre aceleran hacia abajo a 9.8 metros por segundo por segundo, es decir, la velocidad descendente de un objeto aumenta en 9.8 metros por segundo de caída libre. Para un juego, querrás dividir ese 9.8 por lo que sea tu velocidad de cuadro. Para saltar, simplemente elija una velocidad vertical negativa significativa, aplique eso al personaje en el instante en que salta, y disminuya su incremento de gravedad por cuadro. Eso es todo lo que necesitas para algo como Mario, a menos que estés buscando un fondo 3d para tu desplazamiento lateral en 2d.

Si quieres ser más elegante, puedes intentar tener en cuenta la fuerza de impacto de un objeto, haciendo que los objetos que caen dañen a las personas o rompan el pavimento o algo así. Para esto, use la fórmula de Energía cinética: KE = 1/2 * M * V ^ 2, donde M es la masa y V es la velocidad.


Parece que Chipmunk podría satisfacer tus necesidades.