smartties Posted September 3, 2015 Share Posted September 3, 2015 (edited) Salut, Je me présente, je m’appelle Martin j'ai 20 ans et je suis étudiant à l'université. Je viens vous présenter un des projets sur lequel je travaille en ce moment : Exploration Craft En savoir plus sur le projetGenèse L'origine du projet, est un projet scolaire portant sur la création et la manipulation de fonction pseudo-aléatoire ( bruit de perlin...). A partir de cette base, je pouvais générer des paysages "aléatoire" en 3D, et c'est à partir de ce moment que j'ai décidé d'en faire un jeu sur mobiles. Généralités et avancementExploration Craft est un clone de Minecraft. C'est un jeu sandbox en 3D qui prend place dans un environnement cubique. Le jeu est actuellement jouable uniquement en mode "survival", bien que la partie multijoueur fonctionne, mais requièrent de nombreuses optimisations avant d'être disponible. ObjectifsDans un premier temps je souhaiterais améliorer les performances et la consommation de la mémoire.Puis gérer la création de Biomes, améliorer le multijoueur ( n'est pas accessible pour tout le monde actuellement )Et enfin je compte également porter le jeu sur IOS durant le mois de septembre si j'ai le temps. Le projet et son originalité Le projet n'a rien d’original. Le but du projet n'étant pas d’innové mais d'apprendre et acquérir de l’expérience en faisant un projet qui m’intéresse. Les technologies utilisées Le jeu est codé en C++ et j'utilise l'API graphique OpenGL sur windows et OpenGL ES 2.0 sur mobile et Fmod pour le Son. Bien qu'une version windows est disponible, je ne la distribue pas puisqu'elle n'est adaptée à la plateforme. Téléchargement : https://play.google.com/store/apps/details?id=com.mine.explorationcraft Voila, si vous avez des critiques/retours à faire sur ce projet, je vous écoute Edited April 29, 2016 by Smartties Quote Link to comment Share on other sites More sharing options...
smartties Posted September 15, 2015 Author Share Posted September 15, 2015 Petite Mise à jour du jeu avec au programme : - Amélioration de la génération de la carte. Avant j'effectuais le calcul dans un thread qui utilisait de la mémoire qui était également modifiée dans le thread principale, donc je devais faire des lock/unlock pour éviter toutes interférences. Le problème c'est que le thread de calcul faisait souvent patienter le thread principal, rendant alors l'utilisation du thread inutile. (Le thread fait des calcul assez lourd et dure 40ms sur un téléphone : lire_fichier->générer->créer la géométrie->création vbo et cela pour chaque chunk de 16*16*16 blocs) Bref, c'était mal implémenté. J'ai remédié à cela en séparant la mémoire nécessaire pour le calcul de manière à n'avoir plus d’interférences et d'attente entre les deux threads. Me permettant ainsi d'avoir un jeu très fluide. - Correction de bug graphique - plus de matériaux disponible C'est la derniere mise à jour avant le portage sur IOS Quote Link to comment Share on other sites More sharing options...
smartties Posted October 10, 2015 Author Share Posted October 10, 2015 Plop, le jeu bénéficie d'une nouvelle mise à jour : -Mode créatif et survival disponible -Le joueur peut maintenant choisir parmi 6 personnages -Refonte de l'interface graphique de l'inventaire et du menu des crafts -taille du jeu réduit, pour un total de 4.2 mo -Possibilité de voler en créatif -Optimisation de l'affichage (avec un gain de 10% ) et de la génération des chunks -Explosion des blocks de TNT (j'ai préféré le retirer du jeu pour l'instant, car ce n'est pas encore très bien optimisé). -Ajout d'option pour modifier : la distance d'affichage, activer lumières/brouillard/ombres, ajuster la sensibilité de la camera -Résolution d'un problème de shader sur certains téléphone, causant des chutes de fps considérable. La cause était l'appel de la fonction smoothstep qui n'était pas implémentée sur certains GPU (mali-400, adreno 420...) Au passage j'ai réussi à fixer ce bug grâce aux services d'amazon : https://aws.amazon.com/fr/device-farm/qui vous permet de tester votre applications à distance sur un large panel de téléphones. -Le portage sur IOS est enfin terminé et va être soumis sur l'appstore demain. Dites moi ce que vous en pensez ! Quote Link to comment Share on other sites More sharing options...
smartties Posted November 7, 2015 Author Share Posted November 7, 2015 (edited) Après une petite pause d'un mois dû à un autre projet Pixel Camera, et aux révisions, je reprends le développement du jeu. Une rapide mise à jour au passage : -possibilité de retirer les pubs -Disponible sur iphone : https://itunes.apple.com/us/app/exploration-craft/id1041796232 Edited November 7, 2015 by Smartties Quote Link to comment Share on other sites More sharing options...
smartties Posted November 24, 2015 Author Share Posted November 24, 2015 Le dév du mode multijoueur avance, j'ai encore pas mal de travail à faire, mais j'ai un prototype fonctionnel qui supporte 100 personnes de manière fluide dans les conditions les plus gourmandes pour le serveur. En attendant que ce mode soit disponible, je publie une mise à jour avec du nouveau contenu, comme de la TNT, porte, escalier, lit, échelle... Quote Link to comment Share on other sites More sharing options...
smartties Posted December 11, 2015 Author Share Posted December 11, 2015 Une version spéciale noël est disponible Des nouvelles textures plus de blocks, crafts et skin de la neige ! correction d'un bug avec l'AI des monstres https://play.google.com/store/apps/details?id=com.mine.snowcraft Quote Link to comment Share on other sites More sharing options...
smartties Posted January 7, 2016 Author Share Posted January 7, 2016 Mise à jour en approche : -animaux sauvages cochon/vache/ -biomes avec des villages pré-construit et des villageois -intégration d'un système d'achievements et d'un leaderboard mondial -un meilleur rendu graphique : Avant Maintenant Pour le rendu, j'ai implémenté l'ambient occlusion. http://0fps.net/2013/07/03/ambient-occlusion-for-minecraft-like-worlds/ Quote Link to comment Share on other sites More sharing options...
smartties Posted February 21, 2016 Author Share Posted February 21, 2016 Après une petite semaine de tests avec le mode multijoueur disponible pour les joueurs, j'ai décidé de fermer les serveurs car leurs locations est plus coûteuses que la marge ramenée par ce nouveau mode. Voila, je pense avoir atteins tous les objectifs que je m'étais fixé au départ de ce projet, donc je vais sortir la dernière mise à jour d'ici une semaine : -les derniers bugs (éclairage des torches et de certains objets) -ajouter une dizaine de nouveaux blocks (redstone, intérrupteur, ...) -l'eau dynamique (qui est actuellement statique) Après quoi, je passerais à un nouveau projet. A bientôt ! Quote Link to comment Share on other sites More sharing options...
smartties Posted April 27, 2016 Author Share Posted April 27, 2016 Salut, Bien que le développement du jeu soit terminé et travaillant déjà sur un autre projet, je continue de le maintenir avec des mises à jours mineures puisque de nombreuses personnes y jouent encore. Cette mise à jour contient : - Ajout de nouveaux npc : mouton, vache, cochon, panda et cheval. - Possibilité de faire spawn des npc en créatif. - Monter à cheval. - Un nouveau mode de caméra : permettant de faire tourner la caméra autour du personnage. - Correction du bug des dommages infligés par la TNT. - Gros gain de performance : refonte du code sur le système de stockage des chunks maintenant référencés sur des std::unordered_map Voila un gif pour illustrer certaines nouveautés : Quote Link to comment Share on other sites More sharing options...
smartties Posted May 21, 2016 Author Share Posted May 21, 2016 Nouvelle mise à jour du jeu :-De nouveaux biomes/paysages-ajout de coffre et système de stockage.-Amélioration des performances : réduction du nombre de drawcall ( agrandissement de la taille des chunks )-Possibilité de créer ses propre Skins : Du coté technique de l'éditeur de personnage, l'enjeu était de récupérer les coordonnées UV suggéré par la position du curseur. J'ai donc essayé deux méthodes :Pour la premiere méthode j'ai créé une deuxième texture de même résolution que la texture du personnage, sur laquelle j'assigne à chaque composantes Rouge et Vert de cette texture les coordonnées U et V de la texture en faisant à chaque points une interpolation entre les trois sommets du triangle. Ensuite en faisant un simple glReadPixels(souris.x, souris.y, ...), j'obtient directement les coordonnées UV sur lequel pointe la souris.Pour la deuxième méthode, je fais un lancé de rayon en parcourant l'ensemble des triangles à la recherche d'une éventuelle intersection. Je récupère le point d’intersection le plus proche de la caméra puis je calcule les coordonnées barycentrique de ce point d'intersection avec le triangle auquel il appartient. Et dernièrement je multiplie les coordonnées barycentrique avec les coordonnées UV des 3 sommets du triangle et j'obtient mon UV final.Une fois les coordonnées UV obtenue, il ne me reste plus qu'à peindre la texture, la mettre à jour...J'ai finalement choisi de garder la deuxième méthode, car elle est plus portable et plus harmonieuse à mon gout Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.