Le RPG Dracca
#11
Hello bon je suis en retard d'un train sur le sujet mais je regarde avec attention  et ça me fait penser à plusieurs trucs. Du coup

La dernière version que tu donnes me fait furieusement penser au jeu Therian Saga avec les points d'intérêts,  le craft, et la gestion du temps. A noter d'ailleurs qu'il y a bien des zones sur la carte aussi mais que ces zones sont extrêmement grandes (par rapport à la carte) et que leur objectif est de définir un type de terrain (quoi exploiter, quelle compétence de survie etc...) plutôt que d'être dans le côté je réfléchis à comment je me déplace

Je ne sais pas si tu l'as essayé mais ca vaudrait peut être le coup pour voir les points forts  et faibles du jeu. La gestion du temps est très particulière, un peu lourde pour moi et il y a une notion de maximisation obligatoire pour progresser parfois un peu trop poussée
Mais globalement un jeu intellectuel intéressant

Sinon question :
(09-13-2017, 03:07 PM)Xenos a écrit : Pour éviter la seconde et favoriser la 1ere, je voulais faire des cases non-régulières, comme un diagramme de Voronoï.
j'ai regardé un peu sur wikipedia de quoi il s'agissait. Bon y a pas mal de formules et autres mais j'ai compris globalement le principe... Cependant... je me suis dit que si j'avais lu l'article par hasard j'aurais certainement demander à un modeleur équationneur de mes connaissances (bon j'en connais qu'un, il commence par un X et finit toujours par trouver des os) comment il implémenterait ça

du coup  comment, avant de changer d'avis sur le concept, tu pensais stocker ta carte ? tu faisais des segments (id zone, id segment, x1, y1, x2, y2) ? ou autre chose et comment t'organisait tout ça ? qui est voisin de qui, etc... dans le code ?
[WIP]projet Rivages
[WIP]projet Arthur (comme si ça suffisait pas d'un...)
Répondre
#12
Pour le fait d'utiliser la carte comme une question de "zone de terrain", ouep, c'est le même principe. Je n'ai pas essayé ce jeu, j'y jetterai un oeil le week end prochain (si t'as toi-même déjà des listes de points forts et faibles, je suis donc preneur 16 )
Je vais éviter la notion de "maxima" car effectivement, je la trouve compliquée à coder mais surtout à jouer (sur la v0 d'ECLERD, c'est ce que j'avais). Je préfère finalement la notion de choix: au lieu de "gagner si on garde un compteur à 50%", je vais tenter de donner le choix au joueur entre 100% ou 0%, les deux permettant de "gagner", mais de deux façons différentes (un peu comme si on essayais de gagner une quête par la force brute, en tabassant un type jusqu'à ce qu'il nous donne l'information, ou en essayant de la lui sous-tirer subtilement).

Pour le Voronoï, dans un premier temps, je me suis dit "j'vais l'implémenter direct, lol, ça sera facile" mais... pfff... non, ça serait très chiant à faire automatiquement, et cela m'empêcherais de faire des ajustements manuels si j'en avais envie (ce second point est ce qui m'a vite bloqué). Du coup, je me suis tourné vers l'idée d'utiliser Inkscape. Le principe était alors de concevoir la carte via ce soft, et de m'en servir comme d'un "éditeur de carte"... D'autant qu'il existe directement un plugin (nativement inclus avec l'installation de base) permettant de créer un "motif de Voronoï". On sélectionne une tuile de base (un polygone-clone de la région de la carte) et on exécute le plugin, en indiquant la taille approximative de cellule qu'on veut. Le motif (une texture vectorielle) est alors généré. De là, on peut convertir le motif en un objet (donc, un "path" SVG). Après, il faut cropper ce path pour qu'il reste à l'intérieur de la région (on reduplique le polygone de la région, et on utilise l'outil "cut path" je crois). Une dernière manip' (mais là, je l'ai oubliée :/) permet de changer ce path en un ensemble de polygones SVG.

Une fois cette map SVG faite (je m'aperçois que la question ne portait pas là-dessus, tant pis!), il n'y a plus qu'à prendre chaque cellule et la stocker en BDD, sous la forme d'un POLYGON (extension GEOMETRY de MySQL). La conversion polygonSVG->WKT (Well Known Text) n'est pas compliquée, ce sont deux formats textes. Ensuite, les régions sont en fait des groups SVG "g": un groupe possède son ID et rassemble, en enfants XML, tous les polygons des cases de la région. Donc détecter stocker qu'un polygon fait partie de telle région, c'est trivial. Enfin, pour la détection de qui est voisin de qui, je pensais utiliser simplement l'extension GEOMETRY de MySQL (là encore) qui permet de savoir si deux polygones sont en contact (IS_TOUCHING() je crois). Si cela n'avait pas suffit, j'aurai "juste" bouclé sur chaque polygone en BDD, et cherché pour chaque autre polygone si il y avait 2 points en commun entre ces polygones (affreusement long je pense, mais fonctionnel, car de la façon dont Inkscape passe du pathSVG des frontières de Voronoï à un ensemble de polygones qui sont les cellules du Voronoï, les sommets sont conservés: deux polygons ont alors un côté commun si et seulement si ils ont deux points superposés). Le stockage de qui est voisin de qui se serait alors fait via une table dédiée, deux colonnes d'ID (une par polygone) et d'éventuelles propriétés de cette connexion.
Répondre
#13
Hello!

Ca y'est, je reprends ce projet en main. La construction d'un univers, les interactions entre les personnages, l'aventure, tout ça, ça m'a manqué. Alors, maintenant que j'ai fini de rassembler les morceaux dispersés de ce projet, je peux m'attaquer au RPG en lui-même.

Rapidement, d'abord, "rassembler les morceaux", ça veut dire qu'avant, j'avais 5 wordpress: 1 gamebook français, 1 gamebook vide anglais (parce que le gb n'a pas été traduis), un wiki FR, un wiki EN, et un site de présentation de Dracca. Comme ces morceaux étaient "dispersés", j'ai jugé plus intelligent de les rassembler dans 1 seul projet classique, avec la même architecture que les autres (la même qu'ECLERD, que le futur Variispace ou que mon back office). Du coup, certes, j'ai "perdu" 2 semaines à faire ça, mais je compte ensuite gagner:

- La possibilité de lier plus facilement des éléments du RPG au wiki (ie: faire un lien du jeu vers le wiki devient facile, puis les deux sont dans le même projet IntelliJ: il me suffit maintenant de faire un <?php Html::out(WikiCharacterDracquintsDomiarr::uri()); ?> pour faire un lien vers la page wiki de Domiarr. De plus, je pourrai faire le "lien inverse", et n'afficher que certaines pages/parties du wiki si et seulement si le joueur est connecté et a débloqué des choses (ie: il a déjà rencontré le personnage avant de pouvoir accéder à sa bio générale, et il assez parlé avec lui pour débloquer sa bio complète)

- Le gamebook ne sera jamais poursuivit dans cette forme: trop lourd, trop complexe à écrire, trop peu d'intérêt (car, je pense, trop lourd à entamer!). Donc, je peux le reléguer dans une partie "prototype" du projet (où le "dialoguez avec un dragon" pourrait aussi atterrir à terme). Cela me permet de clarifier ma ligne de travail: le gamebook, on oublie, il n'avancera pas (je ne le jette pas pour autant, ça me ferait trop mal!) et je me concentre sur le RPG

- J'y gagne aussi le versionning, que je n'avais pas avant sur les wordpress. Ce sera sûrement pratique à terme.

- Et de toute façon, pour faire un RPG Dracca, il me faut démarrer un projet de jeu web classique (au sens de "même archi qu'ECLERD, avec un depot Mercurial, un "framework" maison, etc), donc, j'aurai de toute façon besoin d'un projet classique: autant mettre les "wiki" (qui ne sont pas éditables par la communauté de toute façon, et les commentaires n'ont jamais servi) et le proto du gamebook avec. Ainsi que les mini-dialogues.

Niveau contenu du RPG maintenant... eh bien... je ne sais pas trop! Je vais m'y pencher ce soir, mais sur le principe, j'envisage d'avoir:
- Le joueur peut avoir 1 et un seul compte de jeu
- Via ce compte de jeu, il peut créer 1 ou plusieurs personnages ("own character", ou "OC")
- Chaque personnage sera raccroché à un lieu du RPG, ou à une "quête", qui constitue une entité scénaristique autonome, c'est à dire un "donjon", pouvant prendre un peu n'importe quelle forme (mini jeu? court gamebook? puzzle? dialogue interactif? etc). La sortie d'un donjon débouche alors forcément sur un lieu, auquel le personnage sera alors rattaché
- Je ne prévois pour l'instant pas de "donjon multi-personnage" (que ces personnages soient à un même joueur ou pas). Mais je n'exclus pas cette possibilité à terme, car cela me semblerait sympa d'aller à l'aventure avec son groupe de persos, ou avec les persos des copains
- Chaque personnage devra également disposer de caractéristiques, d'un inventaire (classiques) et aussi, d'un "historique" des actions. L'intérêt étant de pouvoir d'une part jeter un oeil en arrière, et voir ce qu'on a accompli, et d'autre part, cela me permettra de faire influer cet historique sur la relation entre le personnage et les autres: un PNJ qu'un personnage A aurait tué, et qu'un personnage B aurait rescuicité aura plus d'affinités avec B qu'avec A 2

Cela reste donc assez vague pour l'instant, et ce qu'il va surtout me falloir faire, c'est démarrer "petit mais fonctionnel". Ne comptez pas sur une carte isométrique ou en 3D avec des personnages qui bougent en temps réel. C'est pas le but. On serait beaucoup plus dans le "jeu de plateau virtualisé", avec un gameplay proche de "[je lance un dé] (lol, faut pas déconner, on connait mon "anti-amour" du hasard! : ) ), j'avance mon pion, je résous les actions de la case où j'arrive, et je recommence".

Si vous avez des RPG dans votre bibliothèque (virtuelle ou réelle, les jeux sur table sont de bonnes sources d'inspiration aussi!), n'hésitez pas à me les partage 16
Répondre
#14
Quelques nouvelles?!

Le projet avance: l'inscription, la connexion, le compte, la validation du mail etc sont faits depuis longtemps (trivial), et la création de personnages est en place. Le joueur peut donc créer autant de dragons qu'il le souhaite (disons en tous cas que la limite a peu de chances d'être légitimement atteinte, disons, 100 dragons max):

[Image: characters-0.png]

Ensuite, il faudra qu'un ami déjà en jeu nous offre un cristal de vie pour que le dragon qu'on a créé puisse rejoindre la partie (il la rejoindra à l'endroit où l'ami en question a utilisé ce cristal). Cela donne une cohérence en terme de roleplay (le dragon de mon ami utilise le cristal de vie qui est dans sa sacoche pour faire apparaitre un autre dragon). Cela permet aussi d'encourager l'entraide entre joueurs (c'est ce qui a foiré sur ECLERD: on est trop chacun dans son coin). En plus, le même système peut être utilisé pour faire apparaitre le dragon d'un autre joueur ou un de ses propres dragons (en d'autres mots, mon ami déjà en jeu peut utiliser son cristal de vie pour faire apparaitre un 2e dragon à lui, ou utiliser ce même cristal de vie pour faire apparaitre mon dragon à moi).

Une fois en jeu, on a la fiche de stats du dragon en question (très sommaire pour l'instant):

[Image: character-xenos-0.png]

Le personnage sera alors visible sur la carte, et on pourra commencer vraiment la partie.

Niveau carte, je pars sur un système arborescent: on a l'île principale
[Image: map-1.png]

Qui est découpée en "zones", et au clic d'une zone (ici, le "Tjars"), on voit la carte de ladite zone:

[Image: map-2.png]

Dans cet exemple, la "sous-carte" (le Tjars) est très semblable à la carte principale (l'île d'Insularyuu), mais le but du jeu sera ensuite de personnaliser les lieux, de sorte que la ville (par exemple, Tichors ici) affiche un "plan" avec ses rues, ses auberges, etc. Bon, actuellement, c'est vide, mais pour vous montrer que le lieu "Tichors" n'a pas la même carte (ici, vide) que son lieu "parent" (le Tjars), voici la screen de Tichors:

[Image: map-3.png]

Ou encore, la plage (Windy Beach) pourrait avoir comme carte un plateau en vue de haut, avec des cases permettant aux joueurs de se déplacer sur la plage. Ou encore, pour une rivière, cela sera peut-être juste un "trait" avec la position du dragon sur la rivière (dans l'eau, ou sur l'une des deux rives). etc.
Le but est de permettre d'avoir une grande diversité dans la *nature* même des lieux (pas juste dans la statistique "ah ben c'est un lieu de type 'plage' donc on voit loin mais on avance lentement"). Cela me permettra d'ajouter des minis-jeux dans tout ça, et de proposer des expériences de jeu uniques dans chaque lieu sans risque d'exploser les autres (on connait tous les principe du "j'ai 1 seul code pour tout" qui débouche sur "je l'ai modifié pour coller à tel cas spécifique, et ça a planté tous les autres cas" et là, faire des "tests automatisés" sur la nature des choses, ça me semble sur-complexe 2 )

L'étape suivant consiste donc à afficher les personnages dans ces différents lieux, et à faire le endpoint pour la "Windy Beach", qui sera mon premier lieu vraiment opérationnel.

Je ne sais pas quand je ferai la première release, mais je pense qu'il faudra la faire au plus tôt. Or, j'ai énormément de lieux à l'heure actuelle... Il faudra donc sûrement que je rende certains lieux "indisponibles pour le moment", histoire de faire une release assez tôt, et de rajouter ces lieux un à un.
PS: le background aussi devra être spécifique à chaque lieu, histoire d'avoir un effet sympa. Terragen (et les banques d'images déjà faites dessus!) me sera fort utile...!
Répondre
#15
C'est chouette, mais du coup tu dis que c'est assez vague pour le moment le contenu du RPG, est-ce qu'il ne faudrait pas dans un premier temps choisir ce que tu voudrais que les joueurs puissent faire dans cet univers ? Sinon ne risques-tu pas de t'attarder sur des éléments de jeu qui risquent de passer à la trappe ou d'être relégué au second plan, et de perdre beaucoup de temps pour développer une première version ? Et tu as pensé à intégrer tes minis-jeux là dedans ? Par exemple pour accéder à une zone, le mini jeu de ton dragon qui doit voler jusqu'au bout. Ou même créer des éclairs pour accéder à quelque chose. C'est des contenus chouettes, intégrés dans un jeu global ils pourraient gagner beaucoup d'intérêt et donner un but au joueur qui aurait envie d'aller au bout.

Perso pour lancer mon (M)MORPG, je suis parti sur le principe de "vivre dans un univers et choisir ce qu'on veut faire de son personnage". Du coup un espèce de monde ouvert, je suis parti sur différents systèmes de jeu : le combat, l'artisanat (récolte - création - vente), la découverte de l'univers (interaction avec des personnages, découvertes de mystères), et j'envisage de développer un petit côté exploration. Tous mes éléments de jeu sont développés à partir de ça, et pareil au niveau des personnages et de la géographie, ils ont tous un intérêt par rapport à un élément du gameplay (et même généralement se recroisent les uns les autres) et rentrent dans un tout.
Par exemple, le personnage de Rocco, il est à la fois là pour initier aux combats, on peut le revoir pour apprendre l'herboristerie, et on peut tomber sur plusieurs scènes de lui en jeu de dialogues avec choix de réponses. Personnage 100% optimisé :p Ce qui m'a permi d'éviter de développer 3 personnages différents, et qui en plus me permet d'approfondir le background du personnage et de lui donner de la contenance 34

D'ailleurs, dans le sens inverse, j'ai choisi l'académie Erentis un peu par hasard, et du coup je me retrouve confronté à un gros problème : l'ile sur laquelle elle est située est très pauvre en diversité, peu de lieux différents, peu de créatures sur l'île, c'est assez calme... Pour trouver comment intégrer l'exploration et les monstres par exemple, c'est assez casse-tête, je dois creuser loin, voir envisager qu'on doive voyager pour avoir plus de contenu. Mais voyager dans un autre endroit implique... Encore plus de contenu à réaliser. Là dessus j'estime m'être un peu planté, mais c'est trop tard, j'ai tout fait autour de ça :p

Ce que j'adore comme type de RPG, ce sont ceux qui permettent d'influencer le cours de l'histoire, et de spécialiser son personnage en fonction des dialogues. Mais c'est pas simple à faire :p J'essaie de le faire sur L'Ile du Coeur, j'en vois vite les limites 34 Je pense que ça demande un scénario assez long pour être bien exploité.
Répondre
#16
Oui, c'est assez vague, mais je sais que l'idée générale est: le joueur crée son dragon, démarre dans la partie grâce à un autre dragon déjà présent, et doit alors au moins faire survivre son dragon (d'une part: le nourrir, le faire dormir à l'abri, le soigner s'il y a des combats, chasser, trouver de l'eau s'il est dans le désert, etc) et au mieux lui faire vivre des aventures en réussissant des quêtes, histoire d'apprendre de nouveaux coups en combat, de débloquer des items, de parler et découvrir d'autres personnages, etc.

C'est dans le "etc" que c'est vague 2

Oui, le dragon volant pourrait être une très bonne transition dans certains cas, je compte bien trouver comment "l'intégrer" dedans (l'intégration étant à entendre comme "le mini-jeu actuellement existant disparait, et son principe se retrouve dans le RPG de Dracca"; c'est pas une intégration style "je fais une iframe avec le mini-jeu dedans")

C'est un peu le même principe oui; ce n'est pas "open world" au sens littéral du terme, car je compte bien mettre du narratif, mais on peut le voir comme GTA San Andreas: des quêtes préconçues, à remplir plus ou moins dans l'ordre, avec la différence qu'étant multi-joueur, les actions des uns influenceront les autres.

Oui, il me semblait bien avoir déjà vu ce personnage (j'ignorais qu'il s'appelait Rocco, il a dû le dire, et j'ai pas écouté :p ). Y'aura un peu de ça ici. Typiquement, je pense que Colmarr va se voire promu "PNJ qui se charge des boutiques in-game du jeu" [pas des machines à cash de "free2play pay2win" hein, boutique au sens de l'endroit où mon personnage va acheter des items du jeu avec des sous du jeu.

Le truc, c'est qu'un "cours de l'histoire", c'est très compliqué à avoir sur un MMO 2 et si t'arrives à le rendre pleinement influencé par les joueurs, alors, tu ne le maîtrise plus, et tu ne peux plus créer le scénario d'avance...
Répondre
#17
Ah oui donc la base c'est un peu la survie, sympa, tu devrais te concentrer là dessus, ya beaucoup à faire déjà 34 Et puis s'occuper d'un dragon à la façon Tamagochi ou Neopet avec en plus le côté survie, je pense que ça peut être une très bonne base de jeu plaisante.

Ah tu te souviens de Rocco c'est bien déjà :p

Ouai, ya Star Wars le MMORPG de Bioware que le fait, mais un peu bizarrement pour de multiples raisons :
- L'histoire est une histoire individuelle, et la même pour tous les joueurs. Du coup chaque joueur tue le même personnage etc. Est-ce que c'est très dérangeant ? Je ne sais pas. C'est un peu perturbant au niveau de la cohérence de l'univers je trouve. On joue avec des clones de soi en quelque sorte, et dans un temps parallèle au leur. Ca pourrait passer si c'était vraiment crédible que chacun vive la même histoire : réalités alternatives, illusions par lesquelles tout le monde passe, passages obligatoires de soldats ou d'étudiants sans que le même personnage ne meurt dans chaque histoire... Finalement c'est plutôt la personnalisation de son personnage que je trouve intéressant là dedans. S'orienter en fonction de ses décisions. Et après j'aime bien l'idée que le cumul des choix des joueurs puisse changer le monde ou le scénario, mais ça c'est une autre affaire :p
- Il y a de nombreuses quêtes qui ne servent à rien à la "Tue 10 fois ça, collecte 20 fois ça, va détruire ça la bas" incessantes entre les différents chapitres du scénario... C'est vraiment lourd. Après bon, "tue des monstres" et "ramène la plante a un PNJ" ça a jamais été follement intéressant en tant que soi. Ya beaucoup de MMORPG qui tombent là dedans sans que ça ait le moindre intérêt... Mais du coup ils ont juste essayer de rallonger le jeu comme ça en le rendant MMORPG par la même occasion, mais c'est totalement nul.
- Finalement, l'histoire n'a aucun impact sur l'univers en lui-même, alors que ça se veut avoir un impact. Du coup on finit par se dire "mais, j'aurais dû être un des rares et puissants seigneurs sith ? Yen a mille autres devant moi plus fort que moi..." Et ça n'intègre pas du tout les autres joueurs là dedans.

Fin bref, ya des choses à faire et à trouver je pense, mais oui c'est assez complexe 34

En tous cas j'ai hâte de voir le résultat. Ca fait plaisir de voir un autre MMORPG web en développement. On va lancer une nouvelle mode de MMORPG webs :p
Répondre
#18
Hello je trouve l ambiance graphique très sympas félicitations (j aime pas trop la fonte sur la carte mais bon)

Par contre je ne comprends pas le principe de il faut un ami pour créer son premier dragon

Si on n'a pas d amis on fait comment ?

Ton jeu à t il besoin de bcp de joueur (mmo) pour être intéressant ou juste 10 joueurs suffisent ? Ce système de j'ai besoin de quelqu'un pour démarrer ne va t il pas être un frein à l inscription ? Ou bien j ai pas compris
[WIP]projet Rivages
[WIP]projet Arthur (comme si ça suffisait pas d'un...)
Répondre
#19
C'est assez expérimental en effet de devoir "avoir un ami" pour démarrer le jeu; je ne sais pas du tout s'il fonctionnera bien.
Niveau nombre de joueurs, je pense qu'une vingtaine d'actifs permettrait d'avoir un jeu sympa. Comme le jeu évoluera peu si on n'est pas présent, cela ne devrait pas être un soucis d'être peu nombreux (mais sûrement présents en même temps, je pense que cela constituerait une grosse part de l'intéret du jeu que de jouer à plusieurs en même temps). Les seules évolutions si on est absent seront les stats faim/soif du dragon (et le risque de se faire repérer et attaquer).

Après, quand je dis "ami", cela sera sûrement sur la base d'un "code": rien ne m'interdit de poster le code de mon cristal de vie sur un forum publique, et rejoindra le premier qui le trouvera.
On peut créer son dragon sans ami, sans cristal. En revanche, c'est l'entrée en jeu qui requièrera un code (un cristal). Je pourrai toujours faire des "opé" par la suite, et donner 50 codes d'un coup sur la page d'accueil du jeu. Mais je perds l'intérêt initial qui est d'avoir quelqu'un pour nous guider quand on rejoint le jeu pour la première fois. On verra ce que ça donnera (sur Toyhouse, cela semble bien marcher, après, oui, cela bloque les joueurs qui arrivent "via google" sur le jeu, mais sont-ce vraiment les joueurs les plus nombreux?! sur ECLERD, non, les joueurs présents sont ceux que je connais ou des gens qui connaissent jeuweb, donc je pense que cela fonctionnera d'avoir un "code d'accès", incarné sous forme RP par un "cristal de vie"; et si ça foire, je changerai, c'est pas la fin du monde 2 )

Oui, la base initiale du jeu sera la "survie", histoire de comprendre comment on joue, mais j'aimerai rapidement aller au-delà (ce ne sera que la première release). Les quetes de remplissage, y'en aurar, c'est certain 2 ne serait-ce que parce qu'elles sont une source simple de survie (quelques pièces de récompense, un item d'armure ou une sacoche, ça aide face à la Nature, mais pas face à un "Landlord"). En revanche, j'espère effectivement avoir le temps et l'inventivité pour rajouter des quêtes d'histoire au fil de l'eau. Je ne sais pas encore lesquelles ("c'est vague"), mais c'est pas plus mal: cela me permettra de développer un scénario en fonction de ce que les joueurs auront fait de l'île.
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)