Générer des spawners en survie vanilla, génération et fonctionnement.

Clen

pessimiste repenti
22 Février 2016
1 507
286
167
21
Lille
tu m'a l'air de t'y connaître bien plus que lui, c'est quoi cette histoire de hash ?
Non, je suis juste un rageux qui a lu un jour un tuto sur la Rainbow table.
En gros, un hash est une fonction (comme en math avec f(x)=trucchelou ) qui déforme un nombre de façon à avoir des difficultés à retrouver le nombre d'origine (d'où le nom hash qui signifie "hacher" : transformer). c'est surtout utile pour les mots de passe.
Par exemple, en utilisant la fonction de hash f(x)=(x+2)², si je choisis aze comme mot de passe sur un site en ASCII, cela donnera :
mot de passe : aze, donc 97122101 en décimal
f(97122101)=(97122101+2)²
f(97122101)=943270289avec15 chiffres en plus car la calculatrice arrondit
Du coup, on stocke 943270289truc sur le site. Ce chiffre s'appelle l'empreinte du mot de passe.
Si un utilisateur veut accéder à son compte, il tape une suite de lettre. Si ces lettres donnent la même empreinte que celle qui est stockée, cela veut dire que le mot de passe est bon.
Comme ça, en voyant 943270289truc, le hacker potentiel aura du mal à trouver le mot de passe, et il sera obligé d'essayer au hasard (ou alors avec des techniques spéciales telles que la Rainbow table, mais ça reste gourmand en calculs), alors qu'il suffit d'une simple calculatrice pour le site internet.
 
Dernière édition:

Nano_

Architecte en herbe
19 Avril 2016
78
26
107
25
Non, je suis juste un rageux qui a lu un jour un tuto sur la Rainbow table.
En gros, un hash est une fonction (comme en math avec f(x)=trucchelou ) qui déforme un nombre de façon à avoir des difficultés à retrouver le nombre d'origine (d'où le nom hash qui signifie "hacher" : transformer). c'est surtout utile pour les mots de passe.
Par exemple, en utilisant la fonction de hash f(x)=(x+2)², si je choisis aze comme mot de passe sur un site en ASCII, cela donnera :
mot de passe : aze, donc 97122101 en décimal
f(97122101)=(97122101+2)²
f(97122101)=943270289avec15 chiffres en plus car la calculatrice arrondit
Du coup, on stocke 943270289truc sur le site. Ce chiffre s'appelle l'empreinte du mot de passe.
Si un utilisateur veut accéder à son compte, il tape une suite de lettre. Si ces lettres donnent la même empreinte que celle qui est stockée, cela veut dire que le mot de passe est bon.
Comme ça, en voyant 943270289truc, le hacker potentiel aura du mal à trouver le mot de passe, et il sera obligé d'essayer au hasard (ou alors avec des techniques spéciales telles que la Rainbow table, mais ça reste gourmand en calculs), alors qu'il suffit d'une simple calculatrice pour le site internet.
Ah ok je comprend merci :D
 
  • J'aime
Reactions: Clen Vingt-trois

Clen

pessimiste repenti
22 Février 2016
1 507
286
167
21
Lille
Clen Vingt_trois, t'a jamais pensé a faire un vrais commentaire constructif ?
Tout est relatif.
+corriger l'orthographe et les anglicismes
+approfondir le sujet (reliage les chunks ou le rôle des différentes graines par ex.)
+ajouter les sources
+rendre le texte plus compact
 

Omeganx

Bucheron
21 Décembre 2016
18
19
14
D'accord, je te remercie de me signaler certaines fautes de syntaxe et d’orthographe, je trouve cela plutôt bienveillant de ta part. En ce qu'il s'agit de la phrase d'introduction, je dois en effet avouer qu'elle est plutôt maladroite. (Bien vu pour le 'h' de stronghold.)

Concernant la source, je me suis basé sur la vidéo de panda4994 (car c'est la vidéo qui m'a fait découvrir ce procédé, et de plus il y explique une partie de son fonctionnement), la vidéo est bien présente dans le post.
Le reste provient du code source de minecraft décompilé avec Minecraft Coder Pack et de quelques connaissances.

Comment peux-tu à partir de cette observation en déduire ces trois possibilités? Il n'y a aucun raisonnement, mais bel et bien ton avis personnel, ainsi aurais-je aimé quelques justifications.
(Le "tu plagies et tu n'as pas envie qu'on le sache" m'a bien fait sourire, ainsi que le "tu es un codeur professionnel qui créé des articles sans inspiration")

Pourrais-tu m'expliquer la pertinence du hash dans cet article, sachant que cet article est destiné à atteindre la majorité des membres du forum, de plus pourrais-tu justifier en quoi cet article est sans inspiration? Et dans ce cas là, quelle serait ma motivation? Mon but étant premièrement de partager certains aspects du jeu, mais aussi d'améliorer ma rédaction.

Pourquoi n'ai-je pas pas traité du bruit de perlin ? (ouais, je ne dis plus "perlin noise", car je vais me faire taper sur les doigts) Car mon but était de survoler les mécaniques du jeu qui nous permettent de pouvoir générer des donjons dans minecraft.

"comment sont reliés les chunks entre eux ? (je me souvient avoir lu Jeb_ disant que relier les chunks avait été très dur..)." Il me semble que jeb parlait des chunks générés avec des versions différentes (ces fameuses bordures toutes moches), à part ça, les chunks sont reliés entre eux exactement comme ils le sont entre blocs, on revient toujours au sujet du bruit de perlin (grossièrement cela permet de lisser le gênerateur aléatoire pseudo-random, par exemple, en 2D on rentre une valeur t ou x et celui-ci nous renvoie une valeur y tel qu'il y ait une continuité entre les valeurs. )

Si l'article te paraît incomplet (et c'est normal, j'ai survolé pleins de détails), c'est parce que je pense plutôt continuer ce genre d'articles en détaillant d'avantage.
 
Dernière édition:

Baator

Zero IQ
Ancien
31 Mai 2014
12 772
3 291
45
27
Loin à l'Horizon
Clen a été banni temporairement pour ses action "maléfique" pour reprendre son propre terme, à force d'être méprisant et rabaissant envers tout le monde, la goutte d'eau de trop ayant été ici et un autre topic.

Du coup Omeganx désolé que tu aies rencontré ce genre "d'autochtone" par ici, je te remercie encore d'avoir un peu animé la section avec ton topic très intéressant (ils sont relativement rares faut dire) et espère que ça n'a pas entamé ton envie de, comme tu l'as dit juste avant, détailler d'avantage avec d'autres sujets sur ce forum. ^^
 

Bzzank

Psychopathe qui aime les pates
16 Décembre 2013
555
30
134
Pour le jour ou Clen-23 reviendra : "méprisant et rabaissant envers tout le monde", c'est exactement pour ça que je dis que ce n'est pas constructifs. De plus tu vois bien que l'auteur ne le prend pas bien.
Ton message au lieu d’être la pour corriger les erreurs de l'article, est plutôt la pour humilier.

Sinon Omeganx, c'est super continu, y avait longtemps que je n'avait rien appris de nouveau sur Minecraft.
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Salut !
Très bon mini-tuto, ça m'a permis d'apprendre quelque chose sur les mécaniques de jeu que je ne connaissais pas et comme le disais Padouga, c'est assez rare d'apprendre de nouvelles choses sur le jeu ! ^^
Après, si tu le sens, tu peux très bien mettre quelques détails plus techniques en spoiler afin d'approfondir le sujet pour ceux qui connaissait déjà, de cette façon, ça ne nuit pas à la lecture et donc à la compréhension. Mais bon, c'est si tu le veux :p
Sinon, je suis preneur pour d'autres tuto dans ce genre :p
 

SirLius

Bucheron
16 Décembre 2016
39
5
13
36
Ce n'est pas la peine d'attirer le public avec des mots inutiles et un "on" utilisé comme un "nous".

Pour raccourcir, tu peux dire :
"le seed original est soumis à un hash pour donner les autres seed"

Voir la pièce jointe 70414

De quoi parles-tu, alors ?

Voir la pièce jointe 70416

Même avec des anglicismes, tu fais des fautes...

Pour conclure, c'est intéressant mais incomplet (comment sont utilisés les différentes graines ? comment sont reliés les chunks entre eux ? (je me souvient avoir lu Jeb_ disant que relier les chunks avait été très dur...) comment sont générés les coffres ?)
Et puis, tu n'as pas cité de sources, ce qui donne 3 possibilités :
1. Tu plagies et n'as pas envie qu'on le sache
2. Tu centralises des infos, mais tu as oublié de citer tes sources
2. Tu es un codeur professionnel qui a créé cet article sans inspiration (difficile à imaginer vu que tu n'a pas parlé de "hash")



ne voie tu pas ce que représente en temps un taff comme ça serieux tu n'a que ça a dire??? pffff désolant....
#Omeganx continu c'est génial ce que tu fait ^^
si tu cherche quelqu'un pour t'aider n’hésite pas ce sera avec plaisir ^^
 

Omeganx

Bucheron
21 Décembre 2016
18
19
14
je te remercie encore d'avoir un peu animé la section avec ton topic très intéressant (ils sont relativement rares faut dire) et espère que ça n'a pas entamé ton envie de, comme tu l'as dit juste avant, détailler d'avantage avec d'autres sujets sur ce forum. ^^

Sinon Omeganx, c'est super continu, y avait longtemps que je n'avait rien appris de nouveau sur Minecraft.

Salut !
Très bon mini-tuto, ça m'a permis d'apprendre quelque chose sur les mécaniques de jeu que je ne connaissais pas et comme le disais Padouga, c'est assez rare d'apprendre de nouvelles choses sur le jeu ! ^^
Après, si tu le sens, tu peux très bien mettre quelques détails plus techniques en spoiler afin d'approfondir le sujet pour ceux qui connaissait déjà, de cette façon, ça ne nuit pas à la lecture et donc à la compréhension. Mais bon, c'est si tu le veux :p
Sinon, je suis preneur pour d'autres tuto dans ce genre :p

Oui, l'idée des balises spoiler est une bonne idée, j'essayerais de l'utiliser la prochaine fois si cela me semble approprié.

#Omeganx continu c'est génial ce que tu fait ^^
si tu cherche quelqu'un pour t'aider n’hésite pas ce sera avec plaisir ^^

Cool, c'est sympa que cela vous plaise, je pense continuer à faire des articles sur le même aspect, que ce soit génération, mécaniques du jeu ou encore encore fonctionnement de certaines parties du code, je pense notamment à traiter de la partie apparition des créatures dans le monde pour la prochaine fois, mais je ne vous promet rien car j'ai peu de temps libre.

D'ailleurs, si vous voulez en savoir plus: http://technical-minecraft.wikia.com/wiki/Dungeon_Generation il s'agit d'un article que j'avais commencé il y quelques mois sur le wiki minecraft technique, c'est un peu plus poussé, il y a notamment des extraits de code et plus de détails sur la génération des donjons (coffres, spawner...). Cependant l'article n'est toujours pas fini, j'aimerais bien ajouter une partie manipulation du générateur de nombres aléatoires et des coordonnées des donjons, sachant que certains blocs peuvent changer la valeur aléatoire du chunk, on peut donc utiliser un algorithme afin de maximiser le nombres de spawner du même type dans un rayon de 16 blocs, par exemple j'ai déjà trouvé des configurations avec 20 spawner à squelettes (mais pour l'instant, cela n'est pas vraiment faisable en survie du fait qu'il y n'ait pas la place pour les machines volantes, déjà qu'avec 8, c'est plutôt compliqué), mon but serait de pouvoir faire un algorithme trouvant les bonnes configurations de donjons avec lesquelles l'utilisation de machines volantes est possible.

Je me permet d'éditer ce message afin d'y ajouter une vidéo montrant la génération d'un octuple spawner à squelettes il s'agit d'un timelapse réalisé en créatif, (mais qui est réalisable en survie pour le coup):
 
Dernière édition:
  • J'aime
Reactions: Oromis