JeuWeb - Crée ton jeu par navigateur
générateur de techtree - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : générateur de techtree (/showthread.php?tid=3838)

Pages : 1 2


générateur de techtree - wild-D - 29-03-2009

bon pas très pertinent je pense pour un univers permanent.

par contre pour un mode de jeu fonctionnant sur le modèle "par partie"; je me dis que quitte à générer un nouvel univers aléatoire à chaque fois histoire de pas se retrouver avec la même carte à découvrir (donc en fait sans rien à découvrir Tongue); autant ajouter aussi cette couche dans le générateur.


Répartir des ressources/villes/route, etc... sur une map pose généralement pas trop de problème. Du moment qu'on respecte quelques contraintes simple, genre assurer que une route relie 2 villes, le nom de chaque ville importe peu.

par contre si on veut un arbre de technologie je me retrouve un peu coincé entre 2 extrêmes.
Difficile d'inventer l'arme atomique d'abord, puis les mathématique ensuite (ou pire de se retrouver à construire un sabre laser avec un bout de bois et une plume) Big Grin
donc soit on invente un arbre avec des technologie totalement fantaisiste (mais niveau ambiance c'est un peu bcp déjanté: genre pour construire un boola-boola faut découvrir la technologie rupa niveau 3 et posséder un stock de ressource de 20 bibops et de 2 loulas ).
sois je me retrouve à juste faire quelque variation sur le nombre de niveau/et le coût de recherche/coût de fabrication de technologies assez figées.

(je parle même pas encore du casse tête pour essayer d'avoir un certaine équilibrage en plus).

quelqu'un aurait une idée de piste à suivre ou c'est un problème insoluble ?

p.s.
sinon je trouve rien entre les 2; je m'essaierais surement au boola-boola... on verra bien ce que ça donne ^^


RE: générateur de techtree - rygnes - 29-03-2009

Constituer un arbre en sous-couches.

*Illustration*

...
Noeud n
...
1°(n)-Découverte de l'informatique
2°(n)-Découverte de la chimie-organique
3°(n)-Découverte de la pharmaceutique
4°(n)-Découverte de la génétique
...
Noeud n+1
1°(n+1)-Découverte de la robotique
2°(n+1)-Découverte de la nano-technologie
3°(n+1)-Découverte production de masse
4°(n+1)-Découverte médecine préventive
5°(n+1)-Découverte médecine thérapeutique
6°(n+1)-Approfondissement de la génétique
7°(n+1)-Découverte exo-squelette.
...
Noeud n+2
...

Tu génères l'arbre en commençant de la base (Invention de la roue, du langage, de l'écriture, toutes bases relatives à ton contexte).

Tu déduis de la première couche la possible couche suivante (voir plusieurs si tu as un éventail suffisamment grand).

Tu poursuis ainsi jusqu'à la fin de l'arbre.

Dans l'exemple nous sommes parvenu jusqu'au noeud n.

("a ==> b" équivaut à a ne peut pas être développer sans b)

1°(n+1) ==> 1°(n).
2°(n+1) ==> 1°(n).
3°(n+1) ==> 1°(n) ET 5°(n) ==> Non utilisable (par propagation, toutes les technologies y ayant recours ne pourront pas être développées, elles n'apparaîtront pas dans l'arbre).
4°(n+1) ==> 3°(n-1) précédemment développé.
5°(n+1) ==> 3°(n) ET 2°(n).
6°(n+1) ==> 4°(n).
7°(n+1) ==> 8°(n) non développé car 7(n-1) non développé puisque 2°(n-2) non développé... 7°(n+1) bloque ses descendants de même que 3°(n+1).

C'est un arbre relationnel (deux noeuds ou trois maximum de visibilité entre les technologies, sinon cela deviendra vite un casse tête).


RE: générateur de techtree - Zamentur - 30-03-2009

moi plutot que de faire un arbre je ferais un graphe indiquant toutes les possibilité d'enchainement des découvertes.

Ainsi on peut ensuite créer un arbre à partir de ce graphe en tenant compte des dépendance.
L'abre en question sera donc différent à chaque fois tout en conservant une logique.
Je sais pas si c'est clair.

Si il faut je peux faire un schéma


RE: générateur de techtree - Mycroft - 30-03-2009

J'ai l'impression qu'un arbre de technologie c'est quelque qui se prête assez mal à l'aléatoire.

Pour la disposition du terrain, répartition des ressources, ce sont des phénomènes naturelles, qui même si ne sont pas aléatoires sont suffisament complexes pour nous le paraître.

Au contraire un arbre technologique, chaque étape est le résultat d'une progression logique. (Même si c'est aussi basique que Propulsion IV après Propulsion III).

A ta place, je recréerais "à la main" un arbre à chaque partie en gardant à peu prêt les même technologies, mais en changeant quelques dépendances à chaque fois. Ca peut être suffisant pour briser la monotonie et empêcher l'optimisation. C'est peut être plus intéressant de changer les dépendances, que juste les coûts.


RE: générateur de techtree - wild-D - 30-03-2009

>> Tu déduis de la première couche la possible couche suivante (voir plusieurs si tu as un éventail suffisamment grand).
heu... y a intérêt que y en ait plusieurs de possible; sinon le générateur va me générer le même techtree à chaque partie; ce qui serait sans intérêt; vu que le but c'est de trouver un moyen de générer un techtree différent pour chaque partie.


@zamentur
je comprends je pense; j'ai juste peur de la taille du graphe complet. Je veux dire que si je pars de l'idée que pour avoir un arbre avec un minimum de 50 tech celui-ci ne va pas automatiquement couvrir toutes les technologies possibles. Même si le graphe sera pas "exponentiel", mais plutot de type "scénar" ça va me faire quand même un peu suer pour le tracer ^^


p.s.
petit point sur lequel je m'interroge;
c'est est-ce que je peux/dois ou pas inclure dans mon graphe des "scénars" assez extrême (si je m'appuie sur un mon cas d'un univers scifi):
- genre pour le voyage dans l'espace on va dire que y a 2 techno: le générateur de trous de verre, et la propulsion hyper-espace

si j'ai dans mon graphes des scénars sans ni l'un ni l'autre; ça va profondément changer le mode de jeu; d'autant plus si faut qu'il n'y ait pas ou peu de trou de verre "naturel". Les possibilités d'interaction/combat direct seront surement nulle; et donc les objectifs restant pour gagner la partie seront de type course de farming.

idem si par exemple les technos de colonisations (là la déf/att de la planète mère deviendra l'objectif clé), ou d'autre pans sautent.


RE: générateur de techtree - Roworll - 30-03-2009

Pour faire varier la notion de recherche technologique sans avoir à se casser la tête à refaire un arbre à chaque fois, je me baserai sur un système déjà vu dans je ne sais plus quel jeu de stratégie : ne pas faire des recherches sur une technologie en particulier mais dans une catégorie de technologie donnant un "résultat aléatoire".

Je vais essayer de m'expliquer.

Commence par faire un arbre des technologies complet avec ses dépendances, ses prérequis, ses couts, etc.
Ensuite, classe tes technologies par catégories (Militaire/Education/Civile/etc)
Affecte un "poids" pour chaque technologie de même niveau et de même catégorie. Ce poids représente les chances de découverte d'une avancée scientifique plutôt qu'une autre. Par exemple, Irrigation, Engrais et Elevage sont au même niveau dans la catégorie Civile. Irrigation à un poids de 15, Engrais de 5 et Elevage 20.

Quand un joueur lance une recherche, il ne va pas choisir une technologie particulière mais juste sa catégorie. La technologie découverte est déterminée au hasard dans la catérogie/niveau en cours. Reprenant la répartition donnée en exemple ci dessus, un joueur lançant les recherches Civiles correspondante a 37.5% de chance de trouver l'irrigation, 12.5% de trouver Engrais et 50% de trouver Elevage. Supposons qu'il trouve Irrigation et qu'il relance une recherche, il aura 20% de chance de trouver Engrais et 80% pour Elevage.

Si tu ajoutes la dessus la notion de temps/quantité de recherche sur chaque technologies, ça devrait te donner quelque chose d'assez potable.
Toujours le même exemple : Irrigation requiert 20 pts de recherche, Engrais 50 et Elevage 10.
Un joueur générant 7 pts de recherche / tour trouvera Irrigation en 3, Engrais en 8 et Elevage en 2

Evidemment, il ne sait ce qu'il a découvert qu'une fois le temps écoulé.

Ce système a quelques avantages
- Il permet de garder un arbre de technologies fixe
- Il simule (a mon avis) plus fidèlement le processus naturel de recherche. En gros, les scientifiques se disent : "comment améliorer l'éducation" ou "comment faire des armes plus performantes" plutôt que "tiens, si on inventait l'écriture".
- Chaque partie sera différente car les technologies ne seront pas découvertes dans le même ordre obligeant le joueur à adapter sa stratégie sur ses découvertes

Au chapitre des désavantages
- L'aléatoire, toujours délicat, qui peut ruiner une partie

[edit]
Au passage je pense qu'on écrit "trou de ver" (de l'anglais wormhole) et pas "trou de verre"


RE: générateur de techtree - Mycroft - 30-03-2009

Pour reprendre l'idée de scénario, à mon avis ça peut être sympa de modifier de façon intéressée ton graphe de technologies.

Par exemple, pour une partie tu favorises l'obtention des technologies de voyage spatial et déplacement très rapidement, et pour une suivante au contraire tu le permets qu'à partir de la mi partie. (En jouant sur les coûts / dépendences /etc)

Dans certains cas tu favorises une expansion rapide dès le début, dans d'autres l'investissement à long terme.

Tu peux aussi choisir des parties plus agressives ou defensives...

Par contre c'est certain que de trouver le bon équilibre est pas évident.

Mais au moins ça permet de renouveler le jeu à chaque partie, et de ne pas trop avantager les joueurs réguliers par rapport aux débutants.

J'aimerais bien savoir comment fait Wells dans Septentrion, si il a des technologies fixes ou non.

Edit : Après je dirais que ça dépend aussi du type de joueur que tu as. Dans la plupart des jeux de stratégies, les joueurs aiment bien maîtriser tous les paramètres pour justement faire les choix les plus optimaux. Les changements ça peut en faire fuire certains. Mais ça t'amenera aussi ceux qui aiment une part d'incertitude.


RE: générateur de techtree - Zamentur - 30-03-2009

Après quelques test du modèle que je proposais en haut, çà me parait finalement pas forcément opportun. Du moins je n'ai pas réussi à avoir quelques chose de concluant. Mais je referais une tentative.

En fait je pense que la solution de Roworll est bien, c'est certainement ce que j'aurais fait plutôt que de créer des arbres de technologie.

Sinon la remarque de Mycroft est pas mal non plus vis à vis de la facilité d'accès aux branches de l'arbre qui serait aléatoire (ou calculer selon d'autre critère)


RE: générateur de techtree - wild-D - 30-03-2009

le but du jeu est bien sûr d'éviter que le joueur puisse avoir une stratégie optimisée avant même le début de la partie ou dès le début. (si ça doit faire fuir quelque optimisateurs fou tampis).
Histoire de mettre en avant le coté "découverte d'un nouvel univers et capacité du joueur à s'y adapter".

or renouveler la carte des systèmes solaires; offre un peu de renouveau; mais n'a pas de réel impact sur la stratégie optimale; et le joueur ancien part avec un énorme avantage; et avec l'expérience chacun va plus ou moins appliquer systèmatiquement la même stratégie.

le meilleurs moyen que j'ai trouvé pour renouveler le jeu c'est de modifier le techtree. Sauf que c'est plus facile à dire qu'à faire.

@roworll
même si j'aime bien le concept; ça n'a pas l'effet escompté (ça ne change pas vraiment la stratégie idéale); au contraire; ça va juste dégouter ceux qui auront de mauvais tirage -parce que là ils savent tout de suite que c'est "un mauvais tirage" vu que le techtree change pas-, voir même pousser à des abandons prématurés si le joueurs cumule plusieurs "mauvais tirages" par rapport à la stratégie optimale qu'il recherche.

pour l'idée de mycroft:
pour la facilité d'accès, j'y ai songé(varier le nombre de niveau,coût, etc...); le truc c'est que le joueur expérimenté qui voit que missile interstellaire lui coute 2 fois plus en recherche que sur la partie précédente et laser 2 fois moins; par rapport à d'autre joueur, il sait d'avance que temps qu'il a pas un besoin criant de missile (ou de la techno en prérequis) autant zaper cette recherche et s'orienter vers ne stratégie de combat rapproché.
donc bon point: ça force quand même à s'adapter
par contre les joueurs habitués partent avec un avantage certains.


je suis en train de réfléchir à l'option assez vague encore; (en m'inspirant très vaguement du principe des mob, meute de mobs et de leur AI)
- c'est d'avoir des modèles de type de branche.
- des règles de "comportement"
- et on associe ce mic-mac en arbre de techos. Big Grin je suis pas sûr que ça donne un résultat exploitable


RE: générateur de techtree - Roworll - 30-03-2009

Citation :ça va juste dégouter ceux qui auront de mauvais tirage
Il suffit de mettre tout le monde d'accord en générant ton arbre au début de chaque partie.
La progression sera identique pour tout le monde mais l'ordre des découvertes changera à chaque fois.

En plus, si tu ne veux pas t'embêter à stocker chaque version de l'arbre dans ta base, il suffit d'utiliser la même graine(seed) pour tes tirages.