Derniers messages
Dernier message par Zatalyz - 06 Février 2022 à 16:40:09
Cliquez pour afficher le message
Que se passe-t-il si le truc volant arrive à la limite de sa portée : il tombe ? Il y a des dégâts de chute ? Il plane jusqu'au sol ?
Dernier message par Zatalyz - 06 Février 2022 à 16:40:04
Cliquez pour afficher le message
Cette discussion est en lien avec celle sur le vol.
Si Godot nous permet sans souci de faire un jeu façon "plate-forme", je suis pour ma part vraiment motivée à ne pas aller là-dedans et proposer un autre type de déplacement. Avant tout parce que je veux un jeu où on raconte des histoires et où on prends son temps, pas un jeu où on s'agite de façon frénétique. Or, si on doit faire gaffe à ne pas tomber des bords d'un obstacle, si on peut rejoindre un point en faisant des bonds, on finit forcément par avoir des joueurs qui courent partout et sautent tout le temps et des leveldesigners qui inventent des endroits avec des plate-formes où il faut sauter pile au bon moment pour traverser. Je n'ai pas envie de ça.
Je résume ce qui a déjà pu être pensé ici et là.
- "Chutes" : Bord de falaises, pont, pontons, etc. une collision empêche de tomber dans le vide, cependant la zone du bord devrait pouvoir offrir une action contextuelle du type "sauter quand même", déclenchant le placement du personnage de façon à ce qu'il puisse sauter/tomber/faire un plongeon (que ce soit pour le plaisir du revif ou pour faire le malin sur un plongeoir, donc). Tel que je le vois, on créera des zones (invisibles) sur ses bords, avec différents tags (le bord "falaise" étant différent du bord "au dessus de l'eau") ; on fait un clic droit sur son perso et suivant ses capacités et son équipement, diverses options sont alors proposées (descendre en rappel, tomber bêtement, faire le saut du pigeon, faire un triple salto arrière, etc).
- "Monter" : pied des falaises, depuis l'eau par rapport au rebord de piscine, face à une barrière, etc. Idem, des action contextuelle quand on approche et suivant le type de "bord", on pourra "sauter la barrière, sortir de l'eau, grimper à la falaise", etc.
Dans un premier temps, ces divers bords ont surtout besoin d'être lié à une collision, en particulier pour empêcher de tomber. La mise en place des divers types de "bords" et des actions contextuelles qui peuvent y être liés demandera du temps à être posée. À noter que ça va être assez pénible dans la génération des paysages !
Concernant les formes de saut : il s'agira uniquement d'emotes, sur place, ne permettant pas de traverser un quelconque obstacle OU d'animations contextuelles liées à la détection de ces "bords" (et là, oui, on peut faire saute-mouton par dessus la barrière). En cas d'abus des emotes, le sort "Frog mode" sera là quand même.
Quel rapport avec le vol ? Et bien... comment on gère les atterrissages/décollages entre autre, par rapport à ces contraintes pour les terrestres. Par exemple un drone-caméra peut-il passer la falaise et voler au delà ? la collision est-elle ignoré par ce dernier (et dans ce cas ça doit être des collisions spéciales, indiqués comme étant traversables en mode vol), ou bien doit-il passer au delà d'une certaine hauteur pour que ça marche ?
Si Godot nous permet sans souci de faire un jeu façon "plate-forme", je suis pour ma part vraiment motivée à ne pas aller là-dedans et proposer un autre type de déplacement. Avant tout parce que je veux un jeu où on raconte des histoires et où on prends son temps, pas un jeu où on s'agite de façon frénétique. Or, si on doit faire gaffe à ne pas tomber des bords d'un obstacle, si on peut rejoindre un point en faisant des bonds, on finit forcément par avoir des joueurs qui courent partout et sautent tout le temps et des leveldesigners qui inventent des endroits avec des plate-formes où il faut sauter pile au bon moment pour traverser. Je n'ai pas envie de ça.
Je résume ce qui a déjà pu être pensé ici et là.
- "Chutes" : Bord de falaises, pont, pontons, etc. une collision empêche de tomber dans le vide, cependant la zone du bord devrait pouvoir offrir une action contextuelle du type "sauter quand même", déclenchant le placement du personnage de façon à ce qu'il puisse sauter/tomber/faire un plongeon (que ce soit pour le plaisir du revif ou pour faire le malin sur un plongeoir, donc). Tel que je le vois, on créera des zones (invisibles) sur ses bords, avec différents tags (le bord "falaise" étant différent du bord "au dessus de l'eau") ; on fait un clic droit sur son perso et suivant ses capacités et son équipement, diverses options sont alors proposées (descendre en rappel, tomber bêtement, faire le saut du pigeon, faire un triple salto arrière, etc).
- "Monter" : pied des falaises, depuis l'eau par rapport au rebord de piscine, face à une barrière, etc. Idem, des action contextuelle quand on approche et suivant le type de "bord", on pourra "sauter la barrière, sortir de l'eau, grimper à la falaise", etc.
Dans un premier temps, ces divers bords ont surtout besoin d'être lié à une collision, en particulier pour empêcher de tomber. La mise en place des divers types de "bords" et des actions contextuelles qui peuvent y être liés demandera du temps à être posée. À noter que ça va être assez pénible dans la génération des paysages !
Concernant les formes de saut : il s'agira uniquement d'emotes, sur place, ne permettant pas de traverser un quelconque obstacle OU d'animations contextuelles liées à la détection de ces "bords" (et là, oui, on peut faire saute-mouton par dessus la barrière). En cas d'abus des emotes, le sort "Frog mode" sera là quand même.
Quel rapport avec le vol ? Et bien... comment on gère les atterrissages/décollages entre autre, par rapport à ces contraintes pour les terrestres. Par exemple un drone-caméra peut-il passer la falaise et voler au delà ? la collision est-elle ignoré par ce dernier (et dans ce cas ça doit être des collisions spéciales, indiqués comme étant traversables en mode vol), ou bien doit-il passer au delà d'une certaine hauteur pour que ça marche ?
Dernier message par Zatalyz - 06 Février 2022 à 16:16:52
Cliquez pour afficher le message
Salut à toutes,
Dans le dernier test autour du client Khanat, le déplacement de type "vol" a été implémenté. Pour le moment cela reste très basique, mais je sais que ce genre de fonctionnalité a énormément d'impact.
Pour petit rappel, quand on ajoute une fonctionnalité, il ne faut pas seulement voir à quel point c'est fun et plein de possibilités, il faut aussi impérativement penser aux contraintes que cela va amener en jeu et aux comportements que cela peut générer, y compris les trucs pas chouette et les déséquilibres. Le vol, c'est vraiment très compliqué dans les ramifications.
Avant tout (et c'est aussi pour ça que c'est important de l'intégrer rapidement dans le client), le vol est un déplacement à part entière qui n'est plus contraint par les obstacles au sol. Cela veut dire qu'il devient difficile de fermer une carte en mettant une falaise au bon endroit : avec une entité volante il est possible d'aller au delà, de se jouer des falaises les plus abruptes. Au niveau du design des lieux, cela demande de penser à beaucoup, beaucoup plus de choses. Une barrière au bon endroit n'empêche plus les indiscrets de passer.
Cela peut être limité en mettant certaines contraintes sur le vol : par exemple l'impossibilité de dépasser une certaine altitude (assez délicat à justifier cependant) ou une maniabilité laborieuse (tenter de faire passer un avion de ligne dans un tunnel ou de le faire atterrir sur un porte-avion est impossible). Ou encore une portée limitée (via de l'énergie dépensée pour se maintenir en l'air, qu'il faut recharger). Mais quoi qu'il arrive ça ouvre quand même énormément les frontières, et cela d'autant plus que ce qu'on peut envisager de "volant" est plutôt passe-partout.
YannK parlait du fait que les Quetzaras peuvent voler. Je ne sais plus si on avait déjà abordé la question... de mon côté je ne suis pas motivée par ça, pour plusieurs raisons. D'abord, une bestiole de grande taille qui vole, c'est physiquement compliqué et contraint énormément la gueule de la bestiole. L'humanoide avec des ailes à la place des bras ou des ailes dans le dos (encore pire) est biologiquement difficile à justifier. Les oiseaux ont un sacré système cardiaque pour faire fonctionner leurs ailes et les plus gros piafs volants sont toujours dans une situation précaire. Par exemple les vautours (parmi les plus grands piafs) planent plus qu'ils ne volent, et s'ils se posent, le décollage est complexe et leur demande beaucoup d'énergie, raison pour laquelle ceux qui survivent 1) décollent des falaises (en se laissant tomber puis planer) ou 2) décollent après avoir mangé une carcasse près de laquelle ils ont fait leur atterrissage. Ok, pour les Quetzara, on peut trouver du TGCM avec des plumes trempées dans de la poudre de Krili, mais bon... Le 2e point qui m'embête, c'est que cela donnerait une façon de jouer très différente pour cette race et si on équilibre mal, tout le monde voudra faire un quetzara pour pouvoir voler. Or les quetzaras sont un peuple minoritaire dans le Khanat actuel. Personnellement je préfère les voir comme des sortes d'autruches que comme des sortes de vautours, leurs plumes sont déjà l'occasion de faire beaucoup de choses.
Il y a d'autres trucs qui volent.
Nous avons en particulier la majorité des véhicules qui lévitent grâce à l'effet Tsupa'a Galton - Cfiden Mojig. Mais c'est de la lévitation, pas du véritable vol : cela permettait de s'affranchir des contraintes des roues (pas si simple à faire bien en jeu, en gérant les divers types de sol). Ces véhicules sont donc, dans les faits, terrestres : ils ne peuvent pas passer au dessus de l'eau ou traverser des gouffres, ils restent à une certaine distance du sol, toujours la même.
Nous avons des créatures volantes, mais là aussi c'est à la base un faux vol : les animations les montrent au dessus du sol mais leur déplacement est lié à ce dernier. C'est cependant ici que l'ajout du vol en jeu me semble le plus utile : cela permettra qu'un essaim de vidvoi poursuive les pauvres ra innocentes qui approchent, même en traversant des étendues d'eau ou en remontant les falaises. Il faut par contre être conscient que cela rend le jeu plus mortel, certains prédateurs devenant quasiment impossible à fuir facilement. Ces créatures étant par ailleurs scriptées, les risques d'abus sont limités et seront uniquement du fait des leveldesigners.
Nous avions aussi évoqué la possibilité d'avoir des sortes de drones, en particulier pour simuler les caméras et permettre en jeu de "filmer". Dans mon esprit, ce sont de petits bots en vol stationnaire, et en même temps c'est là qu'on va vite approcher des soucis. Gérés par les joueurs, ce genre de créature pourrait aller à peu près partout. On peut mettre une contrainte de distance par rapport au personnage contrôlant la créature, mais cela permet quand même beaucoup de choses.
Enfin, nous avions aussi parlé d'autres types de véhicules volants, et en particulier des dirigeables. Je n'ai pas trop envie d'avoir des avions ou hélicoptères dans le Khanat, ni des moyens de vol personnels (type parapente, deltaplane, monture ailée). Pour des raisons de goût personnel, parce que je n'ai pas envie que ça bourdonne trop dans les airs. Les dirigeables, c'est des trucs sur des trajets fixes, c'est du transport en commun scripté, c'est un peu différent.
Merci de compléter ce message avec ce que vous pouvez envisager dans les trucs volants du Khanat, quels limitations et avantages ils peuvent avoir, etc.
Dans le dernier test autour du client Khanat, le déplacement de type "vol" a été implémenté. Pour le moment cela reste très basique, mais je sais que ce genre de fonctionnalité a énormément d'impact.
Pour petit rappel, quand on ajoute une fonctionnalité, il ne faut pas seulement voir à quel point c'est fun et plein de possibilités, il faut aussi impérativement penser aux contraintes que cela va amener en jeu et aux comportements que cela peut générer, y compris les trucs pas chouette et les déséquilibres. Le vol, c'est vraiment très compliqué dans les ramifications.
Avant tout (et c'est aussi pour ça que c'est important de l'intégrer rapidement dans le client), le vol est un déplacement à part entière qui n'est plus contraint par les obstacles au sol. Cela veut dire qu'il devient difficile de fermer une carte en mettant une falaise au bon endroit : avec une entité volante il est possible d'aller au delà, de se jouer des falaises les plus abruptes. Au niveau du design des lieux, cela demande de penser à beaucoup, beaucoup plus de choses. Une barrière au bon endroit n'empêche plus les indiscrets de passer.
Cela peut être limité en mettant certaines contraintes sur le vol : par exemple l'impossibilité de dépasser une certaine altitude (assez délicat à justifier cependant) ou une maniabilité laborieuse (tenter de faire passer un avion de ligne dans un tunnel ou de le faire atterrir sur un porte-avion est impossible). Ou encore une portée limitée (via de l'énergie dépensée pour se maintenir en l'air, qu'il faut recharger). Mais quoi qu'il arrive ça ouvre quand même énormément les frontières, et cela d'autant plus que ce qu'on peut envisager de "volant" est plutôt passe-partout.
YannK parlait du fait que les Quetzaras peuvent voler. Je ne sais plus si on avait déjà abordé la question... de mon côté je ne suis pas motivée par ça, pour plusieurs raisons. D'abord, une bestiole de grande taille qui vole, c'est physiquement compliqué et contraint énormément la gueule de la bestiole. L'humanoide avec des ailes à la place des bras ou des ailes dans le dos (encore pire) est biologiquement difficile à justifier. Les oiseaux ont un sacré système cardiaque pour faire fonctionner leurs ailes et les plus gros piafs volants sont toujours dans une situation précaire. Par exemple les vautours (parmi les plus grands piafs) planent plus qu'ils ne volent, et s'ils se posent, le décollage est complexe et leur demande beaucoup d'énergie, raison pour laquelle ceux qui survivent 1) décollent des falaises (en se laissant tomber puis planer) ou 2) décollent après avoir mangé une carcasse près de laquelle ils ont fait leur atterrissage. Ok, pour les Quetzara, on peut trouver du TGCM avec des plumes trempées dans de la poudre de Krili, mais bon... Le 2e point qui m'embête, c'est que cela donnerait une façon de jouer très différente pour cette race et si on équilibre mal, tout le monde voudra faire un quetzara pour pouvoir voler. Or les quetzaras sont un peuple minoritaire dans le Khanat actuel. Personnellement je préfère les voir comme des sortes d'autruches que comme des sortes de vautours, leurs plumes sont déjà l'occasion de faire beaucoup de choses.
Il y a d'autres trucs qui volent.
Nous avons en particulier la majorité des véhicules qui lévitent grâce à l'effet Tsupa'a Galton - Cfiden Mojig. Mais c'est de la lévitation, pas du véritable vol : cela permettait de s'affranchir des contraintes des roues (pas si simple à faire bien en jeu, en gérant les divers types de sol). Ces véhicules sont donc, dans les faits, terrestres : ils ne peuvent pas passer au dessus de l'eau ou traverser des gouffres, ils restent à une certaine distance du sol, toujours la même.
Nous avons des créatures volantes, mais là aussi c'est à la base un faux vol : les animations les montrent au dessus du sol mais leur déplacement est lié à ce dernier. C'est cependant ici que l'ajout du vol en jeu me semble le plus utile : cela permettra qu'un essaim de vidvoi poursuive les pauvres ra innocentes qui approchent, même en traversant des étendues d'eau ou en remontant les falaises. Il faut par contre être conscient que cela rend le jeu plus mortel, certains prédateurs devenant quasiment impossible à fuir facilement. Ces créatures étant par ailleurs scriptées, les risques d'abus sont limités et seront uniquement du fait des leveldesigners.
Nous avions aussi évoqué la possibilité d'avoir des sortes de drones, en particulier pour simuler les caméras et permettre en jeu de "filmer". Dans mon esprit, ce sont de petits bots en vol stationnaire, et en même temps c'est là qu'on va vite approcher des soucis. Gérés par les joueurs, ce genre de créature pourrait aller à peu près partout. On peut mettre une contrainte de distance par rapport au personnage contrôlant la créature, mais cela permet quand même beaucoup de choses.
Enfin, nous avions aussi parlé d'autres types de véhicules volants, et en particulier des dirigeables. Je n'ai pas trop envie d'avoir des avions ou hélicoptères dans le Khanat, ni des moyens de vol personnels (type parapente, deltaplane, monture ailée). Pour des raisons de goût personnel, parce que je n'ai pas envie que ça bourdonne trop dans les airs. Les dirigeables, c'est des trucs sur des trajets fixes, c'est du transport en commun scripté, c'est un peu différent.
Merci de compléter ce message avec ce que vous pouvez envisager dans les trucs volants du Khanat, quels limitations et avantages ils peuvent avoir, etc.
Dernier message par deed - 06 Juin 2020 à 14:26:05
Cliquez pour afficher le message
Sur ryzom, ils ont intégré rocket.chat
Dernier message par pep - 06 Juin 2020 à 14:21:42
Cliquez pour afficher le message
Citation de: YannK le 06 Juin 2020 à 11:22:11
Juste pour info, le service OpenNeL qui gère le chat s'appelle Input Output Service (IOS) et il s'occupe également de la concaténation des messages et de leur traduction : https://khaganat.net/wikhan/fr:serveur_tour
Note pour le dev: comprendre comment ryzom_ios_service marche, comment intéragir avec d'autres services, et voir si y'a pas moyen d'intégrer un autre service à coté.
Dernier message par deed - 06 Juin 2020 à 13:31:43
Cliquez pour afficher le message
Je me demande si ça serai pas plus rentable de faire relier ios à xmpp pour salon interne et avoir une possibilité d'avoir les salons/mp en direct pour les externes.
Quittte à changer plus tard le module interne
Quittte à changer plus tard le module interne
Dernier message par YannK - 06 Juin 2020 à 11:22:11
Cliquez pour afficher le message
Juste pour info, le service OpenNeL qui gère le chat s'appelle Input Output Service (IOS) et il s'occupe également de la concaténation des messages et de leur traduction : https://khaganat.net/wikhan/fr:serveur_tour
Dernier message par pep - 06 Juin 2020 à 01:54:07
Cliquez pour afficher le message
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06
Alentours
Alentours est vraiment un truc particulier. Le serveur de jeu reçoit et renvoie régulièrement la présence des diverses personnes connectées, il sait où chaque personnage se situe sur la carte du monde. À mon avis, c'est lui qui envoie l'info "tu peux entendre tels personnes, elles sont dans ton périmètre". Il y a deux modes en alentours : quand on parle, on est entendu à 25m, et si on crie, cela s'entend jusqu'à 50m (de mémoire, on préfixe son message par /sh pour shout ?). Il n'y a pas de doute que le serveur envoie les infos, la difficulté sera d'arriver à les trouver et ensuite d'en faire quelque chose avec XMPP. Là où ça devient compliqué, c'est avec plusieurs personnes dont le périmètre des 25m se chevauchent. [..]
Ici, on a A et B qui papotent ensemble, ainsi que D, E, G,F. A et B n'entendent pas D, E, G,F et vice versa (tant que personne ne crie), ils sont trop loin les uns des autres. Par contre, C, qui est au milieu, entend à la fois A et B, mais aussi D (il aura donc un bout tronqué de la conversation que tient D avec E, G et F.
Yep c'est exactement ce que j'avais en tête !
D'après les précisions données sur le chat, il semblerait qu'il y ait différentes zones (« pays ») séparées par des temps de chargement, et donc il n'y a peut-être pas beaucoup de sens d'avoir un seul MUC pour tout le monde ici, mis à part peut-être pour des raisons techniques que je ne vois pas encore. Une joueuse ne pourra pas parler à une autre dans un pays différent (même voisin) via ce canal « alentours ».
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06
Alors, oui, dans l'absolu, le changement de nom est possible. Mais nous aimerions aussi implémenter en jeu un truc appelé cognomen [..]
Je note aussi que la notion de contact ("amis") reste présente dans notre conception du jeu. C'est sympa d'avoir des gens avec qui causer en direct . Seulement, sur Xmpp pour être en contact avec quelqu'un il faut forcément le JID, non ? Dans ce cas, chaque perso doit avoir son propre JID, car être ami avec Jiro ne veut pas dire qu'on sera ami avec Junon, même si ce sont deux persos joués par Janus.
D'accord, donc il faut un identifiant unique par personnage (potentiellement un Jid). Il y a aussi des personnages partagés entre joueuses et donc le mieux seraient que ces personnages gardent les mêmes identifiants je pense.
On a aussi parlé d'identité temporaire et de Burner Jid, je sais pas si ça peut être utile.
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06CitationEst-il question d'autoriser les joueuses à avoir des conversations privées, une à une ?Oui même entre personne qui ne se connaissent pas. Mais il faut aussi des outils de gestion des contacts : pouvoir ajouter cette inconnu à sa liste de contact, et pouvoir aussi blacklister une personne afin de ne plus l'entendre.
Il faudra toujours avoir accès à l'identifiant du joueur. J'imagine qu'il pourra y avoir une fonctionnalité de mapping pseudo -> identifiant xmpp pour accéder à ça.
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06CitationQuid des archives de chat (en jeu) ? Y en a-t-il ? Doit-on penser à faire que le serveur les diffuse quand un client se connecte ? Sont-elles gardées en local ?[..]
Le but n'est pas d'avoir les derniers messages quand on se connecte, aussi. C'est du temps réel : si tu n'étais pas là, trouve quelqu'un qui te raconte l'histoire (ou te partage ses logs)
Ok ! Vu d'ici, ne pas stocker de logs ça me facilite la tâche.
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06
- "Maintenance" est un peu à part, c'est vraiment un canal système, il n'y a pas de raison de pouvoir écrire dessus.
- "Monde" réunit toutes les personnes connectées au MMORPG (avec pseudos des personnages), mais on pourra aussi s'y connecter avec un client "sans jeu" pour papoter avec les gens.
Il va falloir penser donc à accueillir des gens qui se connecteraient avec des clients normaux et ce que ça implique niveau fonctionnalités (et sécurité).
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06
- Support, rien à dire, un MUC absolument classique, si ce n'est qu'il faut s'y co avec son pseudo-joueur et non son pseudo-personnage... mais ça se discute
Niveau modération, serait-il plus facile si il était possible d'associer un personnage à un compte ?
Je ne sais pas si Janus, Jiro et Orij devraient tous avoir leur propre Jid avec peut-être un outil reservé aux modos pour permettre d'associer ces Jid à un compte. Ou alors un compte, des identifiants de connexion (login/passwd), et .. je vais réfléchir.
Citation de: Zatalyz le 05 Juin 2020 à 23:08:06
[..]
- Equipe : ce sont des MUC temporaires, qui disparaissent quand la dernière personne dessus se déconnecte. Pas de reconnexion automatique et on ne peux les rejoindre qu'en étant invité par un autre membre de l'équipe. À noter qu'au niveau jeu, être en "équipe" avait un impact gameplay, puisque l'xp était calculée en fonction des membres du groupe. Mais on vire l'xp dans Khaganat, donc ça sera pas un souci. Il y a aussi la possibilité de valider des quêtes à plusieurs, à condition de les avoir pris individuellement... faudra voir comment on lie ça, ou même si on le garde comme ça, ça peut vraiment évoluer.
[..]
Par contre, en effet, si on se fait virer ou qu'on quitte une Organisation, on doit automatiquement perdre l'accès aux salons privés de cette organisation.
Yep, Il faut une interface entre serveur XMPP et serveur de jeu. Chacun va avoir besoin de demander des infos (présence, position, etc.) / faire des actions (faire perdre l'accès à une organisation) avec l'aide de l'un ou l'autre.
Dernier message par Zatalyz - 06 Juin 2020 à 00:10:48
Cliquez pour afficher le message
Un premier lot de la suite discutée sur XMPP.
Edit : et j'ai mis la fin de la soirée
Spoiler for Hiden:
Edit : et j'ai mis la fin de la soirée
Dernier message par Zatalyz - 05 Juin 2020 à 23:08:06
Cliquez pour afficher le message
Alentours
Alentours est vraiment un truc particulier. Le serveur de jeu reçoit et renvoie régulièrement la présence des diverses personnes connectées, il sait où chaque personnage se situe sur la carte du monde. À mon avis, c'est lui qui envoie l'info "tu peux entendre tels personnes, elles sont dans ton périmètre". Il y a deux modes en alentours : quand on parle, on est entendu à 25m, et si on crie, cela s'entend jusqu'à 50m (de mémoire, on préfixe son message par /sh pour shout ?). Il n'y a pas de doute que le serveur envoie les infos, la difficulté sera d'arriver à les trouver et ensuite d'en faire quelque chose avec XMPP. Là où ça devient compliqué, c'est avec plusieurs personnes dont le périmètre des 25m se chevauchent. Voici un petit schéma à durée limitée (un an ) montrant les cercles où les gens entendent :
Ici, on a A et B qui papotent ensemble, ainsi que D, E, G,F. A et B n'entendent pas D, E, G,F et vice versa (tant que personne ne crie), ils sont trop loin les uns des autres. Par contre, C, qui est au milieu, entend à la fois A et B, mais aussi D (il aura donc un bout tronqué de la conversation que tient D avec E, G et F.
Ça me semble un bon challenge. Mais le client de Ryzom arrive à le faire, donc c'est possible
Pour des raisons pratiques, le serveur est quand même découpé en Régions. Une région peut être assez grande (quelques kilomètres "en jeu"), et on a là un des trucs assez puissant du serveur : ces régions peuvent être gérées par des serveurs physiques différents. En fait, le serveur de jeu est extrêmement modulable : chaque service ou presque peut être sur une machine physique différente, et certains de ces services sont par régions (si je ne dis pas de bêtise), permettant encore une plus grande granulosité. C'est ce qui permet d'envisager des milliers de joueurs connecté au même monde (ou "shard").
C'est d'ailleurs aussi un truc à garder impérativement à l'esprit dans les choix techniques : Ryzom Core est un vrai moteur de MMORPG, il permet une montée en charge démentielle. Elle est en partie possible grâce à l'échange réseau extrêmement faible entre un client et le serveur. Pour donner un ordre d'idée, j'ai joué à Ryzom quelques mois en ayant juste une clé 3G dans une zone mal couverte. Non seulement j'étais rarement déconnectée, mais ma consommation était de l'ordre de quelques Mo chaque soir (moins de 10 Mo pour plusieurs heures de jeu, c'est sûr, mais je ne me souviens plus des chiffres exactes... en tout cas ça m'avait bluffé). Il vaut mieux, car le serveur de son côté multiplie les chiffres à chaque client connecté. Certes, aujourd'hui il y a la fibre dans les data center, mais garder une empreinte réseau aussi basse que possible reste un objectif, en partie pour limiter la fracture numérique (qu'on puisse jouer même au fin fond d'un trou en Edge, ou au centre de Parisun soir de week-end), en partie pour éviter de devoir payer trop cher en bande passante côté serveurs Et il faut vraiment avoir en tête le côté Massif du mot MMORPG : le but est de permettre des milliers de communications simultanées.
Mais on aura pas des milliers en alentours, de mémoire ça doit se limiter à 256 entités ?
Je note aussi que la notion de contact ("amis") reste présente dans notre conception du jeu. C'est sympa d'avoir des gens avec qui causer en direct . Seulement, sur Xmpp pour être en contact avec quelqu'un il faut forcément le JID, non ? Dans ce cas, chaque perso doit avoir son propre JID, car être ami avec Jiro ne veut pas dire qu'on sera ami avec Junon, même si ce sont deux persos joués par Janus.
Dans le genre "à lire", il y a Gameplay : Kom (et les onglets associés, Développement et Général, peuvent apporter des précisions utiles).
Le but n'est pas d'avoir les derniers messages quand on se connecte, aussi. C'est du temps réel : si tu n'étais pas là, trouve quelqu'un qui te raconte l'histoire (ou te partage ses logs)
- "Maintenance" est un peu à part, c'est vraiment un canal système, il n'y a pas de raison de pouvoir écrire dessus.
- "Monde" réunit toutes les personnes connectées au MMORPG (avec pseudos des personnages), mais on pourra aussi s'y connecter avec un client "sans jeu" pour papoter avec les gens.
- les "Canaux régionaux" seront accessibles à partir du moment où le personnage est présent physiquement dans la région en question (il y a donc besoin de lier ça à sa position).
- Support, rien à dire, un MUC absolument classique, si ce n'est qu'il faut s'y co avec son pseudo-joueur et non son pseudo-personnage... mais ça se discute
- Equipe : ce sont des MUC temporaires, qui disparaissent quand la dernière personne dessus se déconnecte. Pas de reconnexion automatique et on ne peux les rejoindre qu'en étant invité par un autre membre de l'équipe. À noter qu'au niveau jeu, être en "équipe" avait un impact gameplay, puisque l'xp était calculée en fonction des membres du groupe. Mais on vire l'xp dans Khaganat, donc ça sera pas un souci. Il y a aussi la possibilité de valider des quêtes à plusieurs, à condition de les avoir pris individuellement... faudra voir comment on lie ça, ou même si on le garde comme ça, ça peut vraiment évoluer.
- Organisation : c'est l'équivalent des Guildes, sachant qu'on peut faire partie de plusieurs Organisations. Ce sont des salons privés et permanents.
Alentours est vraiment un truc particulier. Le serveur de jeu reçoit et renvoie régulièrement la présence des diverses personnes connectées, il sait où chaque personnage se situe sur la carte du monde. À mon avis, c'est lui qui envoie l'info "tu peux entendre tels personnes, elles sont dans ton périmètre". Il y a deux modes en alentours : quand on parle, on est entendu à 25m, et si on crie, cela s'entend jusqu'à 50m (de mémoire, on préfixe son message par /sh pour shout ?). Il n'y a pas de doute que le serveur envoie les infos, la difficulté sera d'arriver à les trouver et ensuite d'en faire quelque chose avec XMPP. Là où ça devient compliqué, c'est avec plusieurs personnes dont le périmètre des 25m se chevauchent. Voici un petit schéma à durée limitée (un an ) montrant les cercles où les gens entendent :
Ici, on a A et B qui papotent ensemble, ainsi que D, E, G,F. A et B n'entendent pas D, E, G,F et vice versa (tant que personne ne crie), ils sont trop loin les uns des autres. Par contre, C, qui est au milieu, entend à la fois A et B, mais aussi D (il aura donc un bout tronqué de la conversation que tient D avec E, G et F.
Ça me semble un bon challenge. Mais le client de Ryzom arrive à le faire, donc c'est possible
Pour des raisons pratiques, le serveur est quand même découpé en Régions. Une région peut être assez grande (quelques kilomètres "en jeu"), et on a là un des trucs assez puissant du serveur : ces régions peuvent être gérées par des serveurs physiques différents. En fait, le serveur de jeu est extrêmement modulable : chaque service ou presque peut être sur une machine physique différente, et certains de ces services sont par régions (si je ne dis pas de bêtise), permettant encore une plus grande granulosité. C'est ce qui permet d'envisager des milliers de joueurs connecté au même monde (ou "shard").
C'est d'ailleurs aussi un truc à garder impérativement à l'esprit dans les choix techniques : Ryzom Core est un vrai moteur de MMORPG, il permet une montée en charge démentielle. Elle est en partie possible grâce à l'échange réseau extrêmement faible entre un client et le serveur. Pour donner un ordre d'idée, j'ai joué à Ryzom quelques mois en ayant juste une clé 3G dans une zone mal couverte. Non seulement j'étais rarement déconnectée, mais ma consommation était de l'ordre de quelques Mo chaque soir (moins de 10 Mo pour plusieurs heures de jeu, c'est sûr, mais je ne me souviens plus des chiffres exactes... en tout cas ça m'avait bluffé). Il vaut mieux, car le serveur de son côté multiplie les chiffres à chaque client connecté. Certes, aujourd'hui il y a la fibre dans les data center, mais garder une empreinte réseau aussi basse que possible reste un objectif, en partie pour limiter la fracture numérique (qu'on puisse jouer même au fin fond d'un trou en Edge, ou au centre de Parisun soir de week-end), en partie pour éviter de devoir payer trop cher en bande passante côté serveurs Et il faut vraiment avoir en tête le côté Massif du mot MMORPG : le but est de permettre des milliers de communications simultanées.
Mais on aura pas des milliers en alentours, de mémoire ça doit se limiter à 256 entités ?
CitationVeut-on s'assurer coté client que les joueuses soient les mêmes après avoir changé de pseudonymes ? Est-ce possible en jeu de renommer un personnage ? Par exemple Georgette fait « le nécessaire administratif » pour s'appeler Marie, veut-on s'assurer que les nouvelles discussions avec Marie auront lieues à la suite de celles avec Georgette ? Ou alors doivent-elles être dissociées ?Je n'avais pas pensé à ça. Alors, oui, dans l'absolu, le changement de nom est possible. Mais nous aimerions aussi implémenter en jeu un truc appelé cognomen (voir aussi ce sujet bilan sur le forum, qui pose pas mal de choses Re: Bilan sur les cognomens. Vous sentez venir les complexités amusantes ?
Je note aussi que la notion de contact ("amis") reste présente dans notre conception du jeu. C'est sympa d'avoir des gens avec qui causer en direct . Seulement, sur Xmpp pour être en contact avec quelqu'un il faut forcément le JID, non ? Dans ce cas, chaque perso doit avoir son propre JID, car être ami avec Jiro ne veut pas dire qu'on sera ami avec Junon, même si ce sont deux persos joués par Janus.
Dans le genre "à lire", il y a Gameplay : Kom (et les onglets associés, Développement et Général, peuvent apporter des précisions utiles).
CitationEst-il question d'autoriser les joueuses à avoir des conversations privées, une à une ?Oui même entre personne qui ne se connaissent pas. Mais il faut aussi des outils de gestion des contacts : pouvoir ajouter cette inconnu à sa liste de contact, et pouvoir aussi blacklister une personne afin de ne plus l'entendre.
CitationQuid des archives de chat (en jeu) ? Y en a-t-il ? Doit-on penser à faire que le serveur les diffuse quand un client se connecte ? Sont-elles gardées en local ?Alors, actuellement il y a des logs de tout ce qui se dit, même les trucs privés. En clair. Faut être sysadmin pour y avoir accès, mais cela ne nous semble pas du tout acceptable. Il y a eu des abus à ce propos sur le serveur de Ryzom, et il nous semblerais plus simple de ne pas garder ce genre de chose. D'un autre côté, il y a peut-être une obligation au regard de la loi. Mais pour moi, les conversations privées (même en petit groupe) concernent uniquement les personnes présentes. Que ces dernières gardent les logs, OK. Mais que des inconnus sysadmin (ou crackers) puissent les lire, c'est malsain.
Le but n'est pas d'avoir les derniers messages quand on se connecte, aussi. C'est du temps réel : si tu n'étais pas là, trouve quelqu'un qui te raconte l'histoire (ou te partage ses logs)
Citation# Autres canaux de communication ?Historiquement, on a d'autres canaux, oui. Ils sont listés dans l'article du kom (plutôt dans la partie Général). Je pense cependant qu'ils sont assez simples si le reste est traité : il s'agit de salons classiques.
- "Maintenance" est un peu à part, c'est vraiment un canal système, il n'y a pas de raison de pouvoir écrire dessus.
- "Monde" réunit toutes les personnes connectées au MMORPG (avec pseudos des personnages), mais on pourra aussi s'y connecter avec un client "sans jeu" pour papoter avec les gens.
- les "Canaux régionaux" seront accessibles à partir du moment où le personnage est présent physiquement dans la région en question (il y a donc besoin de lier ça à sa position).
- Support, rien à dire, un MUC absolument classique, si ce n'est qu'il faut s'y co avec son pseudo-joueur et non son pseudo-personnage... mais ça se discute
- Equipe : ce sont des MUC temporaires, qui disparaissent quand la dernière personne dessus se déconnecte. Pas de reconnexion automatique et on ne peux les rejoindre qu'en étant invité par un autre membre de l'équipe. À noter qu'au niveau jeu, être en "équipe" avait un impact gameplay, puisque l'xp était calculée en fonction des membres du groupe. Mais on vire l'xp dans Khaganat, donc ça sera pas un souci. Il y a aussi la possibilité de valider des quêtes à plusieurs, à condition de les avoir pris individuellement... faudra voir comment on lie ça, ou même si on le garde comme ça, ça peut vraiment évoluer.
- Organisation : c'est l'équivalent des Guildes, sachant qu'on peut faire partie de plusieurs Organisations. Ce sont des salons privés et permanents.
CitationIl faut des salons quand lier à une guilde, alliance, fame .... qui doit changer si on change de guilde, alliance, fame ....Il n'y a que le mécanisme des Organisations sur Khanat, qui est plus complexe que les guildes de Ryzom vu qu'on peut cumuler. Les réputations ne donnent pas d'accès à des canaux particuliers, elles vont être bien plus variées que dans Ryzom (enfin... une bonne réputation auprès d'un groupe peut permettre de rejoindre l'Organisation auquel il appartient, mais on est donc dans le cas de base). Par contre, en effet, si on se fait virer ou qu'on quitte une Organisation, on doit automatiquement perdre l'accès aux salons privés de cette organisation.