Crunchez vos adresses URL
|
Rejoignez notre discord
|
Hébergez vos photos
Page 1 sur 4 1234 DernièreDernière
Affichage des résultats 1 à 30 sur 118
  1. #1
    Sur ce topic Nous allons tenter de mettre en commun nos connaissances/réflexions pour construire un moteur de relation sociale tel qu'il pourrait être utilisé pour d'autres jeux.

    Ce post servira de "journal" ouvert à la communauté pour voir quels sont les problèmes/solutions techniques/conceptuels des programmes envisagés.

    Voici le post à l'origine de la réflexion.

    Si je devais créer un un générateur de quête aléatoire procédurale quels ingrédients j'y mettrais dedans pour assurer un intérêt sur la longueur ?

    De base on retrouve souvent ce modèle : Commanditaire+action+récompense.

    Développons chaque ingrédient

    Commanditaire
    L'origine de celui ci définit les actions permises (forcément : un roi va pas demander les mêmes choses qu'un clochard), ainsi que la récompense.
    J'y ajoute : la multiplicité des commanditaires possibles (au joueur de chercher qui pourrait être intéressé par une action pour multiplier les récompenses) Attention à ne pas s'engager dans des missions antagonistes.

    Action
    Assassiner, ramener X ingrédients (synonyme de farming), escorter, donner objet, trouver objet. Souvent associé à un élément définissant l'objectif.
    J'y ajoute : quêtes d'ordre sociale (diplomatie à toutes échelles)

    Récompense
    Xp, or, objet, information, quête. (en gros actuellement)
    J'y ajoute : récompense sociale.

    On en arrive à des quêtes du type : [le prince] demande [d'assassiner] [un noble] contre [de l'or]

    Ce qu'il faut rajouter pour garantir un peu de plus de variété :

    méta moteur de quête
    Au moment où la quête est généré, le moteur décide si il s'agira d'une quête à tiroir (rassembler plusieurs morceaux d'un artefact, assassiner une généalogie complète) ou d'une quête unique. Le méta moteur peut donc construire un "arbre de quête" pour pousser le joueur vers un objectif unique.* Ou bien seulement une suite logique de quête.

    importance de la mission
    En plus de [demander] on rajoute d'autre degré d'exigence : [aimerait], [Ordonne] qui influx directement sur la récompense.

    conditions
    Les actions demandées peuvent s'assortir de conditions particulière pour la validation de la quête [discrétion], [utilisation d'un objet définit], [limite de temps]. Le remplissage ou non des conditions joue sur la récompense. On peut multiplier les conditions pour ajouter de la difficulté.


    On en arrive à :
    [Dans le cadre de la métaquête] [commanditaire(s)] [degré de demande] [action] [conditions] [récompenses].

    Je suis sûr qu'on peut trouver encore quelques variables mais là je sèche un peu.

    A noter qu'il faut en aval intégrer un moteur de relation sociale des PNJ pour arriver à créer des actions logiques/probables des acteurs de l'action. Un moteur basé sur les dépendances économique/morale, les filiations, le degré d'empathie, taux d'ouverture et facteurs aléatoires etc qui calculerait les probabilités de réactions des acteurs aux stimulus sociaux. Les relations en questions s'appliquent évidement au héro (la réputation devient un enjeux primordial pour le joueur)


    *Exemple : pour assassiner un noble et faire passer l'assassinat pour un accident de chariot il faudrait :

    1/Une quête pour chercher un endroit adéquat pour un accident de chariot
    a : Trouver un cartographe et le corrompre pour qu'il vous indique où.
    b : Trouver le lieu en question et le noter.

    2/Une quête pour pousser le noble à prendre un chariot et passer par cette route
    a : Rendre malade son père vivant dans une ville. (trouver au préalable qu'il aime son père)
    b : Trouver quelqu'un pour lui faire passer la nouvelle sans éveiller ses soupçons.

    3/Une quête pour chercher l'objet déclencheur de l'accident.
    a : Trouver un troll.
    -Demander à un ranger
    *contre 5 peaux de renard
    -L'endormir
    -Le transporter
    b : L'attacher au bord de la route.


    [edit : Lien bigrement intéressant]
    Je rajouterais des liens vers les points clefs des discussions au fur et à mesure des avancés.
    Dernière modification par cailloux ; 01/05/2011 à 16h45.
    Ça casse pas des briques sur un canard...

  2. #2
    C'est intéressant sur le principe, et à développer, mais en pratique est ce que ça l'est ?

    J'ai peur que ce ça donne des quêtes trop indépendante les unes des autres, typiquement ce qu'on retrouve dans les Hack&Slash ou les MMORPG, mais en encore plus générique.
    J'ai peur que ça lasse vite de pas avoir de véritable objectif, de quête qui aurai une influence, même minime sur le monde.
    Mais tu ne parle peut être pas de baser un jeu juste la dessus. Enfin après tout des jeux comme Mount And Blades ou Pirates n'ont pas de fil conducteurs et ça fonctionne très bien. Faut un univers solide et autonome.

    Après sur la création de l'objectif de la quête, je trouve ton analyse solide et intéressante.
    Il y a juste un truc à penser, c'est que les quêtes doivent correspondre avec la réalité du jeu.
    Par exemple le noble, il faut qu'il existe, et qu'il ai pas été tué. Il faut qu'il sorte, ou alors si on suit ton exemple, il faut qu'il ai un père.

    Ce qu'il faut définir, c'est est ce que le générateur de quête s'adapte au monde, c'est à dire est ce qu'il se sert des PNJ et objets déjà existant, ou est ce que c'est l'inverse, c'est à dire est ce que quand une quête est crée elle va rajouter un PNJ cible, des champignons dans une grotte, etc ...


    Par contre le moteur d'interaction social même si ça semble compliqué à mettre en place ça ouvrirai la porte à énormément de possibilités. Par contre ça demande un niveau d'AI très perfectionné, mais ça serai très intéressant à approfondir.
    *syntax error*

  3. #3
    Le truc serait effectivement de lier les quêtes au moteur social.

    Par exemple un prince qui aurait des ennemis politiques pourrait, selon son caractère commanditer leur assassinat, fabriquer des preuves pour le faire condamner ou simplement le discréditer.
    C'est envisageable, mais bien complexe...

  4. #4
    T'as des supers idées cailloux , qui seraient bien plus applicables dans un jeu classique qu'un jeu basé sur du procédural. Le coup de payer un cartographe pour qu'il indique l'emplacement d'une embuscade, ca doit etre assez dur à générer sur la base d'un modèle aléatoire.

    Par contre oks2024, je comprend pas quand tu dis que le joueur se désintéresserait car encore plus générique qu'un MMO car pas d'influence. Je comprend pas trop ce concept d'influence, si déjà çà change le rapport de force entre factions, ce serait énorme. Par exemple un jeu comme Dragon Age Origin réputé pour l'influence qu'on peut avoir, bah je trouve pas qu'on en ait vraiment: on a juste le choix de bifurquer 3,4 fois mais on reste toujours la ou veut nous amener le développeur. L'avantage du procédural, c'est que la multiplicité des interactions permet de l'imprévu, et pour moi c'est cà l'influence. Evidemment du coup faut lier les quetes à des factions, faut que le joueur puisse influer directement ou pas sur des variables diverses: les rapports de forces, les liens sociaux, les resources...
    Bon après c'est vrai que c'est pas simple de faire un tel systeme avec des répercussions aisément visibles par le joueur.
    Citation Envoyé par perverpepere Voir le message
    Déjà rien que mon humour j'y vois comme un putain de fail!
    .

  5. #5
    Citation Envoyé par Batto Voir le message
    Le truc serait effectivement de lier les quêtes au moteur social.

    Par exemple un prince qui aurait des ennemis politiques pourrait, selon son caractère commanditer leur assassinat, fabriquer des preuves pour le faire condamner ou simplement le discréditer.
    C'est envisageable, mais bien complexe...
    Effectivement.

    En théorie je dirais même mieux : que les quêtes sont générées au fûr et à mesure de la progression de l'histoire.

    On considère le monde comme un bac avec des constantes interactions, chaque entité (de la guilde au PNJ en passant par les villages ou les familles) est généré avec tout un tas de caractéristiques. Allant de sa taille (pays>guilde>villes>quartiers>famille>PNJ) à ses objectifs (la taille étant des facteurs limitatifs aux objectifs) (grandeur économique, morale, enrichissement personnel, mariage etc) et des moyens (force, diplomatie etc).

    Une fois le monde créé on constate forcément des déséquilibre dans les forces en présence : ce sera le background général : c'est à dire les objectifs ultimes qui sont assignés au héro (devenir maitre d'une guilde en décrépitude, sauver un château assiégé). les métas quêtes entrent alors en action : pour sauver le château vous devrez trouver les morceaux d'un artefact, pour sauver la guilde vous devez trouver un nouveau produit à fabriquer.
    Les déséquilibres sont évidement visible à toutes les échelles et les quêtes sont générés en fonction des actions, au fûr et à mesure de l'avancé du monde : un PNJ n'aura rien à vous proposer, mais si son fils meurt pendant une attaque, il sera susceptible de vous donner une quête (si son besoin de vengeance est supérieur à son désir de paix (donc en accord avec sa personnalité)) Chaque action aura des rétro-effets (à l'échelle de l'action) : si au moment de venger le fils vous détruisez un pont, alors le village à cotés vous demandera des comptes.
    On peut éventuellement gérer des changements d'échelles via des PNJ charnières: si vous agressez un membre d'une famille, alors vous aurez sa famille sur le dos (dans les limites de la psychologie de chaque membre de la famille) Par contre si vous tuez le chef de la famille vous pourrez vous trouver avec sa famille sur le dos mais aussi les autres chefs de familles craignant pour leurs vie. Idem si vous assassinez un valet les réactions ne seront que celles de sa famille donc de porté moindre (genre une petite mise à prix) faîtes la même chose avec un prince et là vous aurez une grosse mise à prix sur le dos (l'appât du gain étant un facteur psychologique important) + les autres rois à votre trousses (les puissants n'aimant pas le prince pouvant au contraire vous protéger). Il est hors de question d'avoir un système effet papillon où le meurtre d'un clochard puisse déclencher une guerre de succession.

    Le joueur peut donc créer de son propre chefs de vastes instabilités si il le souhaite. Evidement il doit assumer les conséquences de ses choix. Les quêtes sont aussi totalement aléatoire, dans l'espace et le temps mais soumise à des motivations logique et cohérente.

    Par contre pour que le joueur ne tourne pas en rond à la recherche de la quête il faut instaurer un système de rumeurs pour l'attirer vers la quête en court. Le faculté des PNJ à vous parler à déjà était développé par moi même sur 2 posts différents. ICI et les traits de psychologies à développer ICI

    Lisez le lien de mon précédent post, c'est vraiment passionnant bien que relativement complexe, ça montre parfaitement tout les aspects qui devraient être pris en compte pour la création d'un PNJ psychologiquement cohérent.

    ---------- Post added at 18h52 ---------- Previous post was at 18h45 ----------

    Citation Envoyé par Tylers Voir le message
    T'as des supers idées cailloux , qui seraient bien plus applicables dans un jeu classique qu'un jeu basé sur du procédural. Le coup de payer un cartographe pour qu'il indique l'emplacement d'une embuscade, ca doit etre assez dur à générer sur la base d'un modèle aléatoire.
    Being en fait c'est typiquement le genre de choses qui pourraient être implémenté dans le moteur du jeux : quelles sont les caractéristiques d'un terrain favorable à une embuscade ? Isolement (pas d'habitation à moins de 1 km) + route + possibilité de se cacher (forêts, gros rochers) + petite taille de l'ensemble (genre 50m²) : on demande au moteur de repérer les zones de la carte ayant ses trois occurrences, et hop on le signifie sur la carte. Ensuite il faut trouver un prétexte pour faire bouger le gars là dessus : si son père n'habite pas dans la bonne direction il faudra voir si il aime la chasse, n'importe quoi, qu'importe les moyens.
    Ça casse pas des briques sur un canard...

  6. #6
    Citation Envoyé par Tylers Voir le message
    Par contre oks2024, je comprend pas quand tu dis que le joueur se désintéresserait car encore plus générique qu'un MMO car pas d'influence. Je comprend pas trop ce concept d'influence, si déjà çà change le rapport de force entre factions, ce serait énorme. Par exemple un jeu comme Dragon Age Origin réputé pour l'influence qu'on peut avoir, bah je trouve pas qu'on en ait vraiment: on a juste le choix de bifurquer 3,4 fois mais on reste toujours la ou veut nous amener le développeur. L'avantage du procédural, c'est que la multiplicité des interactions permet de l'imprévu, et pour moi c'est cà l'influence. Evidemment du coup faut lier les quetes à des factions, faut que le joueur puisse influer directement ou pas sur des variables diverses: les rapports de forces, les liens sociaux, les resources...
    Bon après c'est vrai que c'est pas simple de faire un tel systeme avec des répercussions aisément visibles par le joueur.
    Si t'as que des quêtes type "tue trois sangliers", "Ramasse 5 champignons" ou "escorte trois mineurs" avec peu de relations entre elles, c'est moins prenant que des suites de quêtes logique est scénarisé, du genre "Ton frère s'est fait assassiner, forme un groupe pour trouver le coupable", "Un mystérieux informateur a des informations à te fournir si tu l'aide à sortir d'un mauvais pas", "Il te dit qu'il y a des indices à trouver à tel endroit", "Tu découvre que ton meilleur ami est le meurtrier, tu réclames vengeance".

    C'est pourtant dans le fond la même chose, mais la forme est différente. Je suis pas certain qu'en procédural il soit possible de scénariser de cette manière, de lier les quêtes entre elles de manière logique, etc, du moins ça doit être très dur.

    Par contre oui, du coup on reste sur des lignes, c'est vrai.
    Les factions c'est intéressant, mais ce qui est complexe, c'est de trouver ce qui motivera le joueur a se faire apprécier d'une faction. Une récompense ? Plus de quêtes ?

    En tout cas il y a matière à réflexion.
    *syntax error*

  7. #7
    Citation Envoyé par oks2024 Voir le message
    Si t'as que des quêtes type "tue trois sangliers", "Ramasse 5 champignons" ou "escorte trois mineurs" avec peu de relations entre elles, c'est moins prenant que des suites de quêtes logique est scénarisé, du genre "Ton frère s'est fait assassiner, forme un groupe pour trouver le coupable", "Un mystérieux informateur a des informations à te fournir si tu l'aide à sortir d'un mauvais pas", "Il te dit qu'il y a des indices à trouver à tel endroit", "Tu découvre que ton meilleur ami est le meurtrier, tu réclames vengeance".

    C'est pourtant dans le fond la même chose, mais la forme est différente. Je suis pas certain qu'en procédural il soit possible de scénariser de cette manière, de lier les quêtes entre elles de manière logique, etc, du moins ça doit être très dur.

    Par contre oui, du coup on reste sur des lignes, c'est vrai.
    Les factions c'est intéressant, mais ce qui est complexe, c'est de trouver ce qui motivera le joueur a se faire apprécier d'une faction. Une récompense ? Plus de quêtes ?

    En tout cas il y a matière à réflexion.
    On rejoint ce que disait Cailloux quelques posts plus haut.

    Il faut tenter de relier la génération des quêtes au moteur social, et le moteur social à la génération de quêtes.
    En gros, qu'un événement "social" puisse amener des quêtes et que la résolution (ou même l'existence) d'une quête puisse amener des événements sociaux.

    Exemple con :
    Événement social : un noble se fait humilier par un autre lors d'une soirée
    Génération de quête : le noble humilié va te demander d'aller entarter l'autre noble en pleine rue.

    Dans l'autre sens :
    Génération d'une quête : aller saboter l'atelier d'un artisan rival.
    Événement social à la génération de la quête : la police l'apprend et va arrêter l'artisan.
    Événement social à la réalisation de la quête : l'artisan rival fait faillite, part en dépression et fait cramer son atelier de désespoir, entrainant la moitié de la ville avec lui

    \o/

  8. #8
    Citation Envoyé par cailloux Voir le message
    Being en fait c'est typiquement le genre de choses qui pourraient être implémenté dans le moteur du jeux : quelles sont les caractéristiques d'un terrain favorable à une embuscade ? Isolement (pas d'habitation à moins de 1 km) + route + possibilité de se cacher (forêts, gros rochers) + petite taille de l'ensemble (genre 50m²) : on demande au moteur de repérer les zones de la carte ayant ses trois occurrences, et hop on le signifie sur la carte. Ensuite il faut trouver un prétexte pour faire bouger le gars là dessus : si son père n'habite pas dans la bonne direction il faudra voir si il aime la chasse, n'importe quoi, qu'importe les moyens.
    Je rebondis juste sur cà, mais y'a pleins de choses intéressantes sur ton post et celui de oks2024 que j'aimerai développer quand je repasserai plus tard. Donc pour repérer ces zones, on le fait soit à la génération de l'univers, soit au moment ou la quête se crée et c'est certainement la meilleure solution si on se base sur ton système de quête. Le truc c'est qu'il faudrait donc prendre toutes les routes une par une dans un rayon défini autour du pnj à embusquer correspondant à ses capacités de déplacement et sonder à intervalles réguliers sur ces routes pour trouver un lieu à embuscade. Ensuite faut vérifier si un proche habite dans une des villes joignables par cette route et que çà ne fasse pas un détour. Faut donc mettre en place un système de noeud comprenant villes et routes pour pouvoir déterminer çà. Bon après faut un système de secours comme tu dis si il n'a pas de proche dans une ville joignable par une route ou il y'a possibilités d'embuscade. J'aurai plutôt vu quelque chose basé sur l'argent c'est facile à mettre en place et tout le monde bouge son cul pour çà .

    Bon çà c’était ptet le plus simple. Après faut un moyen de signifier à un cartographe qu'on cherche un lieu d'embuscade. Sans doute le mieux est de lui demander si sur telle route c'est possible ( et ca facilite notre algo de recherche): (option de dialogue: lieu embuscade, puis choix dans une liste des routes relevant de la superficie couverte par notre carto).
    Puis faut dire au futur assassiné de se rendre à tel endroit et là on a besoin d'un système global pour tout les pnj vu qu'on est en procédural, de convaincre d'aller à tel endroit selon sa crédibilité, la motivation de la personne etc. et la çà devient compliqué. ou pas. J'y ai pas trop réfléchi.
    Et je suis sur que y'a plein de problèmes cachés encore

    Mais sinon l'idée est vraiment chouette.
    Citation Envoyé par perverpepere Voir le message
    Déjà rien que mon humour j'y vois comme un putain de fail!
    .

  9. #9
    Le problème avec ce système où tout est généré et tout est lié (les relations entre les personnages, les quêtes, les générations diverses), c'est que si techniquement y'a une couille (un bug ca arrive hein, cf le topic des jeux buggués), ca foire tout le système, et donc tout le jeu. Et même, tout l'intérêt du jeu. Donc y'a plutôt intérêt à avoir de bons programmeurs sur le coup, avec des preuves de programmes bétons

    J'ai un peu peur que le fun passe à la trappe également, à vouloir faire du réaliste... Mettons qu'on aie ce système dans une ville, on bute (sans faire exprès, oups j'ai cliqué au mauvais moment) un noble, ou un homme important, ou moins important, puis on se retrouve avec sa famille à dos. Il y a fort à parier qu'on doive se débarasser de ce malus (oui, je trouve que c'est un malus de se balader dans une ville où notre tête est mise à prix!), mais ça risque d'être très difficile. Une mort se venge pas avec 5 quêtes réalisées pour la famille. Du coup on se retrouve couillon à éviter comme la peste les interactions, de peur de se faire buter. Donc soit faut prévoir un système pour pallier à ça (déménager et refaire sa vie plus loin, où personne ne nous connait, mais il faudrait alors un immense univers!), soit ça risque de plus être fun à force ("ah merde j'ai encore buté un mec, va falloir que j'évite de me montrer, j'vais rien pouvoir faire du coup")

    Faut pas oublier que le but premier c'est de jouer, et si y'a pas autant de réalisme de nos jours du côté de ces interactions, j'me demande si c'est peut être pas pour rien (proposer une expérience de jeu précise au joueur, comme un film quoi, on l'amène vers une histoire et on le fait vivre cette histoire).


    EDIT : Du coup je propose mon idée :
    Faire des quêtes scénarisées (et pas juste "va tuer 5 loups cé pour mangé ce soir svp"), où le choix est entièrement laissé au joueur pour la réaliser.
    En ce sens, Assassin's Creed m'avait déçu, je m'attendais à ça mais au final mes assassinats étaient pas si planifiés que ça et ça se terminait souvent en course poursuite où j'me cache dans un truc. Et pour en avoir un peu discuté, j'suis pas le seul dans ce cas.
    Du coup ce à quoi je pense, c'est un système plus poussé de conditions de quête remplie.
    En gros, on va reprendre l'exemple d'un assassinat commandité d'un noble sur un autre, du village voisin :
    Il y a fort à parier que le noble te convoque juste pour dire "Faudrait le buter lui", t'accepte, mais le noble t'as juste indiqué la quête, à toi de trouver comment faire. C'est là que le système intervient : tu peux corrompre un proche de l'autre noble pour connaître les horaires où il n'est pas avec ses gardes (avec une chance qu'il aille cafter et que ça foire), tu peux engager un mercenaire pour faire l'assassinat à ta place mais ça aura des répercussions si ça s'apprend, tu peux choisir la méthode pour le tuer (poison? masse à deux mains?), tu peux effectivement planifier une embuscade si tu sais de source sûre qu'il va passer par tel chemin tel jour, etc...
    En gros, le PNJ va vire sa vie. A toi de le buter sans trop t'attirer les foudres adverses (bien évidemment si tu foires et fait ça à visage découvert, ou qu'on sait que le commanditaire c'est l'autre noble, tu as foiré la mission). Et du coup ça se répercute sur plein de choses : mettons si tu réussi en ayant utilisé une masse d'arme d'un honnête forgeron, il peut fermer parce que ça nuirait à son bizness; si tu as utilisé les services d'un corrompu dans le camp adverse il faudra que tu lui rende la pareille; si tu as utilisé du poison d'un marchand véreux il te fera des prix parce que t'es un client fidèle; etc...
    Du coup les persos ne seraient pas liés entre eux, c'est le joueur qui ferait le lien, et il aurait une totale liberté sur comment accomplir les quêtes qui lui sont données! Voilà, je sais pas trop si c'est réalisable, vu qu'j'y ai réfléchi très vite, je vois pas encore les défauts, mais ça va venir x)
    Dernière modification par Oropher ; 29/04/2011 à 21h38.

  10. #10
    Citation Envoyé par Batto Voir le message
    On rejoint ce que disait Cailloux quelques posts plus haut.

    Il faut tenter de relier la génération des quêtes au moteur social, et le moteur social à la génération de quêtes.
    En gros, qu'un événement "social" puisse amener des quêtes et que la résolution (ou même l'existence) d'une quête puisse amener des événements sociaux.

    Exemple con :
    Événement social : un noble se fait humilier par un autre lors d'une soirée
    Génération de quête : le noble humilié va te demander d'aller entarter l'autre noble en pleine rue.

    Dans l'autre sens :
    Génération d'une quête : aller saboter l'atelier d'un artisan rival.
    Événement social à la génération de la quête : la police l'apprend et va arrêter l'artisan.
    Événement social à la réalisation de la quête : l'artisan rival fait faillite, part en dépression et fait cramer son atelier de désespoir, entrainant la moitié de la ville avec lui

    \o/
    Oui oui, ça c'est génial, mais ce que je me demande c'est est ce que ça suffit ?

    Je veux dire, la moitié de la ville à cramé, le moins que l'ont puisse dire c'est qu'il y a une conséquence sur le monde, mais sur le personnage, et d'une certaine manière sur le joueur ? Finalement lui ça lui apporte pas grand chose, le monde à changé, pas forcément en bien ou en mal, mais il est différent. Et après ? Il va faire une autre quête qui aura d'autres conséquences, etc ?
    Je trouve que ça manque d'un objectif, d'un but, et c'est la dessus que je suis curieux.

    Pour pousser le concept de moteur sociale à son paroxysme, ça pourrait par exemple être réussir à se faire élire gouverneur d'un ville en partant de rien. Ça serai des parties relativement "courtes" 6-8 heures, mais avec une rejouabilité quasi infinie. Un peu comme un Dead Rising, ou on à un point de départ et un point/temps final, et entre on fait ce qu'on veux.
    *syntax error*

  11. #11
    Citation Envoyé par Oropher Voir le message
    Le problème avec ce système où tout est généré et tout est lié (les relations entre les personnages, les quêtes, les générations diverses), c'est que si techniquement y'a une couille (un bug ca arrive hein, cf le topic des jeux buggués), ca foire tout le système, et donc tout le jeu. Et même, tout l'intérêt du jeu. Donc y'a plutôt intérêt à avoir de bons programmeurs sur le coup, avec des preuves de programmes bétons
    Là dessus on est d'accord, point de vue technique, c'est très ambitieux

    Citation Envoyé par Oropher Voir le message
    J'ai un peu peur que le fun passe à la trappe également, à vouloir faire du réaliste... Mettons qu'on aie ce système dans une ville, on bute (sans faire exprès, oups j'ai cliqué au mauvais moment) un noble, ou un homme important, ou moins important, puis on se retrouve avec sa famille à dos. Il y a fort à parier qu'on doive se débarasser de ce malus (oui, je trouve que c'est un malus de se balader dans une ville où notre tête est mise à prix!), mais ça risque d'être très difficile. Une mort se venge pas avec 5 quêtes réalisées pour la famille. Du coup on se retrouve couillon à éviter comme la peste les interactions, de peur de se faire buter. Donc soit faut prévoir un système pour pallier à ça (déménager et refaire sa vie plus loin, où personne ne nous connait, mais il faudrait alors un immense univers!), soit ça risque de plus être fun à force ("ah merde j'ai encore buté un mec, va falloir que j'évite de me montrer, j'vais rien pouvoir faire du coup")

    Faut pas oublier que le but premier c'est de jouer, et si y'a pas autant de réalisme de nos jours du côté de ces interactions, j'me demande si c'est peut être pas pour rien (proposer une expérience de jeu précise au joueur, comme un film quoi, on l'amène vers une histoire et on le fait vivre cette histoire).
    Là, je vais te répondre que le but n'est pas tant de faire du réaliste, que du crédible, le tout en évitant de donner l'impression que tout est scripté.

    On est d'accord que c'est pas évident, mais c'est justement un des grands attraits du procédural. Les entités ne suivent pas un script, mais un ensemble de règles, ce qui donne cette fameuse crédibilité.
    Après, on en revient au premier point, il faut que ça soit bien pensé et bien codé


    EDIT :

    Citation Envoyé par oks2024 Voir le message
    Oui oui, ça c'est génial, mais ce que je me demande c'est est ce que ça suffit ?

    Je veux dire, la moitié de la ville à cramé, le moins que l'ont puisse dire c'est qu'il y a une conséquence sur le monde, mais sur le personnage, et d'une certaine manière sur le joueur ? Finalement lui ça lui apporte pas grand chose, le monde à changé, pas forcément en bien ou en mal, mais il est différent. Et après ? Il va faire une autre quête qui aura d'autres conséquences, etc ?
    Je trouve que ça manque d'un objectif, d'un but, et c'est la dessus que je suis curieux.

    Pour pousser le concept de moteur sociale à son paroxysme, ça pourrait par exemple être réussir à se faire élire gouverneur d'un ville en partant de rien. Ça serai des parties relativement "courtes" 6-8 heures, mais avec une rejouabilité quasi infinie. Un peu comme un Dead Rising, ou on à un point de départ et un point/temps final, et entre on fait ce qu'on veux.
    Je suis bien d'accord. Ce dont on discute pour le moment (moteur social, procédural, etc.) ne représente pas une fin, mais un moyen.
    Tout ça ne consituera que la base du jeu, sa fondation. Après, bien sur, il faut construire par dessus, avec du scénario, de la relation sociale, de l'IA, un univers et tout le tralala.

    Pour ma part, ce que j'ai en tête rejoint à peu près ce que Oropher décrit dans son EDIT : tu débarques dans un univers, tu as un certain objectif (quête, auto-fixé, autre), et après, tu te démerdes pour y parvenir.
    Dans cette optique, le procédural est là pour éviter de devoir tout scripter et aussi pour éviter la répétition, et le moteur social est là pour te fournir des outils pour interagir avec cet univers.

    Combiner les deux te permet d'avoir une base solide pour ce genre de jeu. Après, il faut broder par dessus pour en faire véritablement un jeu.
    Dernière modification par Batto ; 29/04/2011 à 23h47.

  12. #12
    Tiens, y'a-t-il quelqu'un qui serait capable de coder un aperçus d'un moteur de relation?

    Voici un petit jeu qui mettrait en avant ce genre de réaction :

    -Un damier de 30*30 cases.
    -Dans certaines cases des pastilless qui seront autant de PNJ, définit selon un code couleur facile à interpréter et prenant en compte 2 grandes catégories d'éléments .
    a/ la psychologie du PNJ : en deux points (pour commencer) Solitaire/social (allant noir au blanc) et heureux/malheureux (allant du vert au rouge) (ultérieurement on pourra diviser encore le camembert pour rajouter des éléments de personnalités). Son nom est indiqué au milieu ( genre "A" ou "B")
    b/ les relations entre les PNJ : en deux points (pour commencer) Amour/haine (bleu/jaune) et protecteur/agresseur (violet/marron) Représenté par des vecteurs reliant les PNJ. l'épaisseur représentant la force de la relation. Les relations ne sont pas systématique.

    Les relations entre les PNJ sont autant d'influences sur les comportements des uns et des autres [il faut encore définir les rêgles de manière précise (=fonctions mathématiques)] en prenant en compte également la distance comme facteur.

    On aurait donc un jeu qui ressemblerait à ça grosso modo :



    Le jeux consisterait à bouger les pions sur le damier pour changer les relations entre les PNJ pour atteindre un objectif ( faire en sorte que A aime B ou que C déteste D etc etc.) On peut aussi injecter des produits ( par exemple de l'alccol) pour influer sur la psychologie des NPC à un instant T.
    Dernière modification par cailloux ; 30/04/2011 à 06h15.
    Ça casse pas des briques sur un canard...

  13. #13
    Hmm.

    Fais en un cahier de charge avec un peu plus de détails (si possible) et envoie le moi par MP.
    Je ne promet rien, mais si j'ai le temps je vais tenter de te le faire (ca ne semble pas si gros).

    Si d'autres personnes souhaitent apporter de l'aide ?

  14. #14
    Pareil, je promet rien, mais je devrais avoir du temps libre dans pas longtemps.

    Est ce que ça intéresserai des gens que ça se fasse sous la forme d'un "Pas à pas" expliqué ?
    Du genre je (ou n'importe qui d'intéressé hein) bosse sur le code, et régulièrement je le poste sur le forum, en expliquant ce que j'ai fait, pourquoi j'ai fait ça, etc ...
    Ça amènerai du développement dans le coin des développeurs (pertinent, pertinent) et ça permettrait à ce qui le souhaitent de découvrir un peu la programmation, de voir comment ça marche, etc ...

    Bon, c'est pas totalement altruiste, moi ça me force à m'organiser un minimum, ça m'apporte un second regard, des suggestions, des idées, etc ...

    Le but c'est pas d'apprendre à tout le monde à programmer, je penses pas que j'en serai capable et pour être franc ça ne m'intéresse pas. Mais ça ne m'empêcherai d'aborder des points technique quand on les rencontre (genre les classes, l'héritage, blabla...) avec plus pour but de faire comprendre ce que je fait, plutôt que de faire en sorte que les gens sachent le refaire.

    Tout en sachant que je ne suis pas une référence, je me prend pas pour un dieu du code ou quoi que ce soit, donc il y aura des erreurs. Le principe ça serai aussi de le faire au jour le jour, donc ça implique des erreurs de design, retour en arrière, correction, etc ...

    En fait je pensais faire ça pour le prochain petit jeu que j'allais commencer, mais le concept de moteur de relation m'intéresse beaucoup, alors pourquoi pas.

    Point de vue technique ça serai du C# + XNA, à destination des PC, Xbox et Windows phone 7.

    Si ça intéresse, je veux bien mettre en place un topic pour commencer la réflexion sur le cahiers des charges et les paramètres et les fonctions d'influences (enfin sauf si quelqu'un d'autre préfère le faire) pour décharger celui la qui s'éloigne un peu du sujet de base.
    *syntax error*

  15. #15
    Si ça intéresse, je veux bien mettre en place un topic pour commencer la réflexion sur le cahiers des charges et les paramètres et les fonctions d'influences (enfin sauf si quelqu'un d'autre préfère le faire) pour décharger celui la qui s'éloigne un peu du sujet de base.
    Je ne crois pas que ce "projet" demande autant de travail. Cela peut être discuté en privé entre les intéressés.
    Après quand ca sera prêt, on peut en faire un topic pour présenter le travail et comment ca a été fait.


    Concernant un topic plus "technique", je ne suis pas contre ! Mais je fais surtout du Java

  16. #16
    Citation Envoyé par lucskywalker Voir le message
    Hmm.

    Fais en un cahier de charge avec un peu plus de détails (si possible) et envoie le moi par MP.
    Je ne promet rien, mais si j'ai le temps je vais tenter de te le faire (ca ne semble pas si gros).

    Si d'autres personnes souhaitent apporter de l'aide ?
    Je peux essayer de faire ça mais si quelqu'un veut m'aider, je suis super preneur (il faut au moins définir quels sont les critères en prendre en compte et comment ils influx les uns sur les autres.) et ensuite définir qu'elles équations seront utilisés pour gérer les interactions . Après on pourra discuter de l'interface.

    Allez ! ça doit pas être si dur que ça, au boulot ! (mais après mon petit dej)


    L'interface devra permettre de connaitre le statut de chaque PNJ dans son intégralité, voici un premier jet de ma part, il est sujet à discussion bien entendu. Dans un premier temps on peut, peut être, limiter les possibilités à 7 niveaux (= maximum, très, moyen, neutre, -moyen, -très, -maximum) Mais peut être que des équations seraient plus facile à gérer, à voir avec lucskywalker)
    Dans l'idéal le moteur devrait pouvoir être facilement éditable pour : modifier les formules afin d'effectuer des tests, rajouter des possibilités pour complexifier le jeu)

    Psychologie du joueur (= symbolisé par la forme du pion)
    il doit rester à peu près constant dans le temps (un solitaire ne deviendra pas un hyper social) mais il peut légèrement varier néanmoins sous le coup de pression intense. Sa nature constante permettra d'empêcher les boucles de calculs

    Solitaire/social (= la distance entre lui et les autres influera son bonheur si on le heurte ou si on va dans son sens) [polygone allant du triangle au cercle en 7 niveaux]
    Stoïque/réceptif (= le degré avec lequel les autres PNJ influx sur son propre état) [la taille du polygone augmente avec le degré de réception]

    Etat du joueur. (symbolisé par la couleur du pion)
    Il est fortement dépendant de l'extérieur : il varie dans le temps en fonction de l'environnement. Il influx légèrement sur la psychologie du PNJ et fortement sur l'état des autres PNJ

    Heureux/malheureux : l'Etat influx sur les relations entre les PNJ [7 niveaux de gris allant du blanc au noir]

    [il serait ptet bon de rajouter un truc mais je trouve pas]

    Relations entre joueurs. (= vecteurs de couleurs et d'épaisseur différente, non obligatoire (= les PNJ ne se connaissent pas ou n'ont pas d'opinion) la flêche indique le sens de la relation (qui ne sont pas forcément réciproque)

    Amour/Haine (= dépendant de la distance et de l'Etat du joueur, il influx sur la psychologie des PNJ; aux maximums il engendre des résultats parfois illogique)[vecteur rouge allant de 2 à 14 pixels d'épaisseur par pallier de 2 pxl]
    Protecteur/Agresseur (= il symbolise la filiation, dépendant de l'état du PNJ visé)[vecteur bleu allant de 2 à 14 pixels d'épaisseur par pallier de 2 pxl]


    Un solitaire léger, hyper stoïque très malheureux serait donc représenté par [un carré de petite taille noir]
    Un grand social, moyennement réceptif heureux serait donc représenté par [un cercle de taille moyenne gris clair]
    Romeo et juliette serait du genre : [une grappe lié par des vecteurs bleus épais, une autre grappe lié par des vecteurs bleus épais, et un duo de points de chaque grappe relié par un vecteur rouge épais] (je connais pas assez l'oeuvre pour approfondir les psychologies et les relations entre les personnages)
    Dernière modification par cailloux ; 30/04/2011 à 15h53.
    Ça casse pas des briques sur un canard...

  17. #17
    Continue si tu as des idées...
    Le temps que j'installe mon nouveau disque dur .

  18. #18
    Citation Envoyé par lucskywalker Voir le message
    Je ne crois pas que ce "projet" demande autant de travail. Cela peut être discuté en privé entre les intéressés.
    Après quand ca sera prêt, on peut en faire un topic pour présenter le travail et comment ca a été fait.
    C'était surtout pour décharger ce topic dont le titre ne reflète pas exactement ce qui s'y passe, maintenant qu'il y a une section dédié.

    Concernant un topic plus "technique", je ne suis pas contre ! Mais je fais surtout du Java


    Spoiler Alert!
    (Je déconne j'aime beaucoup le Java )
    *syntax error*

  19. #19
    Oui je pense qu'on peut ouvrir un topic du genre : le topic des tentatives de créations de jeux de la communauté CPC... (comme ça on prendrait en compte que ça a fail la majorité des fois...)

    Par contre vu que je dois déjà gérer plusieurs topics je préfèrerais ne pas le créer moi même.
    Ça casse pas des briques sur un canard...

  20. #20
    Citation Envoyé par oks2024 Voir le message
    Java
    De tout façon, que ce soit C# ou Java, ça reste relativement semblable niveau logique de programmation.
    Enfin je pense pas que ça change des masses quoi...

  21. #21
    Citation Envoyé par cailloux Voir le message

    Psychologie du joueur (= symbolisé par la forme du pion)
    il doit rester à peu près constant dans le temps (un solitaire ne deviendra pas un hyper social) mais il peut légèrement varier néanmoins sous le coup de pression intense. Sa nature constante permettra d'empêcher les boucles de calculs

    Solitaire/social (= la distance entre lui et les autres influera son bonheur si on le heurte ou si on va dans son sens) [polygone allant du triangle au cercle en 7 niveaux]
    Stoïque/réceptif (= le degré avec lequel les autres PNJ influx sur son propre état) [la taille du polygone augmente avec le degré de réception]

    Etat du joueur. (symbolisé par la couleur du pion)
    Il est fortement dépendant de l'extérieur : il varie dans le temps en fonction de l'environnement. Il influx légèrement sur la psychologie du PNJ et fortement sur l'état des autres PNJ

    Heureux/malheureux : l'Etat influx sur les relations entre les PNJ [7 niveaux de gris allant du blanc au noir]

    [il serait ptet bon de rajouter un truc mais je trouve pas]

    Relations entre joueurs. (= vecteurs de couleurs et d'épaisseur différente, non obligatoire (= les PNJ ne se connaissent pas ou n'ont pas d'opinion)

    Amour/Haine (= dépendant de la distance et de l'Etat du joueur, il influx sur la psychologie des PNJ; aux maximums il engendre des résultats parfois illogique)[vecteur rouge allant de 2 à 14 pixels d'épaisseur par pallier de 2 pxl]
    Protecteur/Agresseur (= il symbolise la filiation, dépendant de l'état du PNJ visé)[vecteur bleu allant de 2 à 14 pixels d'épaisseur par pallier de 2 pxl]

    Donc si j'ai bien compris en gros la psychologie d'un personnage est fixe, et c'est son état qui varie ?

    Ça me semble être une bonne idée.
    J'ai un jeu de Poker en cours, avec une AI qui fonctionne un peu sur le même principe.
    Chaque joueur à une psychologie qui lui est propre (flambeur, agressif, prudent, etc ...) qui reste constante quoi qu'il arrive, et ensuite une volonté.
    En gros quand il ramasse sa main, en fonction de ses cartes et de sa psychologie, il va se dire "Cette main je veux la jeter/voir les cartes suivante/aller jusqu'au bout/faire tapis". Et à chaque nouvelle carte ou évolution dans le jeu la volonté est réévalué, en fonction de l'ancienne volonté et de la nouvelle situation.

    Le point très compliqué, c'est analyser une situation, qu'est ce qui l'influence, et de quelle manière.

    Concrètement on qu'est ce qui va rendre un personnage plus heureux ? Et de "combien" ?

    On peut représenter tous les paramètres par des compteurs, genre de 0 à 100, 0 étant très malheureux, 100 très heureux, et modifier ces valeurs de bonheur.
    Il faut mettre en place quels actions entraîneront quels valeurs de bonheur, et bien sur en fonction de la psychologie.

    C'est un sujet de réflexion intéressant, j'y songe, et je suis curieux de voir tes idées.

    De tout façon, que ce soit C# ou Java, ça reste relativement semblable niveau logique de programmation.
    Enfin je pense pas que ça change des masses quoi...
    Ça change rien. C'est juste que quand t'es sur un projet en C#, t'es un peu sous contrat, tu te dois de troller sur ceux qui programment en Java. Comme quand t'achète une guitare, on te la donne que si t'engage à régulièrement troller les bassistes, ou, plus généralement, quand t'achète un instrument de musique, vis à vis des batteurs.

    EDIT:

    Oui je pense qu'on peut ouvrir un topic du genre : le topic des tentatives de créations de jeux de la communauté CPC... (comme ça on prendrait en compte que ça a fail la majorité des fois...)

    Par contre vu que je dois déjà gérer plusieurs topics je préfèrerais ne pas le créer moi même.
    Comme je le disais ça le principe m'intéresse pas mal, si personne n'y voit d'inconvénient je peux faire un topic tout propre dans la soirée, mais si quelqu'un préfère le faire avant, pas de soucis.
    *syntax error*

  22. #22
    Citation Envoyé par oks2024 Voir le message
    Donc si j'ai bien compris en gros la psychologie d'un personnage est fixe, et c'est son état qui varie ?

    Le point très compliqué, c'est analyser une situation, qu'est ce qui l'influence, et de quelle manière.

    Concrètement on qu'est ce qui va rendre un personnage plus heureux ? Et de "combien" ?

    On peut représenter tous les paramètres par des compteurs, genre de 0 à 100, 0 étant très malheureux, 100 très heureux, et modifier ces valeurs de bonheur.
    Il faut mettre en place quels actions entraîneront quels valeurs de bonheur, et bien sur en fonction de la psychologie.

    C'est un sujet de réflexion intéressant, j'y songe, et je suis curieux de voir tes idées.
    Oui c'est ça, bien que je laisse la possibilité à des influences fortes ( un amour ou une haine au maximum) d'influencer (légèrement) sur la psychologie du PNJ.

    En effet c'est compliqué déjà à trouver une logique et ensuite à la mettre en équation. Je proposais un système en 7 points plutôt qu'en 100 pour permettre un système de calcul par tableau à remplir plutôt que par équation. Ce système facilite aussi la lecture puisqu'on voit immédiatement l'état d'esprit du PNJ (moins de variations). Il est aussi vaguement cohérent avec le tableau de jeu en case, mais ça aussi çe peut être changé)
    Pour montrer toutes les interactions le mieux (de mon avis de super néophyte) c'est de créer des tableaux ( dans mon cas en 7 cases, dans le cas d'équations une représentation graphique de la fonction. avec autant de tableau qu'il existe d'interactions.

    Par exemple : pour X
    Influence de la haine/amour de Y envers X

    haine/amour 1 2 3 4 5 6 7
    Influence sur bonheur -5 -3 -1 0 +1 +3 +5

    Influence du bonheur de X en relation de sa psychologie et de la proximité de Y


    Proximité (en carreaux) [1>3] [4>9] [10>15] [16>20] [>21]
    solitaire max -5 -3 +1 +3 +5
    Solitaire moy -3 -1 0 +1 +3
    Solitaire min -2 0 0 0 +2
    moyen 0 0 0 0 0
    Social min +2 0 0 0 -2
    Social moy +3 -1 0 -1 -3
    Social max +5 +3 +1 -3 -5



    Évidement la mise en page (approximative... n'est pas prise en compte 'tain !) : bref il s'agit d'un tableau quoi.

    Sébum prendra la peine de déplacer toute cette discussion sur un sujet idoine, j'en suis sûr :lâche fainéant:

    Tiens pour commencer il faudrait commencer à créer un organigramme de relations entre les éléments, je m'y colle.
    Dernière modification par cailloux ; 30/04/2011 à 16h29.
    Ça casse pas des briques sur un canard...

  23. #23
    Citation Envoyé par cailloux Voir le message
    En effet c'est compliqué déjà à trouver une logique et ensuite à la mettre en équation. Je proposais un système en 7 points plutôt qu'en 100 pour permettre un système de calcul par tableau à remplir plutôt que par équation.
    Justement, j'aurais tendance à dire qu'il vaut mieux procéder par équations que par tableaux. C'est sur qu'un tableau est peut-être plus facile à lire pur un humain, mais le pc lui il s'en fout.

    De plus une équation permet beaucoup plus de flexibilité qu'un tableau. Imagine que demain tu veux rajouter une variable. T'es bon pour refaire tous tes tableaux. Avec une équation, il suffit de rajouter un paramètre à ta fonction et modifier les calculs (qui peuvent être complexes hein on est d'accord, mais ça c'est le cas aussi pour les modif du tableau).

    Et enfin, il est nettement plus simple et concis de stocker une équation qu'un tableau.


    Dernier point, si on pense en "entités autonomes", ce qui est nécessaire pour ce genre de moteur social, chaque entité n'a pas besoin de connaitre tout ce tableau. Elle a juste besoin de savoir comment elle va réagir à telle ou telle demande/contrainte.

  24. #24
    Citation Envoyé par cailloux Voir le message
    Je proposais un système en 7 points plutôt qu'en 100 pour permettre un système de calcul par tableau à remplir plutôt que par équation.
    Je ne vais pas répondre à tout ce qui a été dit sur ce topic, mais voici quand même mes two cents sur le débat équation/tableau.

    Les tableaux, c'est bien. Dans un JdR papier.
    Ca simplifie les calculs et ça permet d'avoir une idée immédiate de la situation : quand le MJ est un humain, les concepts de "content", "en colère", "ami", "ennemi" sont plus clairs que "75% de sympathie".

    Par contre, dans un jeu vidéo, AMHA, il vaut toujours mieux enregistrer les données sous formes de variables (idéalement avec des nombres à virgule flottante, pour avoir tous les nombres "intermédiaires" possibles, ce qui n'est pas le cas avec une suite d'entiers) que sous forme d'un tableau.

    Pourquoi ? Parce que le but, surtout dans le système que vous êtes en train de créer, est de simuler le monde réel. Or dans le monde réel il n'y a pas de "paliers", seulement une gradation.
    Des étapes trop apparentes nuisent à la simulation. L'exemple qui me vient en tête est Ultima Underworld : une entité est "friendly", on lui vole un objet elle devient "peaceful", un autre elle devient "annoyed", un dernier elle est "angered" et attaque. C'est caricatural, certes, mais ça résume bien le problème.

    Autre exemple : je n'ai jamais supporté les jeux où le mec court à fond la caisse jusqu'au moment où, barre de stamina vide, il est brusquement essoufflé et se met à marcher. Dans le jeu que je suis en train de coder, au fur et à mesure que la stamina diminue, le héros souffle de plus en plus fort (avec augmentation graduelle du volume et du "pitch" du son) et court de moins en moins vite, jusqu'au point (stamina = 0) où il court à la même vitesse qu'il marcherait (et souffle comme un bœuf).

    Certes, c'est un peu plus compliqué quand il s'agit de relations sociales mais pas tant que ça.

    En stockant les valeurs sous formes de floats, on a plein d'avantage :
    - Pas de paliers donc un système plus fluide.
    - En stockant les valeurs dans l'intervalle 0-1, on dispose de plein d'astuces mathématiques pour moduler les modificateurs de façon "naturelle".
    Exemple : admettons que "0" signifie "admirateur aveugle" et que "1" signifie "hostile".
    Quand je vole un objet sous les yeux du NPC, son état augmente de "[VALEUR ACTUELLE] ^ 2".
    - Un admirateur aveugle me laissera vider son appart'.
    - Un très très bon pote (0,1) ne sera quasiment pas affecté par mon premier vol.
    - Par contre, deux vols seulement suffiront à faire péter les plombs à un "neutre" (0,5).
    - Les valeurs n'étant jamais exactement les mêmes d'un individu à l'autre, le résultat d'une action est difficile à prédire. Dans l'exemple du dessus, mon vol aura des conséquences différentes si le mec est à 0,43 ou à 0,57 (alors que dans les deux cas, il sera décrit comme "neutre"). Si vous utilisez plusieurs valeurs pour "pondérer" le résultat du vol (agressivité, proximité idéologique/sociale...) là ça devient presque aussi complexe que le monde réel, sans noyer le CPU sous les calculs.
    - Ca permet de générer des nombres aléatoires de façon fluide aussi (par exemple pour déterminer quel ligne de dialogue doit être utilisée)

    Bon, après, je dois avouer que je suis complètement obsédé par l'élégance en programmation, et que j'ai parfois tendance à me tordre le cerveau en quatre juste parce que je veux UN SEUL algorithme pour représenter une situation plutôt que plusieurs (ou qu'une table). Parce que bon, merde, créer un jeu c'est être Dieu, et les règles d'un univers doivent être lisses et belles.

    Citation Envoyé par cailloux Voir le message
    Sébum prendra la peine de déplacer toute cette discussion sur un sujet idoine, j'en suis sûr :lâche fainéant:
    Si tu (ou quelqu'un d'autre) crée un topic, je déplace tout. Mais j'ai pas envie de le créer : flemme d'écrire le premier post et pas envie de donner l'impression que c'est moi (c-à-d la rédac) qui suis à la tête d'un projet communautaire.

  25. #25
    Citation Envoyé par Batto Voir le message
    Justement, j'aurais tendance à dire qu'il vaut mieux procéder par équations que par tableaux. C'est sur qu'un tableau est peut-être plus facile à lire pur un humain, mais le pc lui il s'en fout.

    De plus une équation permet beaucoup plus de flexibilité qu'un tableau. Imagine que demain tu veux rajouter une variable. T'es bon pour refaire tous tes tableaux. Avec une équation, il suffit de rajouter un paramètre à ta fonction et modifier les calculs (qui peuvent être complexes hein on est d'accord, mais ça c'est le cas aussi pour les modif du tableau).

    Et enfin, il est nettement plus simple et concis de stocker une équation qu'un tableau.
    Mouaip, ça c'est VOS solutions techniques, à vous de gérer !

    Voici un premier aperçus du système d'influence.



    Vous constaterez que j'ai lâchement abandonné la variable [RELATION : Protecteur/agresseur] : je sais pas quoi en faire ni comment.

    Quand 2 flèches se rencontrent celà veut dire qu'on effectue une fusion des 2 éléments pour arriver à définir le résultat : on multiplie le psycho solitaire/social [qu'on appellera désormais : PSY Soc(iabilité)] par la proximité des PNJs extérieurs pour avoir le résultat de l'Etat.

    Je devrais, logiquement ajouter une flèche allant de l'ETAT heureux/malheureux [qu'on appellera uniquement ETAT vu qu'il n'y a qu'une variable pour l'instant]du PNJ vers celui du PNJ extérieur.

    PROXIMITE PNJ EXTERIEUR devient : PROX
    PSYCHO solitaire/social devient : PSY Soc
    Dernier point, si on pense en "entités autonomes", ce qui est nécessaire pour ce genre de moteur social, chaque entité n'a pas besoin de connaitre tout ce tableau. Elle a juste besoin de savoir comment elle va réagir à telle ou telle demande/contrainte.
    PSYCHO Stoïque /réceptif devient : PSY Emp(athie)
    RELATION AMour/Haine devient : REL
    ETAT PNJ EXTERIEUR devient : PNJ
    ETAT PNJ SELECTIONNE devient : ETAT

    Ça vous va comme nomenclature ?

    Edit : un modèle avec des tableaux pour dessiner les courbes de fonctions (heu oui en fait ça sert sans doute à rien, mais j'ai de vague souvenir de ce genre de trucs niveau terminale ES)



    A la réflexion on pourrait raisonner en terme de Action*Pondérateur>ETAT

    Exemple : PROX * Psy Soc > ETAT
    REL * PROX >ETAT

    En rajoutant un système de contre réaction aux marges :
    si ETAT*REL >95 => PROX (= En gros si le PNJ est malheureux et déteste un PNJ EXT alors il effectuera un mouvement de recul pour s'en éloigner)
    Dernière modification par cailloux ; 30/04/2011 à 18h44.
    Ça casse pas des briques sur un canard...

  26. #26
    Citation Envoyé par L-F. Sébum Voir le message
    floats
    Bon ben t'as vachement mieux expliqué ça que moi

    Et je te rassure, tu n'es pas seul à être obsédé par l'élégance en programmation, ainsi que par la torsion de cerveau :D

  27. #27
    Bon, je me charge de créer le topic.

    EDIT : go go ici les zamis

    Je demande à Sebum de transvaser nos discussions.

    En attendant le bougeage de topic je vous recommande une autre fois de lire ceci
    Dernière modification par cailloux ; 30/04/2011 à 18h53.
    Ça casse pas des briques sur un canard...

  28. #28
    J'étais sur le point de le faire .

    Mouaip, ça c'est VOS solutions techniques, à vous de gérer !
    En fait c'est pas juste un point de vue technique, c'est aussi un choix de "game" design.

    Avec seulement des paliers tu as un système binaire.

    Un état, une action, soit elle à une conséquence, soit elle n'en a pas.

    En ayant ça sur une échelle plus détaillée, ça permet de modérer un peu. On garde les paliers, ça ressemblerai à un truc du genre de 0 à 20 on est au pallier amour 1, de 20 à 40 au pallier amour 2 et ainsi de suite.
    Et dans ce cas la une action peut ne rapporter que amour +5, c'est à dire pas suffisant pour changer de pallier, mais on s'en rapproche.
    Je regarde les tableaux le temps que tout soit déplacer.
    *syntax error*

  29. #29
    Je penses qu'on devrait commencer par établir clairement un objectif avant de commencer à réfléchir sur le cahier des charges, non ?

    Cailloux, je sais pas ce que tu as en tête précisément quand tu parles d'aperçu de moteur de relation, mais voilà ce que je propose:

    Ce qui me plairait bien, c'est qu'au final on ai un prototype du genre une petite map, une représentation d'une pièce dans laquelle on enfermerai des personnes (représentées comme cailloux l'a décris par exemple), et qu'on les laisse "vivre leur vie" de manière autonome, dans le but arriver à observer des comportement humainement logique.

    Ces personnes seraient définies par les caractéristiques dont on a parlé.
    Elles peuvent se déplacer librement (enfin en fonction de leur caractère) et auraient deux ou trois actions sociales comme parler (avec des nuances, bavarder, insulter, charmer), ignorer, agresser (?), menant à terme à une sorte de simili paix sociale, ou ceux qui s'aiment pas reste généralement dans leur coin, les autre restent ensemble.

    Une fois ça en place on pourrait de manière très facile ajouter un personnage joueur pour "donner des coups de pieds dans la fourmilière" et voir le résultat.

    Concrètement, deux groupes "d'amis" se sont formé, neutre l'un envers l'autre, le groupe A et le groupe B. Tu deviens amis avec le groupe A, tu insulte un membre du groupe B, est ce que les deux groupes se foutent sur la gueule ?

    Bon, en l'écrivant ça parait vraiment extrêmement ambitieux et complexe, mais ça n'en est pas moins intéressant.

    Vous en pensez quoi, vous avez quoi comme objectif en tête ?
    *syntax error*

  30. #30
    Citation Envoyé par oks2024 Voir le message
    Je penses qu'on devrait commencer par établir clairement un objectif avant de commencer à réfléchir sur le cahier des charges, non ?

    Cailloux, je sais pas ce que tu as en tête précisément quand tu parles d'aperçu de moteur de relation, mais voilà ce que je propose:

    Ce qui me plairait bien, c'est qu'au final on ai un prototype du genre une petite map, une représentation d'une pièce dans laquelle on enfermerai des personnes (représentées comme cailloux l'a décris par exemple), et qu'on les laisse "vivre leur vie" de manière autonome, dans le but arriver à observer des comportement humainement logique.

    Ces personnes seraient définies par les caractéristiques dont on a parlé.
    Elles peuvent se déplacer librement (enfin en fonction de leur caractère) et auraient deux ou trois actions sociales comme parler (avec des nuances, bavarder, insulter, charmer), ignorer, agresser (?), menant à terme à une sorte de simili paix sociale, ou ceux qui s'aiment pas reste généralement dans leur coin, les autre restent ensemble.

    Une fois ça en place on pourrait de manière très facile ajouter un personnage joueur pour "donner des coups de pieds dans la fourmilière" et voir le résultat.

    Concrètement, deux groupes "d'amis" se sont formé, neutre l'un envers l'autre, le groupe A et le groupe B. Tu deviens amis avec le groupe A, tu insulte un membre du groupe B, est ce que les deux groupes se foutent sur la gueule ?

    Bon, en l'écrivant ça parait vraiment extrêmement ambitieux et complexe, mais ça n'en est pas moins intéressant.

    Vous en pensez quoi, vous avez quoi comme objectif en tête ?
    C'est l'idée que j'avais en tête sauf que j'y ajoutais des objectifs et, pour y arriver la possibilité d'infléchir sur les comportements des PNJ (en les faisant se droguer, faire du sport etc)... Mais bon l'essentiel c'est le moteur, ensuite ce qu'on en fait.... Tains j'ai l'impression de recréer les sims les gars, je me trompe ?

    Par contre, comme je le disais tantôt le moteur doit être assez ouvert pour pouvoir ajouter des équations à volonté.
    Ça casse pas des briques sur un canard...

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •