Pregunta

Quiero crear prototipos de una idea para un juego que tengo. La idea de este juego es que el jugador va a excavar a través de la tierra, la creación de túneles y la búsqueda del tesoro.

Busco para crear 'estilo gusanos' terreno, con detección de colisión para el jugador errante y saltar alrededor de los túneles. Ejemplos de este tipo de terreno dinámico se puede ver en estas fotos. Ejemplo 1 Ejemplo 2

Mi pregunta es ¿cómo es la mejor manera de implementar este tipo de terreno destructible? Estoy utilizando el estudio de juegos XNA.

¿Fue útil?

Solución

Hay un cierto código agradable en la parte inferior de la este hilo . Además, este es un gran tutorial paso a paso en la consecución de un terreno destructible.

EDITAR - El enlace para el segundo tutorial se rompió, por lo que he vinculado a una versión archivada de la misma.

Otros consejos

Riemer tiene un enfoque similar a un juego que desarrolló en XNA, proyectiles de cañón que el terreno que se "destruye" y cualquier puntales que eran previamente sobre dicho terreno se mueven en consecuencia.

Tiene que ser rediseñado y mejorado para sus necesidades, pero es un comienzo.

Riemer tiene una buena selección de tutoriales para otras cosas también.

http://www.riemers.net/eng /Tutorials/XNA/Csharp/Series2D/Adding_craters.php

Hay dos possibilties, eighter una obra, pero depende de XNA lo fácil que es poner en práctica:

  • Al igual que otros sugirieron, enmascaramiento de mapa de bits. Usted mantiene un mapa de bits de todos los píxeles "tierra" y todos los píxeles de "aire". Si usted tiene la gravedad; Un personaje no puede caer a través del suelo, mientras que el que pueda caer a través del aire.
  • geometría Vector. Se empieza con un "suelo" rectangular, y mantiene una lista de terreno "eliminado", que crea el aire. Esta geometría es muy fácil de editar: acaba de añadir un círculo o similar a la lista y actualizar los gráficos. No sé si tiene habilidades XNA vector y forma; pero debe ser fácil de crear geometría con estas dos cosas, y luego aplicar una textura o similar. Además, esto puede ser fácil de optimizar, manteniendo una versión en caché del paisaje prestado, y sólo actualizar la memoria caché del cuadro delimitador del "aire" que acaba de agregar. Esta solución requiere un poco más de matemáticas sin embargo.

Aquí hay dos ejemplos que se basan en sí de la manera de hacer esto con píxel shaders en XNA 4. Ambos ejemplos incluyen sourecode.

http://www.syntaxwarriors.com/2012 / XNA-alfa-correlación-con-píxel shaders /

http: //www.syntaxwarriors .com / 2012 / XNA-alfa-correlación-con-pixel-shader-y-rendertarget2d /

Hacer esto con sombreadores de píxeles es muy rápido ya que todo el trabajo pesado se realiza en la GPU.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top