Modelo de elevación para cuadrículas de juego hexagonales.

16

TL; DR:

¿Dónde se debe anclar la elevación en una cuadrícula hexagonal de estilo cívico? Centro, lado o vértice? (¿O más complejo?)

Pregunta propiamente dicha:

Considere por un momento un juego clásico que todos conocemos y amamos (¿tal vez?), Alpha Centauri de Sid Meier. El modelo de mapa introdujo el nuevo concepto de elevación del terreno visible a la fórmula clásica de Civ. En SMAC, cada vértice del tablero de juego tenía una elevación, lo que permitía al mapa hermosas colinas ondulantes, una necesidad completa, teniendo en cuenta que el gusano mental hierve esperando en cada esquina.

¿Se traduciría un mapa de elevación de solo vértices a una cuadrícula hexagonal?

Las alternativas obvias son el mapeo de elevación basado en los lados y el mapeo de elevación basado en el centro; así como el mapeo de elevación del vértice interno (¡dando la oportunidad de acantilados! ¡Yay!)

La última opción es aplicar una red triangular a la cuadrícula del juego que abarca centros y vértices, y que tiene una elevación de vértice solo o vértice interno.

¿Cuál de estas opciones es probable que funcione bien? ¿Qué es probable que succione todo el jugo de la CPU y la RAM a toda prisa?

Williham Totland
fuente

Respuestas:

10

¿Se traduciría un mapa de elevación de solo vértices a una cuadrícula hexagonal?

Depende de la teselación de la cuadrícula. Si teselas tu avión así, entonces sí.

Rejillas

En este caso, puede cambiar el triángulo verde (x6) de la forma que desee: hextri

¿Cuál de estas opciones es probable que funcione bien?

Todos funcionan bien. Lo más probable es que esté utilizando múltiples métodos, de todos modos. No se puede simplemente utilizar la elevación del punto medio a menos que quieran características montañosas de un azulejo, que tendría que "subir" los bordes a medida que suben una montaña si desea que la topografía de tejas múltiple.

¿Qué es probable que succione todo el jugo de la CPU y la RAM a toda prisa?

Esto no es un problema (a menos que esté escribiendo esto para algún tipo de sistema integrado), ya que todo el trabajo de generación de mapas se realizará antes de que alguien juegue el juego, durante la fase de carga.

David Titarenco
fuente
Por elevación del punto medio me refiero a una situación en la que solo puede establecer y almacenar la elevación para el punto medio; Si dos hexes tienen elevaciones lo suficientemente diferentes, los bordes a su alrededor se levantarían para que coincidan con las elevaciones de sus caras. (por ejemplo, 1,1 tiene una elevación de 3; 1,2 tiene una elevación de 5: la cara 1,1: 1,2 tiene una elevación de 4 cuando se representa).
Williham Totland el
1
No es un problema en tiempo de ejecución porque necesitarás poder calcular rutas para movimiento, diferencias de altura para ventaja de combate, etc. Puede que no sea un problema en tiempo de ejecución porque una docena de flotadores más por hex no son realmente tan malos en la mayoría de las plataformas, pero los datos aún deben estar allí para usar el mapa.
-1

Genial que al menos alguien más haya pensado en esto. Para mal, solo encuentro esta página varios años después. Sin embargo, voy a responder su pregunta para los hexágonos básicos en su lugar. Las imágenes que se han mostrado hasta ahora no son 100%. Y en un mapa de 1 metro, la cuadrícula estará fuera de forma. Lo que significa que no es posible un giro de 60 grados.

He estado experimentando en:

  • Diferentes tamaños de hexágonos: qué base de triángulo (en píxeles) proporciona la mayor precisión en mapas de 1 metro una vez impresos. Esto incluye tenerlos tan perfectos como sea posible al convertirlos en 60 grados. También al girarlos 180 grados para volver a colocarlos.

  • Diferentes capas combinadas de hexágonos.

  • Hexágonos individuales para recortar imágenes muy detalladas (RAM = insuficiente en mapas grandes).

  • Los límites exactos de mi computadora más lo que siento es permisible.

Todavía no experimenté la elevación haciendo hexágonos de diferentes formas. Pero sí sé que la base debe ser correcta antes de realizar la elevación.


Resumen:

  • Precisión de 1 mm o menos en un mapa de 1 metro. La regla de los 60 grados.

  • Necesito líneas que puedan caber por sí mismas cuando se giran 180 grados.

  • Necesito que el triángulo se ajuste a mi pantalla con el zoom máximo.

Reduje mi selección a 3 con estas reglas:

Pequeño:

  • Talla; +26 x +45, 27 x 46 píxeles

  • Inexactitud en 1 metro; 0,74 mm

  • Secuencia; 131213131312131

Medio:

  • Talla; +41 x +71, 42 x 72 píxeles

  • Inexactitud en 1 metro; 0,20 mm

  • Secuencia; 1312131313121313131312131

Grande:

  • Talla; +56 x +97, 57 x 98 píxeles

  • Inexactitud en 1 metro; 0,05 mm

  • Secuencia; 1312131313121313131213131312131

Los de uno son de 1 píxel.

Los dos y tres son grupos de 2 píxeles. A 2 tiene 4 píxeles en total y A 3 tiene 6 píxeles en total.

Si agrega una secuencia hacia arriba, verá que tienen el ancho en píxeles. Si los suma y cuenta 4 y 6 en lugar de 2 y 3. Obtiene la altura en píxeles.

Los números + son lo que agrega en píxeles cuando coloca 2 triángulos uno encima del otro o uno contra el otro.

Siéntase libre de hacer preguntas. En mi correo

Ramon
fuente
1
No está claro cómo está abordando la pregunta real. Usted ha discutido el tema de alguna manera, aunque su punto general también es difícil de aislar. ¿Qué tienen que ver estos tamaños de píxeles con la geometría hexagonal y la elevación?
Seth Battin
1
Otra cosa: StackExchange no es un foro tradicional. La información útil debería incluirse en la publicación, y los lectores no deberían necesitar enviarle un correo electrónico para obtener una respuesta completa. Además, debido a que este no es un foro, no hay forma de que las personas vuelvan a cuestionar su respuesta. Por lo tanto, no solo es inapropiado invitar preguntas, sino que no funcionará. Ver gamedev.stackexchange.com/help/how-to-answer .
Seth Battin