-
@‘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
-
La 1.8 est un pur blasphème. Elle annonce la chute d’au moins 50% des moders ou des personnes ayant modé.
Elle va aussi annihiler un bon paquet de mod diffusés sur le net, pour difficulté de compatibilité.
Trop de changement en prévision, avec les API, seuls les codeurs Java de nature et déterminés pourront
suivre le rythme pour un bon paquet de temps avant de retrouver une situation plus ou moins stable pour une communauté de moders. -
Dites moi si je me trompe mais Forge est bien une API comme FML et modloader ? donc si il est a jour pour 1.8 les moders ne verront quasiment aucun changement.
-
Forge est bien un API, mais non, il verra beaucoup de changement car lorsque tu codes tu n’utilises pas que forge mais aussi beaucoup de code de Minecraft.
@‘Noxon’:
La 1.8 est un pur blasphème. Elle annonce la chute d’au moins 50% des moders ou des personnes ayant modé.
Elle va aussi annihiler un bon paquet de mod diffusés sur le net, pour difficulté de compatibilité.
Trop de changement en prévision, avec les API, seuls les codeurs Java de nature et déterminés pourront
suivre le rythme pour un bon paquet de temps avant de retrouver une situation plus ou moins stable pour une communauté de moders.Non. La 1.7 était la mise à jour la plus compliqué de l’histoire, la 1.8 ne sera pas aussi compliqué que la 1.7. Au programme, tout le système de rendu à changé (donc tout ce qui est rendu est à refaire), le système d’inventaire a été refait, les entités sont passés sur des UUID uniques. Et un autre petit changement assez facile mais répétitif, la plus par des fonctions avec :
int x, int y, int z vont devenir BlockPos pos. (avec pos.getX(), pos.getY() et pos.getZ())
ça fait largement moins de travail que la 1.7 qui a presque tout changés (système d’id géré par monde, UUID pour les joueurs, système de son refait).Par contre Lex et annoncé qu’il compte retravaillé une bonne partie du code de Forge et de FML afin de mieux l’optimiser donc il faut aussi s’attendre à du changement de ce côté.
Mais je m’attends pas à pire que la 1.7, peut être autant mais pas pire.