JeuWeb - Crée ton jeu par navigateur
VariiSpace, le MMO de l'espace! - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Les réalisations de la communauté (https://jeuweb.org/forumdisplay.php?fid=39)
+--- Forum : Jeux jouables (https://jeuweb.org/forumdisplay.php?fid=52)
+--- Sujet : VariiSpace, le MMO de l'espace! (/showthread.php?tid=7644)

Pages : 1 2 3 4 5 6 7 8


RE: VariiSpace [non-dispo] - @lucard - 12-05-2017

C'est enfin jouable ! Big Grin ?


RE: VariiSpace [non-dispo] - Xenos - 12-05-2017

C'est enfin existant (de là à dire qu'il y a assez de matière pour jouer... ^^)


RE: VariiSpace [Reboot] - Xenos - 12-05-2018

Salutations!

Profitant des ponts de la semaine, j'ai rebooté le jeu Variispace.

Back-office (créateurs)
Je laisse tomber l'idée de faire un jeu complet fonctionnel d'un coup, et de le skinner plus tard (comme je l'ai tenté dans le premier lancement de projet).

Je me tourne plutôt vers le même cycle de développement que Eclerd v0:

• Prendre une vingtaine de minutes et un papier pour définir un composant du jeu, dans son intégralité: fonctionnement, apparence de base, intégration à l'existant. Cela permet d'avoir un but à atteindre quand on attaquera le code

• Prendre 10 minutes de plus pour imaginer ce que sera la suite du jeu et les éventuels impacts de ce composant sur les autres composants qui n'existent pas encore (= j'ai définit le composant "concevoir son vaisseau spatial", et je prends ces 10 minutes pour imaginer comment on construira réellement les vaisseaux, mais sans rien noter). Cela motive pour voir plus loin que le bout de son nez

• Attaquer l'implémentation du composant en question, de manière "finale": code propre, composant optimisé (en gros) et esthétisme proche d'une version "finale". Cela permet de solidifier l'état du jeu pour que le prochain composant parte sur des bases propres et stables.

• Au fil de l'eau, quand le besoin se fait sentir, reskiner ou retravailler un peu certains éléments


Ca m'a l'air de plutôt bien marcher jusqu'ici, puisque j'ai maintenant une carte spatiale, dynamique, avec des objets célestes composés de matière (qui constituera la ressource du jeu), et un début de process d'inscription.

Architecture de page web

Aaaaah c'est là où j'ai perdu du temps hésité un moment! Initialement, je comptais décomposer la plupart de mes parts en "modules élémentaires" (iframes) et les faire communiquer entre eux. Par exemple, un module "carte" permet de se déplacer dans l'espace. Quand on change d'emplacement, le module "informations" se met à jour pour montrer les données de l'étoile/planète/autre sur laquelle on est. Mais finalement, c'est hyper-lourd à gérer tant côté serveur que client, c'est pas très fiable (glitches entre les chargements) et c'est très mal extensible (dur de changer un bout de navigation dans le mic-mac ainsi créé).

Du coup, je change d'idée et je part bêtement sur du classique "multi-page": 1 page = 1 ensemble de données unique, avec un template récurrent d'une page à l'autre. Au besoin, s'il faut faire des "sous-éléments" (= des popups) j'aviserai (window.open ou iframe dans la page). Ca peut sembler bête, mais cela m'a bouffé 1 journée entière (plein temps!) à hésiter entre 3-4 méthodes différentes avant de retomber sur celle là (cool de voir que, étant la plus basique, standard et préférée depuis des années, je finis par revenir dessus même après avoir essayé des alternatives).



Front (joueurs)

Pour ce qui est du front, je ne change pas le principe du jeu: le joueur est à la tête d'une flotte de vaisseaux spatiaux qu'il a lui-même conçu. Il va donc designer ses propres vaisseaux spatiaux, puis les construire en orbite autour d'un objet céleste (planète, lune, astéroïde, mais aussi étoile ou trou noir!).

[Image: 5.png]

La carte spatiale, accessible sans inscription, permet de visualiser ces objets céleste (ici, une étoile). On peut alors avoir accès aux informations comme sa masse ou sa zone d'influence gravitationnelle: un objet céleste ne peut orbiter autour de l'étoile actuellement visible que si cet objet céleste se trouve entre la limite de Roche et le rayon de Hill. en deçà (trop près), l'objet céleste s'écrase sur l'étoile (et leurs compositions s'additionneront). Au delà, l'objet céleste sera éjecté du système et partira dans l'espace (en pratique, il sera considéré comme "orbitant autour du même objet céleste [ici: trou noir "BH"] que l'étoile").

[Image: 1.png]

[Image: 2.png]

La carte est dynamique: ici, on observe une Lune dont l'un des satellite (un astéroïde) a bougé. Les deux screens sont espacés (en gros) d'une minute. Bien sûr, plus un astéroïde orbite près d'une Lune, plus il tourne vite (de même avec une planète autour d'une étoile, une étoile autour d'un trou noir, etc). L'intérêt pour le gameplay? La distance entre les objets célestes varie au fil du temps! Il sera donc possible d'aller s'installer sur une planète quand elle nous est proche, d'y rester pour l'exploiter, puis d'en partir quand cette planète se sera rapprochée d'une autre planète intéressante (vive les "sauts de puce"!)

Inscription

Pour ce jeu, j'aimerai éviter la barrière de l'inscription: j'ai donc un mode "spectateur" dans lequel on peut se balader dans le jeu sans être connecté ni rien. Mais pour jouer (concevoir et assembler ses vaisseaux, exploiter les étoiles, etc), il faut s'inscrire. J'ai donc essayé de rendre cela le plus "progressif" possible.

[Image: 3.png]

D'abord, un petit choix sur le type d'objet céleste sur lequel on veut démarrer. Cela me semble pertinent car je peux alors exposer au joueur la différence entre ces objets célestes (assez simple à comprendre, mais intéressante à souligner) et quelles sont les propriétés de chacun.
J'ai essayé d'utiliser des termes parlants pour les boutons d'action, en bas de chaque possibilité de choix.

[Image: 4.jpg]

Une fois l'objet céleste de départ choisi, le joueur devra concevoir son premier vaisseau spatial (j'en suis là). Le principe sera de lui présenter à peu près la même vue que celle in-game, avec simplement moins d'options car moins de modules (moins de "morceaux de vaisseaux à assembler") qu'un joueur déjà en jeu depuis longtemps. Je tâcherai de rendre cette conception progressive.

Voilà pour cette nouvelle mouture! Vos avis? Cette présentation est-elle compréhensible pour les joueurs? Est-ce que l'effet "progressif" de l'inscription vous semble bon?


RE: VariiSpace [Reboot] - niahoo - 12-05-2018

Cool !

Quelle échelle de temps pour les sauts-de-puce par rapport au temps réel ?

Pour l'inscription, ce que je fait dans mes projets c'est que je présente un bouton [Login] et un bouton [Jouer sans inscription], et ce dernier crée un compte automatique et anonyme. Ensuite tu peux supprimer ces comptes automatiques par la suite. ça t'évite de devoir gérer des users inscrits et d'autres non dans tes pages progressives.


RE: VariiSpace [Reboot] - Xenos - 12-05-2018

Dans le cas présent, je serai contre les comptes anonymes car le problème n'est pas tant l'inscription en elle-même que le process de démarrage dans le jeu. En d'autres mots, le but du progressif n'est pas directement "d'éviter" l'inscription, mais surtout de permettre une plongée dans le jeu qui ne soit pas brutale (larguer les joueurs avec un compte anonyme au milieu de l'espace, je pense que cela les fera fuir).
Mais je garde l'idée pour d'éventuels autres projets Wink

Pour l'échelle de temps, tout dépend de l'objet céleste (on va dire "le parent") autour duquel l'objet céleste (on va dire "l'enfant") orbite: plus le parent est massif, plus l'enfant met de temps (réel) à en faire le tour. Donc, une étoile fait un tour de galaxie en 7 (pour les plus aux centre) à 180 jours (pour les plus lointaines), une planète fait le tour de son étoile en 1 à 15j (en gros) et une Lune fait le tour de sa planète dans la journée. Une astéroïde fait le tour de la Lune en moins d'une heure. Cela reste des ordres de grandeur.
L'intérêt est d'avoir des échelles différentes: si j'ai une petite flotte, je veux un jeu réactif, donc les astéroïdes autour desquels j'orbite sont rapides. Et pour les grosses flottes de vieux joueurs (qui ne veulent pas tout perdre en 5 minute), les étoiles sont plus lentes (mais, vu qu'elles parcourent plus de distance, le "saut de puce" devient d'autant plus intéressant et stratégique).


RE: VariiSpace [Reboot] - Xenos - 20-08-2018

Salutations,

Le jeu avance! Il était précédemment "visitable" sans être connecté ni rien. L'intérêt est de permettre aux futurs joueurs de se faire une idée du jeu. On peut donc se balader dans la galaxie librement (cf post précédent).

Maintenant, j'ai terminé le process d'inscriptino complet (et wow, y'a de la matière!) Voici donc la façon dont les utilisateurs s'inscriraient dans le jeu:

[Image: 01.png]
D'abord, ils sont invités à choisir l'objet céleste autour duquel ils veulent démarrer. L'intérêt est de mettre en avant rapidement que non seulement les planètes sont "colonisables" (comme dans beaaaauuucoup de jeux de space opera), mais également les satellites, et même les étoiles (sous-entendant donc qu'on pourra coloniser "un peu tout"). Plus qu'un "choix" de gameplay (que j'ai tenté d'expliciter très simplement), je veux donc mettre en avant la diversité de la carte. Est-ce pertinent à votre avis?

[Image: 02.png]
Ensuite, on attaque avec le coeur du gameplay: créer son vaisseau. Ici, on part donc d'une grille de base, carrée, et de modules, sur le côté gauche. Le joueur clique un module, et en obtient les informations.

[Image: 03.png]
Il va alors placer ce module sur la grille, pour assembler son vaisseau.

[Image: 04.png]
J'avais envisagé de donner une vraie "apparence" aux modules, mais c'est finalement compliqué, et peu "lisible" point de vue du joueur. Donc, j'opte finalement pour l'affichage de l'icone du module sur la grille. Le vaisseau doit respecter certaines contraintes, affichées en dessous.

L'intérêt ici est de permettre au visiteur de se familiariser avec l'interface et le principe de la création de vaisseaux (pour, plus tard, la "complexifier" en explicitant l'impact de chaque choix dans la position des modules ou dans leur assemblage en général). Le but ici est donc de trouver comment faire un vaisseau valide, et non vraiment faire le "meilleur" vaisseau.

[Image: 05.png]
Une fois le vaisseau valide, j'affiche une apparence (à gauche), qui dépend de sa composition (sa grille [car il sera possible de changer de grille une fois dans le jeu, pour en prendre une hexagonale par exemple avec d'autres propriétés], ses modules, et leur placement). Ca permet d'avoir un peu de "roleplay", et les plus téméraires tenteront de retrouver la composition du vaisseau ennemi à partir de son look (même si ce n'est pas inversible, comme un hash: deux vaisseaux de compo différentes peuvent avoir une même apparence). A noter que ces images sont, pour l'instant, utilisées sans autorisation... Je contacterai quelques artistes pour officialiser correctement tout ça, mais je veux d'abord pousser jusqu'au MVP histoire de voir quel type d'illustration irait, combien il en faudrait, etc.

[Image: 06.png]
On attaque ensuite l'autre grand principe du jeu: créer ses propres matériaux (pour faire son vaisseau). Là, ce n'est plus une grille fixe, mais un "canvas" libre où on drag & drop des atomes, on les lie, et on fait une molécule.

[Image: 07.png]
Même principe: en cas d'erreur, j'affiche le soucis en bas et je le met en avant sur la grille. Cela permet de se familiariser avec cette 2nde partie du jeu.

[Image: 08.png]
La molécule prête (il est *toujours* possible d'en faire une), on continue.
Pourquoi est-ce toujours possible? Car lorsqu'on démarre l'inscription (choix de l'objet céleste, ou OC), le jeu "réserve" un OC qui correspond à notre choix, qui n'est pas occupé par un autre joueur, et qui possède les matériaux permettant de faire une molécule 2D avec les restrictions du jeu (c'est mathématiquement solvable facilement). Donc, l'OC sur lequel on sera aura les ressources suffisantes pour faire cette molécule, et on pourra construire de nouveaux vaisseaux.

[Image: 09.png]
Et on fait un bilan-résumé de son inscription. J'intégrerai certainement des CGU plus détaillées ici.

Voilà pour l'inscription. Qu'en pensez-vous?


RE: VariiSpace [Reboot] - Xenos - 23-09-2018

Salutations!

Comme vous l'avez vu sur le Discord de JeuWeb, j'entame (doucement!) la diffusion du projet et la formation d'un noyau dur de joueurs initiaux.
Je posterai donc les nouvelles du jeu sur le forum et sur le tchat de Variispace:

Forum => https://forum.reinom.com/index.php
Tchat => https://discord.gg/7npjyfr

Vous y retrouverez donc l'ajout de la semaine: la création et la suppression des plans de vaisseaux (et des matériaux, si je le termine ce soir)


RE: VariiSpace [Reboot] - Mexicanoon - 24-09-2018

Tout cela est fort prometteur ! J'ai pas encore tout bien capté, mais je tenais à te dire BRAVO, parce que le concept est novateur, l'idée bonne, l'atmosphère me plaît, les graphismes sont léchés même si pas définitifs, et le gameplay est bien pensé...
Et j'adore le sujet scientifique de l'univers et de ses composantes Smile Pas professionnellement, ni même de formation, mais comme ça, par intérêt. Je suis bon client des documentaires de vulgarisation, et tes images m'ont fait penser à cet épisode des Mystères de l'Univers sur les échelles de distances dans l'univers :
https://www.dailymotion.com/video/x1f559a


RE: VariiSpace [Reboot] - Air - 28-09-2018

Hello,

Je trouve ça très beau et bien foutu. ça me donne envie d'y jouer.
Je suis presque jaloux Smile


RE: VariiSpace [Reboot] - Xenos - 23-10-2018

Merci Air et Mexicanoon Smile
Elle est bien cette série documentaire, en effet! Il faudra que je trouve les autres épisodes histoire de récupérer quelques idées

Ce week end, j'ai rajouté les orbites aux objets célestes, et déplacé la génération de chronotons des vaisseaux vers ces orbites.
Concrêtement, pour extraire des ressources, il vous faut un vaisseau capable d'extraire des ressources (!), de la place dans vos soutes, et des chronotons, qui représentent vos points d'action.

Avant, ces chronotons étaient générés automatiquement par les vaisseau, au rythme de 1/seconde. Donc, 1 vaisseau = 1 chronoton/seconde, mais 1000 vaisseaux = 1000 chronotons/secondes... Vous sentez l'explosion exponentielle qui arrive, type "je double mon nombre de vaisseaux chaque heure"?! Smile

Pour l'éviter, j'ai donc considéré que les chronotons (points d'actions) sont générés pour toute l'orbite, peu importe le nombre de vaisseau (ce qui met les vétérans et les nouveaux sur un pied d'égalité).

En revanche, plus l'objet céleste est lourd, plus il y a d'orbites disponibles, qui génèrent chacune plus de chronotons: orbiter autour d'une géante gazeuse permet donc d'accumuler plus de chronotons (PA) et de se développer plus rapidement qu'autour d'un astéroïde (qui en revanche, possède des atomes plus lourds, donc des ressources plus rares).

Enfin, plus on s'éloigne de l'OC (orbite haute) moins on gagne de chronotons... Mais plus on peut en stocker! Les vaisseaux des joueurs très actifs seront donc souvent sur des orbites basses (qui, au passage, auront peu de place donc limiteront leur développement): ils accumuleront vite les chronotons, qu'ils dépenseront plusieurs fois par jour. A l'inverse, les joueurs moins actifs seront sur des orbites plus hautes, où ils accumuleront les chronotons plus lentement, mais plus longtemps.

Les screens sont dispos sur le Discord https://discord.gg/7npjyfr Smile

Etape suivante: construction de nouveaux vaisseaux (on a les plans, maintenant, faut fabriquer)...