04-10-2007, 12:12 AM
(Modification du message : 04-10-2007, 12:13 AM par Bob le Pointu.)
Ça ne me semble pas mauvais comme méthode, peut-être un peu long si ta carte est longue.
Mais en tout cas, on peut l'améliorer.
Premier point, la création de la carte. Il existe pas mal d'algorithmes de génération de terrain naturel, ça peut peut être t'aider pour le début, à toi ensuite de placer les bâtiments.
Je me souviens d'un article dans un vieux magasine qui expliquait la façon dont ça marchait pour Civilization, mais impossible de le retrouver.
Donc, en attendant, tu peux essayer la technique du Perlin Noise (en).
Tu peux peut-être aussi utiliser un autre format d'image plus léger, ou utiliser ton propre format de fichier.
En l'occurence, si tu travailles avec une profondeur de 24 bits, cela signifie que tu peux avoir environ 16 millions de couleurs, soit 16 millions de types de terrain différents. Ca me semble énorme, donc je pense que 8 bits suffiraient.
Second point, l'insertion. Chaque pixel peut donc être codé sur une valeur numérique, allant de 0 à 255, il suffit que cette valeur numérique corresponde à l'identifiant de ton terrain pour pouvoir gagner du temps en évitant de faire un switch.
----
Tu peux gagner énormément de temps avec un format purement binaire où chaque octet serait l'identifiant de ton type de terrain. Plus besoin de calculer la couleur du pixel, il suffit de lire la valeur de l'octet.
Mais en tout cas, on peut l'améliorer.
Premier point, la création de la carte. Il existe pas mal d'algorithmes de génération de terrain naturel, ça peut peut être t'aider pour le début, à toi ensuite de placer les bâtiments.
Je me souviens d'un article dans un vieux magasine qui expliquait la façon dont ça marchait pour Civilization, mais impossible de le retrouver.
Donc, en attendant, tu peux essayer la technique du Perlin Noise (en).
Tu peux peut-être aussi utiliser un autre format d'image plus léger, ou utiliser ton propre format de fichier.
En l'occurence, si tu travailles avec une profondeur de 24 bits, cela signifie que tu peux avoir environ 16 millions de couleurs, soit 16 millions de types de terrain différents. Ca me semble énorme, donc je pense que 8 bits suffiraient.
Second point, l'insertion. Chaque pixel peut donc être codé sur une valeur numérique, allant de 0 à 255, il suffit que cette valeur numérique corresponde à l'identifiant de ton terrain pour pouvoir gagner du temps en évitant de faire un switch.
----
Tu peux gagner énormément de temps avec un format purement binaire où chaque octet serait l'identifiant de ton type de terrain. Plus besoin de calculer la couleur du pixel, il suffit de lire la valeur de l'octet.