2008-09-19 25 views
12

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

Respuesta

22

Parece que Chipmunk podría cubrir sus necesidades.

+0

Oh, eso es genial. –

5

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

Para el framework XNA, Farseer es bastante agradable.

+0

mí en busca de combo Allegro + GCC –

2

Puede ver 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.

2

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

+0

básicamente un montón de saltos dinámicos y rebotes –

2

Si tiene tiempo, podría usar PhysX, pero es probable que sea una muerte excesiva para 2D. Además, 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).

2

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.

12

Su mejor opción 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.

+0

me encanta chipmunk y box2D gracias! –

9

Si todo lo que necesita es la gravedad, puede programarlo usted 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 de 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 quiere ser más elegante, puede tratar de tener en cuenta la fuerza de impacto de un objeto, haciendo que los objetos que caen lastimen a las personas o rompan el pavimento o algo. 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.

2

Usted puede hacer física 2d con opende así

4

Para responder a la segunda parte de su pregunta, si desea para obtener una idea de cómo funciona una simple plataforma en 2D, lea a través del tutorials for 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.

+0

tienes razón, libs como box2d, chipmunk son geniales pero te toma mucho tiempo implementarlas y acostumbrarte. Desde que estoy obligado a terminar el desarrollo de 28, lo que necesito para reducir algo de complejidad del juego, como posibilidad de un terreno desigual y llegar a algunos de los métodos más simples de aplicación universal en lugar de –

+0

... bibliotecas y códigos ... –

+0

finalmente hice un juego llamado nincompoop, debía estar terminado el 30 de septiembre, por lo que no dio los toques finales - intente aquí http://www.bidworkz.com/hfn/nincompoop_shaastra.zip –

Cuestiones relacionadas