Posté le 27/08/2017 13:21
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 77 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 27/08/2017 15:11 | #
Je pose ça là, dedans tu trouvera un deux excellents articles, le premier sur les concepts à la base du bruit, le second sur la génération de map à partir de bruit. Par contre faut pas être allergique à la langue de Shakespeare, mais ça peut pas faire de mal.
http://www.redblobgames.com/
Noise functions concept
Map generation from noise
Ajouté le 27/08/2017 à 15:16 :
J'en profite pour faire quelques commentaires :
– Quelque soit la map que tu génères, le joueur peut attendre raisonnablement, entre 10 et 30 secondes je dirais, à condition que t'ai une barre de chargement digne de ce nom
– Ça implique que tu peux ne pas te limiter mathématiquement
– Fais juste bien gaffe à pas bouffer trop de RAM. Ça va vite sur les SH3
– Si tu demandes à Lephe, y'a moyen de récupérer pas mal de RAM, SH4-only.
Citer : Posté le 27/08/2017 19:20 | #
La RAM, c'est à 0x8840000, il y a 0x40000 (256k) octets de libres (a priori).
Si tu veux que le jeu tourne sur SH3, tu n'as à ta disposition que 48k de tas (malloc()) et 8k de mémoire statique (variables globales, statiques, initialiseurs, constantes, etc). En tirant à mort tu peux peut-être trouver jusqu'à 24k de plus mais je ne garantis plus la stabilité de l'add-in. x)
Après t'as la solution stockage dans la mémoire principale, où tu peux décemment attendre jusqu'à 16k de place, mais je ne garantis pas le temps d'accès.
Pour tout ce qui ne change jamais de valeurs, type les sprites, une déclaration en const static peut avantageusement envoyer les données dans la ROM en lecture seule. Plus faible vitesse d'accès, mais pas d'usage de RAM.
Citer : Posté le 28/08/2017 22:11 | #
J'ai écrit un article sur le bruit pendant mon stage à Dontnod, ça ne couvre pas le bruit de Perlin mais ça peut aider à comprendre le bruit, avant d'attaquer des trucs précis sur Perlin (j'ai surtout fait l'apologie du bruit bleu et montré quelques applications) :
Ajouté le 28/08/2017 à 22:13 :
Bon, l'extension que j'utilise pour capturer des pages a merdé à cause de la barre fixe en haut donc il manque quelques morceaux, désolé.
Ajouté le 28/08/2017 à 22:18 :
Pour générer le bruit de Perlin, on peut faire ça en empilant des textures de bruit blanc (complètement aléatoire) de différentes dimensions avec flou gaussien, mais c'est un peu goumand.
Un autre option pas mal est de générer le terrain en faisant du diamond-square depuis une matrice aléatoire : https://en.wikipedia.org/wiki/Diamond-square_algorithm
Ajouté le 28/08/2017 à 22:26 :
Là je suis en train de bosser, mais si tu veux skyper un jour pour en discuter je pourrai trouver un moment.
Citer : Posté le 28/08/2017 22:37 | #
Eh, tu veux pas publier ça ailleurs ? Je veux dire, t'as un serveur non ?
Parce que là, c'est tout sauf pratique… ><
D'autant plus que ça a l'air intéressant.
À propos de blue noise
Citer : Posté le 28/08/2017 23:03 | #
Mon code pour la génération de bruit bleu est un peu plus concis et lisible que celui de l'article mentionné par Darks : https://framabin.org/?bd5594c409b27f1e#2/rbbtFi8V3b1WZq7HpNvbs73OMWc0lLb+JBZQIfgPA=
Bien sûr ça peut assez facilement s'adapter en 1d ou 3d.
Citer : Posté le 29/08/2017 08:41 | #
Très intéressant ce que tu as écrit Louloux, merci bien
Ajouté le 29/08/2017 à 08:47 :
Pour les cavernes, tu peux simuler un déplacement de "ver de terre". Il avance d'un coté, et il a quelques chances de d'aller en bas, ou en haut (chance en fonction de sa profondeur). Et tu creuses 2 cases en dessous, 2 cases au dessus.
Avec une chance de se séparer en deux. Chaque vers de terre à une variable cachée, qui indique la profondeur à laquelle il va aller, sa durée de vie (quand elle est atteinte il remonte à la surface). Je vois bien le truc comme ça