[SEEDS]Recherche communautaire : Programmer les seeds

Mince je penserais qu'il dirait "okay, je refais tout"... Vite, un plan de sauvetage !
Ouais mais là je peux pas, je suis pas sur mon Mac, mais sur mon linux sous puissant, donc je peux pas le faire tourner :° (véridique, mais couillon, puisque le mac est à 5m de moi :D )
 
Feignasse XD

Sinon je vois pas en quoi le nom de la map change le spawn car sur les serveurs il n'y a pas de nom de map, et j'ai comparé avec le seed 1 avec serveur et client (nom de map Seed), c'est la même chose si on va à la même localisation...
 
Le nom peut faire changer le spawn, c'est prouvé ;)
Par exemple avec le monde "patapouf" et le seed "-0" j'ai pas d'océan :/
 
Ok
Alors je vous ai trouvé quelque chose qui pourrait être intéressant :

Seed AA (A = 65) donne 2080.
2080 / 65 = 32

32 = 2^5 (Je fonctionne sur un système 32 bits).

2080*2 = 4160, soit pas loin de 65*65 qui fait 4225.
4225 - 4160 = 65 (2^6 + 1)

Ca pourrait vous aider mais bon, ça peut être une coincidence ;)

Ensuite pour le code source :

public Random getRandomWithSeed(long l)
{
return new Random(worldObj.getWorldSeed() + (long)(xPosition * xPosition * 0x4c1906) + (long)(xPosition * 0x5ac0db) + (long)(zPosition * zPosition) * 0x4307a7L + (long)(zPosition * 0x5f24f) ^ l);
}

Trouvé dans chunk.java
 
de rien ^^

EDIT :
Seed BB : 2112
2112 - 2080 = 32 :confused:
4356 de 66*66 moins 2112 = 2244

Le seed 2244 est FJ

Je teste avec AA ;)

4225-2080 = 2145 (Seed CD)

Admettons que :
C = 3
D = 4
F = 6
J = 10

C'est pas proportionnel.
Donc tous mes calculs ne servent à rien, possibilité à exclure !

Autre chose :

J'ai mis dans le seed un caractère Windows Alt+255 ( ) (invisible)
La map se génère, et en seed, surprise, j'ai 160 ! (á)
 
Bon, j'ai pas le courage de lire les 25 pages du Topic, je sait donc pas trop ou vous en êtes, excusez moi si je vous raconte des salades :D

A mon avis, il y a deux types de seeds:
Le premier, "fictif", rentré par l'utilisateur. Ce seed est traité par une fonction du programme, ainsi que le titre de la map, qui le transforme en seed "réel" pour générer une map. Le seed "réel" est long, il a toujours le même nombre de chiffres, et c'est a partir de lui que se génère la map. (Je dis qu'il est long car pour génerer une map a partir de "A"... :confused: )

Autre élément important, quand on entre toujours le même seed avec toujours le même nom de map, la map reste la même, donc on exclue totalement l'utilisation de la fonction RANDOM dans la fonction qui génère un seed "réel"

A ce moment la, l’intérêt est de comprendre exactement, qu'est ce que la fonction fait subir au seed "fictif" et au titre de la map, et comment la map est générée a partir de ce seed "réel". Après on peut faire une fonction inverse, et faite un petit logiciel type QCM, ou on coche le type de map attendu.

Je ne suis pas sur de ce que j'avance, ce ne sont que des suppositions !

Ici, Mojang donne des elements de réponse tres interessants: http://minecraft.ign.com/articles/news/7315/Mojang-Explains-World-Seeds
(j'ai trouvé le lien au début de ce topic)
Par exemple:
"The map seed is only used by the world generator, and not for other stuff (such as spawn location)"

Et voila qui me confirme dans ma théorie :

Code:
 String seedString = "Hello World";
    int seed = seedString.hashCode();

La fonction qui transforme le seed "fictif" (ici, "hello world") en seed "réel" par la fonction hashCode();

Je répete, c'est une théorie, qui peut se réveler completement fausse ;)