Système de géométrie de Populous: The Beginning [fermé]

10

Je veux développer un jeu comme Populous: The Beginning avec mon ami. Mais nous n'avons pas pu découvrir quel type de géométrie ils ont utilisé pour le monde.

Nous savons que - toutes les tuiles ont la même taille - toutes les tuiles sont des carrés

Donc .. Ce ne peut pas être un Icosaèdre, car il y a des triangles, ni une géométrie de sphère standard, car toutes les tuiles n'ont pas la même taille.

Est-ce que quelqu'un peut m'aider?

FlashFan
la source
1
Étant donné que les gars d'Uber créent maintenant le jeu de mes rêves appelé "Annihilation planétaire", ils ont également partagé leurs pensées et leurs techniques sur la façon dont ils ont résolu les problèmes. Ce billet de blog de Mavor est vraiment génial: mavorsrants.com/2013/02/planetary-annihilation-engine.html
FlashFan
Ce n'est pas une réponse directe à votre question, mais vous pourrez peut-être trouver des informations utiles ici: gamedev.stackexchange.com/questions/56231/…
DaleyPaley
Je vote pour fermer cette question comme hors sujet, car elle concerne la façon dont un jeu spécifique a accompli une tâche spécifique.

Réponses:

6

Les triangles que vous voyez ne sont probablement qu'un produit du système de rendu - tout, en fin de compte , doit être décomposé en triangles pour le rendu.

Je vous suggère de faire ceci: recherchez dans google (images) "pavage sphérique". Vous aurez une idée des nombreuses façons de procéder. Votre jeu n'a pas besoin d'être pavé exactement de la même manière que Populous: The Beginning (qui, soit dit en passant, est un excellent jeu que j'adore). Cela signifie que vous n'avez même pas besoin d'utiliser de carreaux carrés, si vous ne le souhaitez pas; vous pouvez utiliser des hexagones, des triangles, des pentagones, des quadrilatères arbitraires comme les cerfs-volants, ou même une tessellation voronoi (polygones irréguliers et non répétés).

Ce qui est important dans toute tessellation utilisée pour la logique du jeu est la connectivité , c'est-à-dire le fait que votre "grille" forme un graphique (quelque peu) connecté à des fins de mouvement.

EDIT: Ce qu'ils ont probablement fait est quelque chose comme la mêlée de StarControl - ils ont en fait une grille 2D enveloppante (modulo en x et y). Ensuite, lorsque vous visualisez la sphère, vous ne pouvez voir qu'un seul hémisphère à la fois, ce qui permet de cartographier les tuiles sans trop de distorsion notable. Et à un zoom plus rapproché, tout aurait l'air parfait.

Ingénieur
la source
Le problème avec les carreaux non carrés est la texturation. Il est vraiment difficile de créer une image de texture, puis de calculer les UV pour la cartographier sur le monde. Si j'avais des carrés, ce serait aussi simple que possible. En utilisant A *, le pathfinding est facile avec toutes sortes de tuiles, je sais.
FlashFan
Le problème avec un projet en perspective 2D d'une sphère (comme utilisé sur les cartes du monde de la Terre) est que si vous obtenez des tuiles carrées, vous obtenez également une déformation: des tuiles de plus en plus petites vers les pôles. Qu'est-ce qui est le plus important pour vous, gérer facilement les difficultés de la cartographie UV ou vous assurer que vos tuiles sont bien réparties à des fins de logique de jeu? Si vous découvrez ce que P: TB utilise, je serais intéressé de le savoir.
Ingénieur
Je pense que les deux façons ne sont pas possibles pour moi ... Il y a un éditeur de carte pour P: TB où vous pouvez activer la grille. Il existe des carrés définitivement utilisés comme tuiles. Mais ce qui est étrange sur P: TB, c'est que vous pouvez voir la planète entière ou en voir une partie. Il n'y a rien entre. Je pense qu'ils auraient pu le truquer, de sorte qu'il ne ressemble qu'à une sphère à la fin. Mais je ne suis pas sûr ...
FlashFan
Je pensais juste à ça. Ce qu'ils ont fait est probablement quelque chose comme la mêlée de StarControl - ils ont en fait une grille 2D enveloppante (modulo en x et y). Ensuite, lorsque vous visualisez la sphère, vous ne pouvez voir qu'un seul hémisphère à la fois, ce qui permet de cartographier les tuiles sans trop de distorsion notable. Et à un zoom plus proche, tout aurait l'air parfait.
Ingénieur
^^ ok, alors je pense que c'est vraiment un faux. Le fait que la planète soit complètement ronde (pas de collines) lors de l'observation de la planète entière indique qu'il est utilisé une géométrie de sphère normale pour elle. Nous pouvons le voir ici: s.uvlist.net/l/y2008/09/53528.jpg
FlashFan
14

Le problème ici est que les cartes Populous ne sont pas du tout des sphères. Ils sont un véritable plan projectif , plus analogue à un tore plat manipulé à l'écran pour ressembler à une sphère qu'une sphère réelle.

Par exemple:

entrez la description de l'image ici

Le jeu se joue dans une perspective 3D à la troisième personne avec la caméra à une hauteur variable et capable de tourner à 360 °, permettant au joueur de se déplacer rapidement à travers le terrain de la planète, qui est en fait un véritable plan projectif plutôt qu'une sphère habituelle ; sur les cartes où il n'y a pas de brouillard de guerre, les joueurs peuvent voir à tout moment ce que font les adversaires. La prise en charge étendue de l'accélération 3D permet au joueur de visualiser le jeu en couleurs 16 bits ou 32 bits. [10] Le paysage et la construction de structures en temps réel et le mouvement des suiveurs sont également présentés.

Notez également ici:

entrez la description de l'image ici

Si la vue d'ensemble est de la moitié de la planète, comme c'est la mini-carte, pourquoi la mini-carte montre-t-elle tellement plus d'eau? Et pourquoi la texture de l'eau ne reflète-t-elle pas les vraies proportions d'une sphère en montrant un côté presque visible sur les bords?

De plus, comme indiqué dans les commentaires sur l'autre question, notez dans cette capture d'écran que la planète est parfaitement ronde:

entrez la description de l'image ici

S'il s'agissait d'une vraie sphère, nous serions en mesure de voir des collines et des objets dépassant du bord de la planète. Par exemple, voici l'annihilation planétaire, voyez les arbres et les falaises qui s'avancent à l'horizon:

entrez la description de l'image ici

Au lieu de cela, pour un jeu moderne, je conseillerais de tesseller un icosaèdre. Vous trouverez de nombreuses questions sur SO sur la façon de le faire dans un langage de programmation de votre choix

Tom J Nowell
la source