Sujet: SpaceCraft [Projet terminé] Ven 20 Juin 2014 - 22:44
SpaceCraft
Bonjour,
Je souhaite vous présenter un projet que j'ai réalisé avec 2 amis (@smealum,@posva) C'est en 2 mots un clone de minecraft à l'échelle galactique. C'est à dire que vous pourrez non seulement explorer un bout de terrain mais aussi monter voir le continent, puis la planète, puis le système solaire et enfin la galaxie !
C'est un projet scolaire de notre initiative et nous avions 3 semaines pour produire ce que nous avions en tête.
Puisqu'une vidéo vaut mieux qu'un grand discours:
Le code source est disponible sur github. Attention, ce n'est pas un jeu mais plutôt un proof-of-concept si vous souhaitez vraiment l'essayer, il faudra le compiler et lire le README pour connaitre les touches du jeux.
Une petite list de ce qu'il y a à l'intérieur.
niveau de détail adaptatif par subdivision de facettes de la planète (quadtree)
frustum culling (ne pas afficher ce qui n'est pas dans le cône de vision)
génération asynchrone (via plusieurs thread fournissant le contenu)
modifications du monde en ajoutant/enlevant des blocs (par un clic de souris)
moteur physique (collision,gravité)
dispersion atmosphérique ( ce qui fait que le ciel est bleu la journée )
Sujet: Re: SpaceCraft [Projet terminé] Sam 21 Juin 2014 - 8:38
Vraiment bien foutu Le must, ça serait de pouvoir voir des planètes entrer en collisions... (Désolé, une poussée de mon instinct destructeur)
_________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
Sujet: Re: SpaceCraft [Projet terminé] Sam 21 Juin 2014 - 9:07
C'est vraiment classe votre truc. Juste dommage que vous n'aillez probablement pas eu le temps de pousser un peu plus le moteur de lumière (fin l'occlusion ambiante surtout), car c'est ce qui rend les voxels plus jolis en général :p Mais tout le reste est vraiment très cool.
D'ailleurs je me demande, vous avez fait comment pour faire une représentation en sphère du monde? Genre pour la gravité, etc. Si tu creuses jusqu’à l'autre bout ça fait quoi? x)
Au pire j'irais look dans la source pour répondre a mes questions, c'est cool de la laisser dispo :p
Sujet: Re: SpaceCraft [Projet terminé] Sam 21 Juin 2014 - 9:49
Merci.
Le truc drôle pour représenter une sphère avec seulement des cube (topologiquement ça demande réflexion). Et bien, on prend un cube (qu'on peut s'imaginé subdivisé plusieurs fois) et pour chaques vertices on normalise la distance au centre de sorte que chaques vertices sont à égale distance du centre. Du coup nos cube sont un peu déformé, mais puisque la terre est très grande cela ne peux se voir que dans les cas extrème où on est sur le coin de cube.
Si on creuse trop et bien on tombe vers le centre de la terre ( surprise graphique pour celui qui verra le centre de la terre ). J'ai une limite en hauteur mais beaucoup plus grande que celle de Minecraft par défault.
De l'occlusion ambiante aurait été un plus en effet.
En tout cas, c'est un projet qui m'a vraiment plus.
Citation :
Le must, ça serait de pouvoir voir des planètes entrer en collisions... Yum! (Désolé, une poussée de mon instinct destructeur)
Je crois qu'il y a plusieurs endroits dans la galaxie où des lunes peuvent entrée en collisions. ( pour faire avancer le temps, c'est les touches [,] et [p] sur claviers azerty et [shift] pour aller plus vite) Mais ne t'attend pas à une explosion de 2 lunes ^^.
Sujet: Re: SpaceCraft [Projet terminé] Sam 21 Juin 2014 - 10:20
C'est dù au fait que les flottant sont à cette échelle trop espacés (pas assez précis) On a pas pu envoyer des doubles sur la carte graphique.
Et encore, on a pris des mesures drastiques.
Pour un depthBuffer précis et grand. On enregistre le log de la profondeur au lieu de la profondeur pour être précis quand c'est proche et pouvoir avoir quand même des objets éloignés.
Puis quand on est sur une planète, on replace le (0,0,0) de l'univers au centre de la planète considéré pour ce placer là où les flottant sont les plus denses.
Sujet: Re: SpaceCraft [Projet terminé] Mar 24 Juin 2014 - 22:39
Térence68 a écrit:
3 semaines Bien joué
Vous avez déjà eu la note ?
Merci, Et bien du coup, la meilleur note : 18 sachant que :
Spoiler:
On nous a indiqué: > Les notes en dessus de 18 relèvent d'un travail tout à fait > exceptionnel original et allant très au delà de ce qui était > demandé, i.e. pour fixer les idées du niveau d'une bonne publication > scientifique. > > 16-17 Projet excellent > > 15 Très bon projet peu de points à perfectionner > > 14 Bon projet perfectible sur certains aspect > > 13 Réalisation et travail honnête sans plus > > 12 Le minimum syndical > > Au dessous de 12 projet bâclé, plagié, indigent
D-z a écrit:
Wouah Oo
Voilà qui me fait grandement penser au projet Sea of Memes... Et en trois semaines, mais comment x)
Sea of Memes, oui c'est quasiment la même idée que nous (comme quoi quand on pense être les premier a avoir imaginé un truc, il y aura toujours quelqu'un qui vous prouvera le contraire) . Par contre faire un MMO avec, là c'est ambitieux. Merci a toi D-z.
Sujet: Re: SpaceCraft [Projet terminé] Mar 24 Juin 2014 - 22:49
GG, vous avez amplement mérité votre 18
_________________
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
Sujet: Re: SpaceCraft [Projet terminé] Mer 25 Juin 2014 - 2:07
La dernière image sur tu as posté représente un cube superposé en sphere. J'ai une question la dessus : est ce que les cube sont plus gros sur le centre d'un des plans que sur les bords comme nous le montre cette image ou alors les cube sont tous égaux. (Cube a creuser )
Sujet: Re: SpaceCraft [Projet terminé] Mer 25 Juin 2014 - 20:22
onilink_ a écrit:
GG, vous avez amplement mérité votre 18
Merci!
gabin49 a écrit:
La dernière image sur tu as posté représente un cube superposé en sphere. J'ai une question la dessus : est ce que les cube sont plus gros sur le centre d'un des plans que sur les bords comme nous le montre cette image ou alors les cube sont tous égaux. (Cube a creuser Wink )
Je ne suis pas certain, mais je pense qu'ils ont tous exactement la même surface. Par contre il sont chacun un peu déformé sur les bords du cube. (incliné en faite (skew))
L'angle des surfaces varie de 90°-90° au centre jusqu'à 120°-60° sur les bords.
Sujet: Re: SpaceCraft [Projet terminé] Ven 27 Juin 2014 - 0:07
Trés bonne idée, mais j'aime pas du tous. Pas car ton travail est mal fait, c'est juste que, j'aime pas les personnes qui se basent sur le concept de Minecraft pour créer un jeu. Encore le tien, il est super bien. Mais les autres, ils essaient de copier Minecraft sans réussir !
Sujet: Re: SpaceCraft [Projet terminé] Ven 27 Juin 2014 - 0:33
Gabin49: Oui, je vois bien ce que tu veux dire. Je pensais que non mais finalement, je ne sais pas. L'algorithme est le suivant: prendre les 4 points d'une facette: (0,1,2,3) 01 43 rajouter 5 points (les milieux de chaques segments et l'isobarycentre des 4 points). Renormalisé les nouveaux points et former 4 nouvelles facette. 051 678 492
Je me disais qu'il n'y avait pas de raison qu'il y ait une des 4 facettes plus grandes que les autres et que tu coup par récursivité, toutes les facettes devraient être de même aire (mais pas de même forme). Mais en y réfléchissant, si les 4 points ne sont pas coplanaire, on dirait que c'est possible que les 4 facettes ne soient pas de même aire. Du coup, tu dois avoir raison je pense. Mais dans le jeux, la terre est tellement grande qu'il y est très difficile de pouvoir voir la différence.
Citation :
Trés bonne idée, mais j'aime pas du tous. Pas car ton travail est mal fait, c'est juste que, j'aime pas les personnes qui se basent sur le concept de Minecraft pour créer un jeu. Encore le tien, il est super bien. Mais les autres, ils essaient de copier Minecraft sans réussir !
Merci. Je vois bien ce que tu souhaite dire. Ici, on a choisit un monde en voxel car c'était la structure la plus simple pour avoir un monde modifiable par l'utilisateur et qui soit généré procéduralement.
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
Sujet: Re: SpaceCraft [Projet terminé] Ven 27 Juin 2014 - 0:34
samylebonois -> c'est un mauvais argument qui tu nous montre ici.
Le travail d'arthuro ne se base pas uniquement sur minecraft mais sur un système de planète a part entière (donc de galaxie et d'univers), et même sur d'autre truc qui nous a pas encore dit ! Si l'on devais uniquement se fier a minecraft comme le seul jeu Voxel au monde, mon dieu que le monde serait ****** car minecraft est certes l'un des premiers jeux indépendant connus à construction sur cube (en clair, du voxel) mais celui ci manque cruellement de chose à innover.
Le travail d'arthuro est innovant est extrêmement bien réalisé comparé a minecraft à ses début (qui n'était autre que Infiniminer) et contrairement a minecraft, c'est pas du Java (et heureusement).
De plus, ce n'est pas le seul a avoir fait du Voxel a cette échelle et avec beaucoup beaucoup d'innovation comparé a minecraft aujourd'hui, il existe aussi Seed of Andromeda (je vous laisse voir sont travail formidable) qui mérite tout comme le travail d'arthuro d'avoir autant de félicitation que Minecraft.
Messages : 4356 Localisation : chez votre marchand de journaux
Sujet: Re: SpaceCraft [Projet terminé] Ven 27 Juin 2014 - 11:17
Hé béh, moi j'aurais mis 20.
_________________ "Nan... C'est rien le vieux... C'est le compte qui n'y était pas... Il en manquait un..."
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
Sujet: Re: SpaceCraft [Projet terminé] Sam 28 Juin 2014 - 0:16
Juste hallucinant O.O
Félicitation, c'est du super beau boulot !
Mais combien de place en RAM ça prends ???
_________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antique Bienvenue au 2630eme utilisateur : Mike Kennedy !
Sujet: Re: SpaceCraft [Projet terminé] Dim 29 Juin 2014 - 10:07
Merci a tous!
[TheDarkTiger] a écrit:
Juste hallucinant O.O
Félicitation, c'est du super beau boulot !
Mais combien de place en RAM ça prends ???
Alors, j'ai regardé chez moi. Après 1 minute de jeu, sur l'endroit qui prend le plus de ressource (quand on se pose sur une planète) cela me prend 400Mo en ram. Je pense que ça prend autant en mémoire de carte graphique.
Sujet: Re: SpaceCraft [Projet terminé] Dim 29 Juin 2014 - 21:39
Oui 400 Mo sa part vite.
Spoiler:
On charge bien 15 colonnes ( 32 superblock de 32*32*32). Ce qui fait à peut près 15.000.000. On stock sur 16 bits (on aurait pu faire sur 8, mais on avait une texture d'un peu plus de 256 blocks différent). Ceci nous fait donc 30 Mo. Où se trouve les autres Mo restants ? On a un système de cache qui permet de ne pas recharger des blocks précédemment calculé. On peut donc considérer que les blocs du voisinages sont stocké 2 fois => 60 Mo. Ensuite, on peut penser qu'ils sont souvent avec des int au lieu de int16. Sur un processeur 64bits, cela nous donne 4 fois plus que prévu => 240Mo. Après, je n'ai plus d'idée pour le restant. On stock la position de toutes les planètes de l'univers en double et en float (pour diverse raisons de précisions) mais c'est négligeable (0.5 Mo).
Heureuseusement, pour le mesh des blocks, on ne stock que l'interface (vide/plein) donc, c'est beaucoup moins.