J'ai ajouté un effet de déformation de l'espace quand la magie entre en collision avec quelque chose, légère et de 3 ou 4 blocs de large pour les bâtons magiques colorés, forte et se propageant comme une vague sur plus de 100 blocs pour le bâton magique noir:
(Sur le screen on voit pas grand chose, ce qui donne l'effet c'est surtout le mouvement de la déformation)
Une question, tu programmes toi même tes shaders ou tu les trouves quelque part ? Ou alors tu as un bon tuto pour le GLSL ?
En l'occurence y'a quasiment aucun shading pour cet effet, j'utilise un mesh que je déforme en collant un framebuffer contenant tout le rendu dessus.
Mais sinon, j'ai fait tout le shading du jeu moi même oui, j'ai juste suivi un cours sur OpenClassrooms, c'est pas trop mal expliqué.
Salut, est-ce que tu as suivi un tuto particulier pour apprendre à utiliser la libgdx ? Je trouve des tutos qui expliquent comment se servir de telle classe, puis d'une autre... mais rien n'est vraiment relié. Surtout que tous les tutos n'ont pas les mêmes pratiques.
Je n'arrive pas à savoir si ce que je fais est bon (ça marche mais je ne peux pas savoir si le code derrière est propre)
Le 04 mai 2015 à 11:48:19 hexabeast a écrit :
Normalement il suffit de "doubler" les bords de ta texture (genre sur du 8x8 pixels, ça deviendra du 10x10 avec la colonne 9 = la colonne 8, la ligne 1 = la ligne 2, la colonne 1 = la colonne 2...Ensuite suffit de prendre uniquement la partie de la texture qui t'intéresse (les 8x8 du millieu), et normalement y'aura plus aucun bleeding.
Je sais pas si tu le sais mais le texture packer de libgdx génère ça tout seul (j'avais longtemps fait ça à la main
)
Toujours aussi joli ![]()
@Ark
J'utilise mon propre texture packer codé en Python pour les textures des blocs ^^
Pour le reste j'utilise celui de libgdx au runtime
@Talk
Non désolé
@Beef
Merci ![]()
Le 17 mai 2015 à 20:37:55 TheTALC a écrit :
Salut, est-ce que tu as suivi un tuto particulier pour apprendre à utiliser la libgdx ? Je trouve des tutos qui expliquent comment se servir de telle classe, puis d'une autre... mais rien n'est vraiment relié. Surtout que tous les tutos n'ont pas les mêmes pratiques.
Je n'arrive pas à savoir si ce que je fais est bon (ça marche mais je ne peux pas savoir si le code derrière est propre)
Utilise le wiki officiel de LibGdx, il est plutot complet. Pour ce qui manque tu peux te débrouiller avec la javadoc + les sources du framework.
J'ai sorti une vidéo de l'effet de déformation, je trouve qu'on a du mal à se faire une idée du truc juste avec le screenshot:
http://youtu.be/TFza0aArXzk
Bon, j'update pas souvent ce topic, mais c'est juste pour dire que je suis en train de faire le multi depuis quelques jours grâce à la lib Kryonet pour Java. Pour l'instant j'ai un serveur capable d'envoyer la map aux clients et de servir de relais pour envoyer les infos (destructions de blocs, position du perso) mais sinon ça reste assez limité pour l'instant : la synchronisation des joueurs est pas top, et le serveur ne gère pas encore les entités autres que les joueurs. Je donnerai plus de précision quand ce sera plus avancé.
L'effet du baton noir est vraiment stylé ![]()
Ton jeu a vraiment de la gueule, je pense que maintenant ce qui manque crucialement ce sont les éléments de gameplay ![]()
Pour ce que je vois pour le moment, c'est une vraie merveille de développement amateur ton jeu, je t'applaudis de mes 3 pieds. En revanche y'a pas mal de points que j'aimerais éclaircir : J'ai l'intention aussi d'utiliser la libGDX mais pour faire un City Builder, et je me posais quelques questions, déjà qu'est-ce qu'un texture packer ? (J'ai l'habitude d'utiliser des librairies de bas niveau qui se limitent essentiellement à l'affichage d'image et la lecture de sons donc ces concepts me sont abstraits), un framebuffer aussi ? Sinon félicitations vraiment, bravo ! C'est super !
Merci à vous deux, et nounours c'est vrai, et c'est normal pour l'instant
Un Texture Packer permet de regrouper des textures sur une seule grosse texture, afin d'augmenter les performances du jeu (par exemple sur une tiled map l'optimisation peut-être vraiment énorme).
Un FrameBuffer c'est assez bas niveau, en gros c'est un endroit ou tu peux draw des textures comme tu le ferais à l'écran. Sauf qu'à partir de là, au lieu que tout soit direct affiché à l'écran, t'as une grosse texture de tout le rendu sur laquelle tu peux effectuer des modifications (par exemple moi je la met sur un Mesh en la déformant), ou appliquer des shaders, avant de la dessiner à l'écran.
Voila ![]()
Ah bah le Texture Packer, j'appelais ça un Tileset ... Mais dis-moi, tu veux dire quoi quand tu dis que ton Texture Packer est fait en Python ? ![]()
Merci sinon
!
Le 12 août 2015 à 06:17:55 Orionss a écrit :
Ah bah le Texture Packer, j'appelais ça un Tileset ... Mais dis-moi, tu veux dire quoi quand tu dis que ton Texture Packer est fait en Python ?
Merci sinon!
Non mais pour les tiles l'image qui contient tout c'est un tileset, c'est une appellation spécifique aux tilemaps, comme on peut dire d'une imagine contenant plusieurs animation que c'est un SpriteSheet. Un Texture Atlas (créé pas le Packer), plus généralement, est un regroupement de textures qui n'ont pas forcément de liens entre elles.
La baguette bleue .. Un bonheur ![]()
Gorz : ^^
Whiteapplex :
Je connaissais vaguement le concept de TCP et UDP, sans plus, mais j'ai juste eu besoin de la lib kryonet et d'un léger tutoriel montrant comment la lib fonctionnait pour me faire une idée assez vite de comment tout faire. Donc j'ai plus appris plus en tentant des trucs qu'avec des tutoriels, à partir du moment où je connaissais le fonctionnement de base ça m'a suffi.
Putain sa gère la fougère...
Allezzz, on veux la suite ;)
Pour montrer que malgré la lenteur extrême du développement depuis plusieurs mois, le projet n'est pas mort, j'ai ajouté des boutons "host" et "join" dans le menu pour le multijoueur (le multi est jouable mais les entités autres que les joueurs et les blocs ne sont pas sync pour l'instant donc c'est un peu bizarre).
La seule nécessité pour être hôte est d'avoir ouvert le port 25565 de sa box (j'ai pris le même port que minecraft pour le moment car des amis l'avaient déjà ouvert), ensuite les personnes qui veulent le rejoindre n'ont qu'à rentrer son adresse IP dans le menu principal.
J'ai aussi ajouté un chat en jeu et quelques commandes basiques, surtout pour les options de cheat, qui sont désactivées par défaut en multijoueur, mais également le /name <nom> par exemple qui permet de changer son pseudo dans le chat.
Vous pouvez tester ça, c'est très expérimental pour l'instant, mais en théorie ça devrait être à peu près stable :
http://hexabeast.com/TrucLatest.jar