CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [Jeu Android] Exploration Craft

DébutPage précedente
12
Page suivanteFin
smartties smartties
MP
Niveau 6
06 septembre 2015 à 20:53:43

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

https://www.noelshack.com/2015-36-1441309754-screenshot-2015-09-01-02-42-31.png https://www.noelshack.com/2015-36-1441309790-screenshot-2015-09-01-02-42-49.png
https://www.noelshack.com/2015-36-1441309805-untitled.png https://www.noelshack.com/2015-36-1441309815-untitled2.png

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 questions./critiques/retours à faire sur ce projet, je vous écoute :)

papy386 papy386
MP
Niveau 10
14 septembre 2015 à 02:51:08

Hum utiliser les textures de minecraft c'est pas trés "réglo".

Sinon que fait tu avec ton bruit de perlin, un bete diamond square pour le terrain? a tu prévus des couches de biomes pour le "réalisme"?

Personnellement j'utilise le perlin dans un cube pour avoir une "vrai" génération 3D et non sur une grille comme 90% des projets de terrain en perlin et toi?

Romuald_78 Romuald_78
MP
Niveau 5
14 septembre 2015 à 12:57:53

Pour mon VDD :

Sinon que fait tu avec ton bruit de perlin, un bete diamond square pour le terrain?

Bruit de Perlin et Diamond Square pour moi ce n'est pas du tout équivalent.
Dans les deux cas tu utilises un générateur pseudo aleatoire, mais les points communs s'arretent là ... ou bien j'ai loupé qq chose.

Personnellement j'utilise le perlin dans un cube pour avoir une "vrai" génération 3D et non sur une grille comme 90% des projets de terrain en perlin et toi?

Je n'ai pas bien compris de quoi tu parles : mon interpretation de ta phrase c'est que utilises un bruit coherent 3D au lieu d'un bruit 2D : est-ce correct ?

--------------------------------

Pour l'auteur :

Pour creer les biomes, j'utilise une maniere simplifiée : je prend deux parametres qui sont temperature et humidité. L'humidité est un bruit coherent 2D avec une période plus grande que celle du terrain. La temperature, est juste une valeur dependante à la fois de la hauteur et de la latitude (la distance par rapport au milieu de la carte quoi) et avec ces deux parametres j'ai un tableau de biome comme un peu sur cette page :
[https://fr.wikipedia.org/wiki/Biome#/media/File:Holdridge_FR.png]
ou bien sur le diagramme de Whittaker
[http://www.marietta.edu/~du/~biol/biomes/whittaker.jpg]

Si vous avez d'autres idées sur le sujet cela m'interesse.

Message édité le 14 septembre 2015 à 13:00:57 par Romuald_78
smartties smartties
MP
Niveau 6
15 septembre 2015 à 13:29:07

Salut papy386 et Romuald_78,
Merci d'avoir pris le temps de répondre.

j'en profite pour faire une petite mise à jour (disponible dans l’après midi).
C'est la dernière avant le portage sur IOS.

Aucune texture provient du jeu minecraft ou autre jeu. Le jeu n'enfreint aucun droit. Si c'était le cas, le jeu aurait déja été banni avec plus de 2 millions de téléchargements...

Personnellement j'utilise le perlin dans un cube pour avoir une "vrai" génération 3D et non sur une grille comme 90% des projets de terrain en perlin et toi?

Tu veux dire que tu n'utilise pas un système de heightmap du genre " z > perlin(x, y) ? AIR : TERRE" ?
En développant sur mobile, je dois prendre en compte un grand nombre d'utilisateurs qui possèdent des téléphones pas très puissant ( processeur avec fréquence < 1Ghz ) et avec des capacités graphiques limitées. Pour ce genre de téléphone je génère les cartes avec un simple bruit 2D, et je désactive les lumières et d'autres choses.
Pour les autre téléphones, je reprends le même système, en y ajoutant la génération de grotte/d’île en utilisant un bruit avec 3 paramètres (x,y,z).

Mais jusqu'à maintenant j'utilisais cette technique car ma génération des chunks étaient très mal optimisée. Et surtout, les threads dans lesquels je lançais les calculs, bloquaient mon thread principale. Bref ça revenait quasiment au même que de faire les calculs dans le thread principale... Mais j'ai récemment réglé ce problème ce qui va me permettre de générer des paysages plus détaillés et diversifiés, sans faire chuter le framerate.

Merci pour ton explication et les liens Romuald, je pensais justement implémenter les biomes dans le jeu.
Je pense que ça va m'être m'être utile. Malheureusement je n'ai pas grand choses à partager, mon jeu est assez basique.

Message édité le 15 septembre 2015 à 13:29:33 par smartties
Triple14 Triple14
MP
Niveau 10
15 septembre 2015 à 17:20:39

Salut,

Ce que tu as fait m'impresionner, ça a l'air solide et sérieux, bravo pour le travail.
Ma question est d'ordre philosophique : POURQUOI imiter Minecraft, même ne serais-ce que sur la forme ? Avoir un ordi et savoir programmer, c'est être un petit dieu, c'est avoir les pleins pouvoir pour créer un monde. Alors pourquoi imiter ce qui existe déjà ? (bien sûr il est difficile de se démarquer, mais je parle d'essayer tout du moins).

smartties smartties
MP
Niveau 6
15 septembre 2015 à 17:48:13

Salut Triple14,

Je ne vois pas ce projet comme la création d'un jeu original, mais bien comme un clone/une alternative aux jeux Minecraft PE. Pour voir si je suis capable de produire une alternative à la version Minecraft PE (qui au passage est un monstre d'optimisation comparé à mon jeux).

Voila, mon but n'est pas de créer un jeu, mais juste de m'améliorer sur des projets sympa.
Apres le développement du jeu n'est pas terminé. Il se peut que plus tard j'essaie de me démarquer.

Romuald_78 Romuald_78
MP
Niveau 5
15 septembre 2015 à 21:19:41

Personnellement, un univers de type voxel, généré de manière procédurale te fait aborder des thèmes techniques très poussés.

Premièrement la generation du monde :
- générateur pseudo aléatoire
- bruit cohérent (2D ou 3D ici dans le jeu)
- génération du relief + grotte
- gestion des fluides (rivieres, cascades)
- les biomes
- la végétation (comment faire des vegetaux qui ressemblent à qq chose en voxels)

Deuxièmement la creation du mesh 3D
- ajout suppression des cubes dans le mesh
- acces GPU si dispo
- algo de niveau de détail qui diminue avec la distance
- file system pour generer les chunks modifiés (si modifié, on le charge depuis le disque, sinon on genere depuis le modele)

Troisièmement :l'optimisation des ressources
- utilisation des différents proc (architecture avec thread)
- utilisation de threads GPU (comme avec OpenCL) si dispo
- algo qui va optimiser le parcours des chunk generes (octree-like) pour permettre un affichage des chunk de "surface" en premier (sinon ton algo va surement afficher des chunk situes sous la surface avant d'autres)
- autres optimisations dans le modele comme un cache de certaines données pour accélérer la generation.

Quand tu vois des jeux comme minecraft ou lego worlds le seul truc qui peche si on peut dire : c'est la distance de vision. En fait tous ces jeux ont les meme problématiques qui sont de vraies sources de travail.

Pour resumer ma pensee : je dirai que copier un jeu comme minecraft c'est un exercice très difficile mais extremement formateur.

ticki84 ticki84
MP
Niveau 10
16 septembre 2015 à 14:56:15

Le 16 septembre 2015 à 07:51:11 bluepoint_ a écrit :
Hé c'est drolement intéressant votre sujet là, c'est vrai que je me suis souvent demandé collent le terrain était formé dans Minecraft sans jamais aller me renseigner.

Si quelqu'un a des liens vers des papiers sur le sujet ou des mots-clefs à chercher chuis preneur (là je regarde bruit de Perlin sur Wiki mais j'vois pas encore bien comment ça s'applique au sujet)

Tu as juste à décompiler Minecraft et regarder le code source (en Java) pour apprendre :)

Romuald_78 Romuald_78
MP
Niveau 5
17 septembre 2015 à 10:59:21

Pour les biomes, la page wikipedia est pas mal pour expliquer les paramètres qui le définissent:
[https://fr.wikipedia.org/wiki/Biome]

Pour les bruits cohérents je trouve ce tutoriel très bien fait :
[https://openclassrooms.com/courses/bruits-et-nombres-aleatoires-coherents]

smartties smartties
MP
Niveau 6
28 septembre 2015 à 15:01:31

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 !

https://www.noelshack.com/2015-40-1443444483-eeee.png

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).

smartties smartties
MP
Niveau 6
10 octobre 2015 à 19:49:30

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 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 !

pierre135b pierre135b
MP
Niveau 10
12 octobre 2015 à 18:31:30

Alors.. comment tu codes en C++ sur Android ? Cela m'intéresse énormément ! J'aimerais faire des app android mais Java :malade: C++ :coeur:
Tu utilises quel éditeur, tu as commencé ou?

Message édité le 12 octobre 2015 à 18:31:43 par pierre135b
Bunyan Bunyan
MP
Niveau 15
12 octobre 2015 à 22:57:52

pierre135b : une petite réponse : via JNI. Android Studio commence à intégrer le support C++ et JNI d'ailleurs.

smartties smartties
MP
Niveau 6
12 octobre 2015 à 23:35:32

Salut, En effet c'est grâce aux Jni/ndk. J'ai commencé à développer sur mobiles en C++/java il y a 3 ans maintenant. A l'époque il n'y avais pas trop de tuto pour le ndk. Donc j'ai appris avec la documentation et le code sources des exemples. Aujourd'hui, j'utilise Notepad/Codeblock pour les applications native(c++), vu qu'elles sont également compatible Win/linux. Et eclipse pour les apps purement en java.

DaMoY DaMoY
MP
Niveau 10
13 octobre 2015 à 14:27:29

Intéressant :) bon travail :ok:

J'aurai une petite question, ça t'es revenu à combien de budget pour développer un tel jeu (tout compris) ? :merci:

Message édité le 13 octobre 2015 à 14:29:03 par DaMoY
smartties smartties
MP
Niveau 6
13 octobre 2015 à 18:18:09

Salut Damoy, Merci pour le retour.

Les graphismes de ce jeu m'ont coûtés 200. Pour le marketing, je n'ai rien dépensé. J'ai utilisé la base d'utilisateurs que j'ai acquis avec mes autres applications afin de faire de la cross-promotion. Et pour le dév j'utilise mon propre moteur.

Donc en tout ce jeu m'a coûté 200euros

DaMoY DaMoY
MP
Niveau 10
13 octobre 2015 à 19:32:27

Le 13 octobre 2015 à 18:18:09 smartties a écrit :
Salut Damoy, Merci pour le retour.

Les graphismes de ce jeu m'ont coûtés 200. Pour le marketing, je n'ai rien dépensé. J'ai utilisé la base d'utilisateurs que j'ai acquis avec mes autres applications afin de faire de la cross-promotion. Et pour le dév j'utilise mon propre moteur.

Donc en tout ce jeu m'a coûté 200euros

Okok merci de l'info' :)

pierre135b pierre135b
MP
Niveau 10
13 octobre 2015 à 20:50:45

Le 12 octobre 2015 à 22:57:52 Bunyan a écrit :
pierre135b : une petite réponse : via JNI. Android Studio commence à intégrer le support C++ et JNI d'ailleurs.

Tu sais ou je pourrais commencer ? J'aimerais effectivement faire quelques petits jeux sous Android ^^ ou des Apps

smartties smartties
MP
Niveau 6
07 novembre 2015 à 08:12:02

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

smartties smartties
MP
Niveau 6
25 novembre 2015 à 00:56:33

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

DébutPage précedente
12
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment