L'accueil:
Avec les tabs toutes fermées:
Avec les tabs toutes ouvertes:
-Tab gauche: Options
-Tab bas: Credits et changelog+infos
-Tab haut: Lancer le jeu
--------------------------------------------------------------------------------------------------------------------------------------
L'interface d'acces rapides:
J'ai affiné en peu le style de l'UI :
La tab de craft rapide et sac a dos (dispo hors et dans vaisseau):
-scrolable inventory per ressource type (select to send to crafting bench)
-crafting bench 3 slots
La tab d'ifos sur l'environnement et la navigation (dispo hors et dans vaisseau):
-air/liquid composition
-temperature
-life/no life
-compass (direction in space and on orbit)
-planet/base/(solar sys name)/coordinates...
Les tabs d'info du vaisseau et celle de pilote auto (dispos dans vaisseau):
Ship stats (only on ship)
-ammo
-integrity
-fuel
Auto Pilot
-on/off/auto
-set speed
-set distance/infinite
Les tabs s'ouvrent et se ferment indépendamment, le 4 ouvertes + quelques sprites en bas:
Voila, le principe: des intercalaires de chaque coté de l'écran s'ouvrent avec les flèches correspondantes, il y a l'accueil, les intercalaires in game et l'inventaire complet accessible depuis le vaisseau. le vaisseau et le joueur ont deux stockages indépendants, le joueur se ballade ,collecte et dépose au vaisseau. On peu crafter depuis son sac a dos mais la table de craft complète se trouve sur le vaisseau avec 3 espaces supplémentaires.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Inventaire dans le vaisseau:
Screen only available in ship
-Backpack is smaller carryable inv.
has option: quick drop to Ship or one by one using ?shift?
quick drop , drops everything exept non-ship consumables and tools
-Craft: 6 spots
Output name and quantity
Start stop button
Process progression bar
---------------------------------------------------------------------------------------------------------------------------------------------------------------
PS: j'ai crée pour plus de simplicité des jauges doubles (plus épaisses), elles se vident ligne de pixels par ligne de pixels et une plus grande précision sur une plus petite longueur...
Citer : Posté le 15/07/2015 19:39 | #
Pour Arcuz, je refais une partie, et je m'apperçois que ce travail a été (un peu) rapide. Du coup faut que je repasser dessus…
Ben alors, qui c'est qui fonce tête baissée dans le code et qui s'en mord les doigts après ?
J'ai repris le code depuis le debut
Ah, sage décision...
T'imagines pas à quel point je fais souvent ça...
Edit : enfin, de moins en moins... enfin, j'espère...
Citer : Posté le 16/07/2015 01:45 | #
J'ai pas repris grand chose en fait, j'ai fait un nouveau projet XD
Oui DS, Az s'occupe de la story board. Pour l'instant je fais toute la structure du code pour plus tard, les fondations en somme. Et je termine la partie 3D. La caméra se déplace dans l'espace : translation et rotation. J'affiche 500 astres (cercles blancs plus ou moins zoomé par rapport à la distance) et je tourne dans les 30 fps, c'est pas mal !
Grosso modo on va gérer le truc comme ça :
On a un cube centré sur la caméra, dans lequel les astres sont chargés et affichés, quand on se déplace on déplace également le cube. Quand on se rapproche d'un astre suffisamment, je charge les objets plus petits placés autour (planètes, astéroïdes, ...) on est maintenant DANS le système, on se déplace du coup plus lentement, on se rapproche d'une planète, et de la même manière je charge les objets plus petits (satellites, astéroïdes, ...), on continu de se rapprocher, et on aperçoit la surface de la planète, cette partie risque d'être plus dure, comment poser une texture ? Et laquelle ?
Au final on peut survoler la surface et se poser quelque part, c'est pour ça que j'ai encore du boulot sur le moteur graphique, le moteur physique quant à lui, c'est que des calculs avec des sphères...
Citer : Posté le 16/07/2015 07:03 | #
Et je termine la partie 3D. La caméra se déplace dans l'espace : translation et rotation. J'affiche 500 astres (cercles blancs plus ou moins zoomé par rapport à la distance) et je tourne dans les 30 fps, c'est pas mal !
Pas mal tout ça ! 30 FPS c'est plus qu'assez pour l'écran de la calculatrice !
On a un cube centré sur la caméra, dans lequel les astres sont chargés et affichés, quand on se déplace on déplace également le cube.
Attention à bien gérer votre structure de données pour éviter de boucler 500 fois pour trouver les astres à oublier.
Quand on se rapproche d'un astre suffisamment, je charge les objets plus petits placés autour (planètes, astéroïdes, ...) on est maintenant DANS le système, on se déplace du coup plus lentement,
Dans un cube plus petit quoi ?
on se rapproche d'une planète, et de la même manière je charge les objets plus petits (satellites, astéroïdes, ...), on continu de se rapprocher, et on aperçoit la surface de la planète, cette partie risque d'être plus dure, comment poser une texture ? Et laquelle ?
Pour afficher une texture sur une sphère, je pense que tu peux t'inspirer (t'inspirer seulement, tu verras pourquoi) du code C d'affichage d'une sphère sur le wiki de rosetta code.
Au final on peut survoler la surface et se poser quelque part, c'est pour ça que j'ai encore du boulot sur le moteur graphique, le moteur physique quant à lui, c'est que des calculs avec des sphères...
Whoah, la surface en 3D ? Ça par contre ça risque d'être tendu pour de vrai. Faut la coder en plus déjà.
Bon, pour l'encodage je te propose ça : autour de ta sphère tu disposes des points régulièrement espacés (disons tous les 5° de latitude et de longitude) et à chaque point tu attribues une hauteur (un champ scalaire d'altitude quoi). Le calcul de la position à l'écran ne devrait pas être trop difficile, après reste la gestion de la profondeur et les éventuelles textures.
Citer : Posté le 16/07/2015 13:01 | #
Dans un cube plus petit quoi ?
Du coup l'univers "observable" si on peut dire, est un cube d'arrête 4 millards.
Pour remplir suffisament cette univers il faut un soleil, ou trou noir, ... (un truc gros) tout les 100 (unité à arbitraire) admetons. Donc pour se déplacer entre un astre et sa planète, il faudrait se deplacer de 0.01 et sur un planète de 0.0000001 par exemple
Les ordres de grandeurs sont si différents que je dois gérer ce changement d'échelle "manuellement"...
Pour afficher une texture sur une sphère, je pense que tu peux t'inspirer (t'inspirer seulement, tu verras pourquoi) du code C d'affichage d'une sphère sur le wiki de rosetta code.
Whoah, la surface en 3D ? Ça par contre ça risque d'être tendu pour de vrai. Faut la coder en plus déjà.
Citer : Posté le 16/07/2015 13:06 | #
C'est un peu plus compliqué que ça, en fait comme les coordonnées des objets sont des int, on a une plage de valeur en 0 à 4 milliards.
Pourquoi ne pas centrer l'univers en signé ?
Du coup l'univers "observable" si on peut dire, est un cube d'arrête 4 millards.
Pour remplir suffisament cette univers il faut un soleil, ou trou noir, ... (un truc gros) tout les 100 (unité à arbitraire) admetons. Donc pour se déplacer entre un astre et sa planète, il faudrait se deplacer de 0.01 et sur un planète de 0.0000001 par exemple
Les échelles de grandeur de l'Univers quoi
Les ordres de grandeurs sont si différents que je dois gérer ce changement d'échelle "manuellement"...
Hmm, je vois mieux maintenant. Donc impossible d'afficher deux ordre de grandeur simultanément, je présume ? Ça risque de casse un peu l'effet de transition, tu ne crois pas ?
Tu parles de ça ? C'est juste pour l'ombre. Néanmoins ça me donne quelques idées
Oui, c'est juste l'ombre, mais tu peux exploiter les calculs de distance à un point fixe pour rendre ta texture, je pense.
J'avoue que pour le moment ça reste une zone d'ombre, j'ai quelques idées pour pas en demander trop au le moteur graphique
Au pire, tu peux overclocker, mais c'est pas une solution de principe en soi...
Citer : Posté le 16/07/2015 13:15 | #
Faut que l'overclock reste un plus et pas un élément essentiel au bon gameplay.
Autrement, il n'a pas tord avec le coup des échelles differentes, il suffit de redimlensionner l'objet correctement et la transition se fait facilement
Citer : Posté le 16/07/2015 13:26 | #
Faut que l'overclock reste un plus et pas un élément essentiel au bon gameplay.
Évidemment. Tant que c'est pas de la grosse 3D, ça doit aller, mais avec les textures de planètes là...
Autrement, il n'a pas tord avec le coup des échelles differentes, il suffit de redimlensionner l'objet correctement et la transition se fait facilement
Sauf que l'objet qui faisait quelques pixels se met à faire quelques mètres
Et puis, faut que les représentations aux différentes échelles collent aussi.
Citer : Posté le 16/07/2015 13:31 | #
Pourquoi ne pas centrer l'univers en signé ?
Donc impossible d'afficher deux ordre de grandeur simultanément
il suffit de redimlensionner l'objet correctement et la transition se fait facilement
Apres hors de question d'overclocker, d'une part j'y vois des désagréments, et puis c'est un peu de la triche aussi
Citer : Posté le 16/07/2015 13:38 | #
Pourquoi ne pas centrer l'univers en signé ?
L'avantage de centrer c'est que si tu dois faires des opérations dessus, potentiellement, tu évites de générer des overflows à tous les coups.
Exactement Pour la transition, je verrai bien comment ça rend visuellement.
S'il s'agit juste d'avoir des étoiles en fond d'une vue de système solaire, je veux bien, mais comment voulez-vous avoir de manière réaliste une étoile et ses planètes, toutes visibles sur lécran, avec des ordres de grandeur raisonnables ?
Autant utiliser une échelle logarithmique sinon vous verrez rien.
Apres hors de question d'overclocker, d'une part j'y vois des désagréments, et puis c'est un peu de la triche aussi
Oui
Citer : Posté le 16/07/2015 13:53 | #
Exactement Pour la transition, je verrai bien comment ça rend visuellement.
S'il s'agit juste d'avoir des étoiles en fond d'une vue de système solaire, je veux bien, mais comment voulez-vous avoir de manière réaliste une étoile et ses planètes, toutes visibles sur lécran, avec des ordres de grandeur raisonnables ?
Autant utiliser une échelle logarithmique sinon vous verrez rien.
T'as pas tord pour le coup. Je voyais plus les transitions système > planète, mais d'une marnière generale c'est la représentation d'un système qui va être galère à mettre en place …
Citer : Posté le 16/07/2015 14:02 | #
T'as pas tord pour le coup. Je voyais plus les transitions système > planète, mais d'une marnière generale c'est la représentation d'un système qui va être galère à mettre en place …
Ah ben pour la transition système > planète ça peut aller, faut juste déterminer une distance à partir de laquelle on dessine le relief de la planète.
Non, moi je pensais bien à univers/galaxie > système... pour l'uinvers en général on peut dessiner des galaxies, dans une galaxie on peut dessiner des étoiles (en variant un peu les représentations, éventuellement), mais dans le système le rapport diamètre/éloignement est beaucoup trop faible : 80 microns pour la Terre...
Citer : Posté le 16/07/2015 14:58 | #
C'est ce que je dis, va sans doute falloir tricher un peu au niveau des proportions, ou jouer au radar jusqu'à s'être assez rapproché de la planète.
Citer : Posté le 16/07/2015 15:22 | #
C'est ce que je dis, va sans doute falloir tricher un peu au niveau des proportions, ou jouer au radar jusqu'à s'être assez rapproché de la planète.
À mon avis le plus sera les proportions. Après faut voir si le réalisme de la distance est vraiment nécessaire.
Citer : Posté le 16/07/2015 15:33 | #
Dans le cas où le réalisme doit être le plus grand possible, faudra faire un bon système de navigation au radar
Au moins ils pourront ajouter les infos qu'ils veulent sur la planète (nom, taille, type, etc)
Citer : Posté le 16/07/2015 15:34 | #
Passer avec une échelle logarithmique ? Pourquoi pas, après il est evident qu'il va falloir tricher sur les proportions
juste quand on voit ça : image
Citer : Posté le 16/07/2015 15:37 | #
Dans ce cas, triche juste sur les proportions et distances, ce sera quand même plus facile et plus intuitif
Citer : Posté le 16/07/2015 15:38 | #
Des planètes grosses comme des soleils, ça va être marrant
Citer : Posté le 16/07/2015 15:40 | #
Des planètes grosses comme des soleils, ça va être marrant
Hey, j'ai pas dis ça non plus, faut relativiser xD
Non mais histoire de pouvoir tout faire passer à une taille raisonnable dans l'écran, on peut bien avoir le Soleil 2 à 3 fois plus gros que les planètes sans gâcher complètement le design.
Par contre la texture pour les étoiles... hmm...
Citer : Posté le 16/07/2015 16:01 | #
Oui, c'est sur, mais apres faut faire gaffe à ne pas trop les coller non plus
Citer : Posté le 16/07/2015 16:03 | #
Oui, c'est sur, mais apres faut faire gaffe à ne pas trop les coller non plus
Je ne pense pas que tout passera dans l'écran, mais on s'en fout : c'est en 3D
Et puis n'oublie pas que les planètes seront pas alignées, mais tout autour, et pas non plus sur un plan dans les systèmes bizarres (il en faut bien) !
Citer : Posté le 18/07/2015 20:16 | #
Quelques nouvelles, je suis un peu bloqué sur la gestion de la caméra, à savoir les rotations dans l'espace, j'utilise le paramétrage polaire, mais il ne fonctionne que dans certains cas (phénomène du blocage de cardan), je regarde du coté des Quaternions, modèle mathématique, apparament très efficace pour les rotations de vecteur dans l'espace