Salut,
Je me présente, je m’appel 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 projet
Genè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 avancement
Exploration 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.
Objectifs
Dans 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
J'avoue que les 5000 commentaires comme quoi le jeu est nul et rempli de pub ont achevé de me convaincre de ne pas le télécharger.
Si c'est "juste pour apprendre ", pourquoi toutes ces pub ?
Parce que le playstore = "il n'y a pas de petit bénéfice", maybe?
C'est chaud, même minetest n'a pas autant de téléchargements, en même temps s'ils mettaient des monstres dans le mode de base...
L'éclairage est limite laid, tu avais prévu de travailler dessus l'auteur?
Salut Aramakiir et Caelacanthe,
J'ai réduit l'affichage des pubs depuis les dernieres mises à jour. Apres il est difficile de placer des pubs dans un jeu sans fin, sans que l'utilisateur soit gêné.
Pour l'éclairage, oui je pense améliorer ça (juste à adapter les paramètre des couleurs ambiante et diffuse). Et surtout ajouter les ombres (si le téléphone peut le supporter).
Merci d'avoir pris le temps de tester, et de me donner un retour .
"juste à adapter les paramètre des couleurs ambiante et diffuse"
Ca risque de ne pas être "juste" ça... Tout ce qui fait l'intérêt du design de minecraft est l'espèce de fake-ambiant occlusion, sans elle, il est pratiquement impossible que ce soit beau
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
Assez beau projet de ce genre entre autant d'autres.
Ce type de jeu contient "un peu" de pub dérangeantes.
Enfin ce qui est dit et ce que je respecte, sans originalité et c'est pour son APPRENTISSAGE donc arrêtez de tritiquer.
Cordialement.
Joli boulot et en C++, qui plus est.
A ce propos tu utilises une lib précise ? SDL, SFML STL ? le multi-thread est géré en C++ 11 ?
Salut, merci pour les commentaires
j'utilise SFML pour ouvrir une fenêtre sur windows et linux et y ajouter le contexte OpenGL.
Sinon le jeu tourne sur mon propre moteur qui utilise uniquement OpenGL. Et J'utilise p_thread pour des raisons de portabilités.
Salusalut à toi le dev je suis un grand fan des jeux "bac à sable " dur Android comme minecraft
Pe je suis entrain de télécharger votre jeux je fait un petit test avec la qualité au max et je vous dirait mon avis dans une petite demie heure sur votre jeux merci ☺
Plop,
J'ai reçu mon iphone 5C la semaine dernière afin de porter mes jeux sur la plateforme d'apple. Vendredi j'ai commencé le portage et bonne nouvelle j'ai fini le portage dimanche !
Si le portage à été aussi rapide, c'est grâce au peu de dépendances du projet : Opengl, pthread, fmod(pour le sond). Il ne me restait plus qu'à réaliser les wrappers en obj-c++, optimiser les shaders, revoir la gestion de l'importation/écritures des fichiers/assets et enfin adapter les events multitouch.
Je pense ajouter encore un peu de contenu avant de soumettre l'application sur l'appStore (le week-end prochain).
Salut, 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 pasage j'ai réussi à fixer ce bug grace aux services d'amazon : https://aws.amazon.com/fr/device-farm/ qui vous permet de tester votre applications à distance sur un large pannel 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 !
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
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...
http://www.martinjules.com/wordpress/wp-content/uploads/2015/11/final.gif
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
http://i.imgur.com/1JWGDLt.gif
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/
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, interrupteur, …) -l'eau dynamique (qui est actuellement elle est statique)
Après quoi, je passerais à un nouveau projet.
A bientôt !
C'est pas les derniers bugs du coup si tu rajoutes des fonctionnalités en même temps
Bravo pour tout le travail en tout cas !
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 :
http://i.imgur.com/WgKnQX0.gif
Du beau boulot ! Y a de la redstone ou équivalent ?