Conversaciones a lo Monkey Island o Mass Effect

Front page Foros Videojuegos Conversaciones a lo Monkey Island o Mass Effect

Viendo 21 entradas - de la 1 a la 21 (de un total de 21)
  • Autor
    Entradas
  • #50942
    avatar-defectoKenny_hp
    Miembro

    Hola gentes de bien,
    como por aquí hay mucho experto, voy a lanzar una pregunta, a ver si me podéis ayudar un poco.
    Quiero crear un chat-boot, y llevo varios días buscando información sobre el tema, quiero crear algo parecido a las conversaciones de Monkey Island o Mass Effect, done las conversaciones «fluian» dependiendo de tus respuestas. Lo unico que encuentro son referencias de la wikipedia a «dialog tree» que explican un poco lo que es, pero lo que yo necesito es algo mas concreto. ¿alguien de por aquí conoce páginas o documentos donde expliquen que técnicas o algoritmos han usado para conseguir algo así?
    Gracias!

    #501253

    Pero… ¿eso no es básicamente lo que quieres? Si contestas A, respuestas C,D, si contestas C respuestas E,F… etc…

    #501284

    Eso es basico de cualquier lenguaje de programacion.
    No se si buscas algo que te lo haga mas facil o yo no te estoy entendiendo pero vaya, es el tipico caso de:
    preguntas, escaneas la respuesta y le devuelves otras tantas respuestas que vuelves a escanear y que vuelves a devolver con otras preguntas. Y asi hasta el infinito y mas allá.

    ejemplo:

    que haces?
    1-rio
    2-leo
    3-canto

    Si la respuesta es 1 entonces:
    Que bien que rias
    Si la respuesta es 2 entonces:
    que bien que leas
    Si la respuesta es 3 entonces:
    Que bien que cantes

    Facil, facil.

    #501301
    ShinomuneShinomune
    Miembro

    Joder, si hasta yo que aún no llevo un trimestre de programación, creo que sería capaz de hacerlo en C sin problemas.

    #501310

    Para hacer algo asi empieza por la wiki que es tu amiga.
    CLICK

    Lo del monkey island es muy parecido pero a años luz de complicación una cosa de la otra.

    #501313
    KirblueKirblue
    Miembro

    Es posible que quieras que según lo que vaya contestando la conversación se dirija hacia un lado u otro, en ese caso es probable que la cosa sea así:

    qué haces?
    1-rio
    2-leo
    3-canto

    Si la respuesta es 1 entonces:
    Que bien que rias, ¿por qué ries?
    1-por nada
    2-gracias a nolgan
    3- la lista de geras

    Y por cada respuesta un nueva pregunta. Pero vamos, que yo tampoco entiendo muy bien qué buscas.

    #501359

    Basicamente un robot con el que se puede charlar sin que chirrie la conversación.
    Bot conversacional.
    El problema es que el ejemplo de las aventuras gráficas que ha puesto es algo fallido al pensar que son cosas parecidas.

    O eso creo.

    #501397
    MrMiyagiMrMiyagi
    Miembro
    #501402
    avatar-defectoKenny_hp
    Miembro

    Vamos a ver… lo de la respuesta de AIML es lo que buscaba… tal vez no me he expresado bien y por eso algunas de las respuestas, quiero creer que es eso. Uno por ahí ha dicho que con un trimestre de programación lo haría… «amios» a ver… hacer diez millones de if…else no es saber programar…

    Me voy a mirar lo de AIML a ver que tal, gracias!

    #501405

    #501411

    Es justo y necesario.

    #501475
    GilikongGilikong
    Miembro

    Es que precisamente Monkey Island no creo que tenga algo mas dificil que unos «If» o unos «Switch», la verdad :emo:

    #501481
    SrVallejoSrVallejo
    Miembro

    @gilkong dijo:
    Es que precisamente Monkey Island no creo que tenga algo mas dificil que unos «If» o unos «Switch», la verdad :emo:

    Ni tampoco mass effect. Y guardar algun booleano o entero con la «opción» que has escogido para futuras conversaciones.

    La complicación viene más por crear tu el arbol, que no la programación, que como dice kaiser, cualquiera con 2 clases de programación podría hacerlo.

    Edit: Ahora que lo pienso se podría hacer con la clase arbol, pero no vale ni la pena.

    #501545
    ShinomuneShinomune
    Miembro

    @kenny_hp dijo:
    Uno por ahí ha dicho que con un trimestre de programación lo haría… «amios» a ver… hacer diez millones de if…else no es saber programar…

    #501595
    OlorinOlorin
    Miembro

    Normalmente para eso se usa un sistema de agentes y si, cada uno se programa con un swich o unas ramas de if pero con un poquito de lógica adicional. Para pasar de un agente a otro que son los que hacen cada pregunta se usa probabilidad. Normalmente se les pone un sistema de aprendizaje con backtrack y esa probabilidad va variando en función de una constante que pones y una variable que el sistema lanza a todos los agentes cuando ha acertado o fallado. Si ya quieres rizar al rizo siempre puedes hacer agentes intermedios que ponderen más cosas con más variables (en este caso se me ocurre tiempo de respuesta que puede indicar duda o certeza). Lo primero que deberías hacer es definir tu Universo y hacer la malla por la que estas dispuesto a transitar, cada nodo sería un agente.
    Ahora bien, es un trabajo de chinos.

    #501655
    avatar-defectoKenny_hp
    Miembro

    @srvallejo dijo:

    @gilkong dijo:
    Es que precisamente Monkey Island no creo que tenga algo mas dificil que unos «If» o unos «Switch», la verdad :emo:

    Ni tampoco mass effect. Y guardar algun booleano o entero con la «opción» que has escogido para futuras conversaciones.

    La complicación viene más por crear tu el arbol, que no la programación, que como dice kaiser, cualquiera con 2 clases de programación podría hacerlo.

    Edit: Ahora que lo pienso se podría hacer con la clase arbol, pero no vale ni la pena.

    Como hace mucho que no entro en los foros, no os conozco ni se hasta que punto lo que dices es ironía o de verdad lo piensas, si es así, discrepo. Dudo mucho que los diálogos de Mass Effect se basen en if… else o en switch… case

    De todos modos parece que lo que confunde es el ejemplo que he puesto, bueno vale, me he equivocado en el ejemplo, superemos eso y vayamos un poco mas allá (algunos lo han conseguido y han dado respuestas inteligentes), yo no buscaba la sintaxis o el código que tenia que usar, si no la mejor técnica para conseguir mi objetivo. Todos estamos de acuerdo en que podría hacer un programa con 10.000 lineas de código que sean if…else con preguntas/respuestas, pero creo que también estaremos de acuerdo en que eso ni es factible, ni es «mantenible» ni es programar.

    #501658
    avatar-defectoKenny_hp
    Miembro

    @olorin dijo:
    Normalmente para eso se usa un sistema de agentes y si, cada uno se programa con un swich o unas ramas de if pero con un poquito de lógica adicional. Para pasar de un agente a otro que son los que hacen cada pregunta se usa probabilidad. Normalmente se les pone un sistema de aprendizaje con backtrack y esa probabilidad va variando en función de una constante que pones y una variable que el sistema lanza a todos los agentes cuando ha acertado o fallado. Si ya quieres rizar al rizo siempre puedes hacer agentes intermedios que ponderen más cosas con más variables (en este caso se me ocurre tiempo de respuesta que puede indicar duda o certeza). Lo primero que deberías hacer es definir tu Universo y hacer la malla por la que estas dispuesto a transitar, cada nodo sería un agente.
    Ahora bien, es un trabajo de chinos.

    Amen!

    #501674
    David LlortDavid Llort
    Miembro

    @kenny_hp dijo:
    Como hace mucho que no entro en los foros, no os conozco ni se hasta que punto lo que dices es ironía o de verdad lo piensas, si es así, discrepo. Dudo mucho que los diálogos de Mass Effect se basen en if… else o en switch… case

    No directamente, pero sí un sistema de árbol donde para cada respuesta hay un enlace a otro árbol y/o una consecuencia en cambio de stats (rebeldía + 1, etc).

    #501819
    SrVallejoSrVallejo
    Miembro

    Sé programar en c++, pero no he trabajado en ningún proyecto grande aplicando mis conocimientos, así que hablo desde la más profunda ignorancia, pero no he visto nada en el mass effect que no sea una cadena de if’s. Puedes hacerlo más complejo, haciendo clases, o otras cosas, pero en la base no deja de ser una cadena de if’s que vas a tener que ir escribiendo una a una, y escribiendo las consecuencias.

    Ponlas en arbol, ponlas como desees, pero al jugar al mass effect me da la sensación que lo que pasa es que saltan un seguido de variables que hablan de tu progreso en el juego y hacen decir unas cosas o otras a los jugadores.

    Y si los ejemplos son malos son culpa tuya, superalo tu, y explicalo, no pretendas que los demás entendamos lo que has querido decir pero no has sabido.

    #502022

    Si quieres hacer una conversación como Mass Effect la estructura correcta es un grafo acíclico dirigido. Para hacer un chatbot la forma más facil que se me ocurre es usar prolog (que es lo que más se usa en PLN).

    Just my two cents.

    #502091
    avatar-defectoKenny_hp
    Miembro

    @fanatiko dijo:
    Si quieres hacer una conversación como Mass Effect la estructura correcta es un grafo acíclico dirigido. Para hacer un chatbot la forma más facil que se me ocurre es usar prolog (que es lo que más se usa en PLN).

    Just my two cents.

    AHA!!! esto es! Gracias.

    Con lo de superarlo me refería a que la conversación ya había fluido hacia donde tenia que ir, que dejarais de centraros en el ejemplo si este no era correcto, que ya lo sabíamos todo.

Viendo 21 entradas - de la 1 a la 21 (de un total de 21)
  • Debes estar registrado para responder a este hilo.