1.8
-
Je veux dire que les snapshots sont déjà bien avancées
Personnellement j’attends avec impatience la version finale! -
Ils sont en train de taper des gros recodages, donc forge va encore morfler pour la 1.8 ! Youhou !
-
J’espère qu’on aurra le droit a de la vrai optimisation cette fois …
-
@‘Blackout’:
J’espère qu’on aurra le droit a de la vrai optimisation cette fois …
Tu as déjà codé un jeu en entier ? Minecraft est déjà optimisé (pas au max, ça c’est sûr) et Mojang a fait un énorme boulot là-dessus. Un jeu entier qui ne rame pas ne peut pas être aussi complexe que MC.
-
Minecraft n’est pas optimisé, puisque le client rafraichit et calcule tout les blocs non visible a l’écran.
Genre si tu es en +256 et qu’il y a 254 bloc opaque entre toi et le bloc 1, il va quand même faire des calculs sur le bloc 1.
Ce qui n’est pas normal. -
@‘Blackout’:
Minecraft n’est pas optimisé, puisque le client rafraichit et calcule tout les blocs non visible a l’écran.
Genre si tu es en +256 et qu’il y a 254 bloc opaque entre toi et le bloc 1, il va quand même faire des calculs sur le bloc 1.
Ce qui n’est pas normal.Je veux bien mais… et les entités ? Il faut bien qu’elles fonctionnent, même loin non ? (c’est une question hein
)
Et leur système de rafraichissement par tick ? C’est vraiment optimisé ça ? J’en ai pas l’impression perso… -
@‘EclipseOnFire’:
Et leur système de rafraichissement par tick ? C’est vraiment optimisé ça ? J’en ai pas l’impression perso…
Bah, si tu préfère rafraichir tout le jeu a chaque cycle ….
En gros, au lieu de faire des tonnes d’updates par secondes, tu en fait juste 20. La charge CPU est grandement réduite -
@‘Gugu42’:
Bah, si tu préfère rafraichir tout le jeu a chaque cycle ….
En gros, au lieu de faire des tonnes d’updates par secondes, tu en fait juste 20. La charge CPU est grandement réduiteNon tu rafraichis les entités chaque tick, sinon les graphismes des blocs, GUI etc… se rafraîchissent uniquement de manière événementielle. Je ne connais rien aux jeux, je peux très bien dire de la m**** ; je pars simplement du principe que si les développeurs Swing et AWT ont choisi la programmation événementielle c’est pas pour rien.
-
@‘EclipseOnFire’:
Je veux bien mais… et les entités ? Il faut bien qu’elles fonctionnent, même loin non ? (c’est une question hein
)C’est au serveur de gérer ça, pas au client
Et même en ayant réécrit le code de façon client/serveur, quand on est un client sur un serveur externe, au fait quand même les calculs.@‘EclipseOnFire’:
Et leur système de rafraichissement par tick ? C’est vraiment optimisé ça ? J’en ai pas l’impression perso…
Pour moi de la programmation evenementielle aurrait nettement moins consommée.
Puisque la tu as une sorte d’écoute passive. -
@‘Blackout’:
Pour moi de la programmation evenementielle aurrait nettement moins consommée.
Puisque la tu as une sorte d’écoute passive.On est d’accord ^^ ! C’est beaucoup plus optimisé. Quand je faisais mon launcher, j’ai dû utiliser des ExecutorsService pour les téléchargements et vu qu’il fallait mettre un while(executor.isTerminated()){} ou un wait()/notify() pour attendre la fin de tous les process O_o (ou alors créer soi-même son Executor et réécrire les events internes pour ajouter des listeners). C’est nul !
Donc les blocs vont utiliser des Strings au lieu d’Integers ? Bonjour l’optimisation…
Quelqu’un sait comment Minecraft sait-il qu’il y a un bloc à tel endroit par exemple ? Parce que sans les instancier (Block block = new Block(x,y,z); ) je vois difficilement comment ça peut marcher…
-
Non, les ids existe toujours en 1.7 et le seront toujours présent en 1.8.
Imagine la taille des maps si tout était des String o_O.
Lorsque tu lance ton jeu, tout est enregistré avec un nom sous la forme “modid:nom” (pour le bloc de minecraft le modid est minecraft), et lors du chargement de la map tous ces noms sont associer à des id. Et du-coup quand tu te connecte à un serveur, ça prend automatiquement les ids du serveur. -
Pour le placement de bloc, je pense que lorsqu’on fait clic droit avec un bloc il prend les coordonnées du bloc ou l’on pointe et si on peut placer, il le pose en enregistrant les coordonnées dans la map. Enfin ce n’est que de la logique et ce n’est peut être pas exactement ça.
-
@‘EclipseOnFire’:
Quelqu’un sait comment Minecraft sait-il qu’il y a un bloc à tel endroit par exemple ? Parce que sans les instancier (Block block = new Block(x,y,z); ) je vois difficilement comment ça peut marcher…
world.getBlock() ou quelquechose dans le genre.
-
@‘EclipseOnFire’:
Donc les blocs vont utiliser des Strings au lieu d’Integers ? Bonjour l’optimisation…
Non si j’ai bien compris, ils vont utiliser les énumérations

-
@‘Gugu42’:
@‘EclipseOnFire’:
Quelqu’un sait comment Minecraft sait-il qu’il y a un bloc à tel endroit par exemple ? Parce que sans les instancier (Block block = new Block(x,y,z); ) je vois difficilement comment ça peut marcher…
world.getBlock() ou quelquechose dans le genre.
Une instance de Map <string, block=“”>où sont stockés les ids (donc pas de changements par rapport aux tableaux de Blocks, même plus léger) puis getBlock(x,y,z) prend l’ID à tel endroit et regarde la map pour savoir le bloc ;)</string,>
-
Si seulement ils pouvaientt développer un système de téléchargement de mod pour serveur …
du genre tu te connecte a un serveur et les mods de se serveur se téléchargent de façon auto sur ton ordi (un peu comme garrys mod), plus besoin de launcher et autre ! -
C’est un peu, ce qui est prévu avec l’API. Mais le launcher sera toujours présent sinon comment tu lances le jeu.
-
@‘Superloup10’:
C’est un peu, ce qui est prévu avec l’API. Mais le launcher sera toujours présent sinon comment tu lances le jeu.
Je crois que c’est déjà possible avec les profils custom

-
Malheureusement ça risque d’ouvrir pas mal de faille de sécurité.
L’utilisateur ne devra plus être vigilant quand il utilise des mods mais quand il rejoins un serveur
-
Blackout, tu devrais regardé un peu plus ce qui est prévu avec l’API de Mojang : http://minecraft.gamepedia.com/Plugin_API
