CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 23 Nov 2017 16:03

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 76 mensajes ]  Ir a página Anterior  1, 2, 3, 4, 5, 6  Siguiente
Autor Mensaje
NotaPublicado: 26 Ene 2012 14:19 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
minidu escribió:
Código:
    <description>
       <info name="Clásico" type="classic"> #esto es siempre classic y el name da igual
          <image url="http://www.google.es/images/srpr/logo3w.png"/>
          <synopsis>Se trata de una aventura...</synopsis>
       </info>
       <genre type="Ciencia Ficción"/>
...

Si da igual y/o siempre es lo mismo, ¿para qué existe <info>?

A golpe de vista, lo simplificaría a algo como:
Código:
<description>
      <image url="f.png"/>
      <synopsis>Se trata de una aventura...</synopsis>
      <genre type="Ciencia Ficción"/>
      <author name="Señor X"/>
      ...
</description>

...siempre que no esté pasando por alto algún motivo.

También dudo si name tiene que ser un atributo de <author>. No soy experto en XML pero sé que es tema clásico de discusión, y sin reglas escritas en piedra. Hay un montón de información al respecto, con algunos buenos resúmenes y recomendaciones. De todas formas, no dejes que la decisión elemento vs. atributo te estanque... simplemente tenlo en cuenta, trátalo en el momento que consideres adecuado.

minidu escribió:
También haré un script para procesar las fichas [del wiki] [...] ¿es la información más actualizada? o la de las fichas normales?
Supongo que depende del caso.

Una curiosidad, no hace falta que te extiendas, ni siquiera que me contestes (-;
minidu escribió:
También me deshice de wxWidgets no sé por qué, porque me parecía feo, y he vuelto a GTK+
¿Feo en qué sentido?


Arriba
 Perfil  
 
NotaPublicado: 26 Ene 2012 15:11 
Desconectado
Elfito
Elfito

Registrado: 14 Ene 2012 14:05
Mensajes: 15
dddddd escribió:
¿Feo en qué sentido?

Visualmente, simplemente me parecía que quedaba más feo que GTK+ en mi ubuntu, aunque quizá fuera porque no supe yo sacarle la belleza que lleva dentro, porque supongo que por debajo también usa GTK+.

dddddd escribió:
Si da igual y/o siempre es lo mismo, ¿para qué existe <info>?

Bueno, era por si hay distintas fuentes de información, otro tipo era WikiCAAD, y otro podría ser del mismo tipo repetido, y otro de alguna otra web.

Jaja lo del atributo, o texto, supongo que a eso te refieres... bueno, es indiferente.


Arriba
 Perfil  
 
NotaPublicado: 26 Ene 2012 17:33 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

Registrado: 23 Abr 2004 08:49
Mensajes: 2888
Ubicación: España (Galicia)
Hola !

Y no sé nada del formato ORCO ni ninguna cosa de la que estáis manejando, pero se parece mucho al formato iFiction. Preguntabais qué generos había, y cosas así. Bueno, existe una especificación que se llama Tratado de Babel:

http://babel.ifarchive.org/babel_rev7.txt

(en la sección 5.6.6. habla de los géneros)

Que utiliza Babble, un programa que yo creé, para escribir información bibliográfica:

http://www.caad.es/baltasarq/prys/babble/babble.html

Por ejemplo:
http://www.caad.es/baltasarq/if/acuario ... o.ifiction

Está todo explicadito (en español), aquí:
http://spac.caad.es/1/spac49.htm#a3

Vamos, por si sirve de algo...

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
NotaPublicado: 26 Ene 2012 17:52 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5274
Ubicación: Coruña
Aunque desde luego Babel es compatible con ORCO, no lo puede sustituir, pues es un formato bastante inflexible y limitado, que además no fue pensado para hacer un front-end como éste (está pensado para describir más bien el contenido de la aventura que cómo se ejecuta).

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 27 Ene 2012 14:05 
Desconectado
Elfito
Elfito

Registrado: 14 Ene 2012 14:05
Mensajes: 15
Interesante lo de Babel, quizá lo piense más adelante si integrarlo.
De momento ya tengo una primera versión casi funcional, necesito testear un poco y pasárosla.
Ahora necesito que me rellenen alguna ficha, hice un script, pero los datos de la wiki no son muy homegéneos, al menos no al 100% y hay que tocarlo a mano todo, especialmente la manera de instalar los juegos y correrlos.
Creo que se puede hacer entre todos, así no me volveré loco (8
Les dejo el script, que en los campos incompletos deja el texto RELLENE o RELLENE AQUI
Necesita xhtmls de la wiki, yo los paso por tagsoup, quien no pueda o no sepa, puede hacerlo a mano que más o menos es el mismo trabajo, sí... este script no he sabido sacarle mucho provecho. Necesita los html en el directorio del script ./html.all/
y un directorio en el del script llamado ./fichas que es donde lo guarda
Lo siento no he sabido adjuntar el fichero, lo pego aqui
Spoiler: Mostrar
Código:
# -*- coding: utf-8 -*-
import os
from xml.dom.minidom import parse
import re

def getInnerText(node):
    text = ''
    for n in node.childNodes:
        if n.nodeType == node.TEXT_NODE:
            text += n.data
        elif n.nodeType == node.ELEMENT_NODE:
            text += getInnerText(n)
        else:
            print 'Oh noes'
    return text

fficha = open('./fichas/' + 'fichas.txt', 'w')
for thefile in os.listdir('./html.all'):
    f = open('./html.all/'+thefile, 'r')
    #fficha = open('./fichas/' + thefile + '-ficha.txt', 'w')
    page = parse(f)
    f.close()
    listas = page.getElementsByTagName('li')
    titulob = False
    autorb = False
    genreb = False
    platfb = False
    fechab = False
    verb = False
    fechacb = False
    descb = False
    imgb = False
    version='RELLENE'
    origdate='RELLENE'
    versiondate='RELLENE'
    autor='RELLENE'
    titulo='RELLENE'
    genero='RELLENE'
    plataforma='RELLENE'
    synopsis='RELLENE'
    for li in listas:
        text = getInnerText(li)
        if not titulob:
            t = 'Título:'
            index = text.find(t)
            if index != -1:
                title = text[index+len(t):]
                titulob = True
        if not autorb:
            t = 'Autor:'
            index = text.find(t)
            if index != -1:
                autor = text[index+len(t):]
                autorb = True
        if not genreb:
            t = 'Género:'
            index = text.find(t)
            if index != -1:
                genero = text[index+len(t):]
                genreb = True
        if not platfb:
            t = 'Plataforma:'
            index = text.find(t)
            if index != -1:
                plataforma = text[index+len(t):]
                platfb = True
        if not fechab:
            t = 'Fecha última versión'
            index = text.find(t)
            if index != -1:
                versiondate = text[index+len(t):]
                fechab = True   
        if not verb:
            t = 'Última versión'
            index = text.find(t)
            if index != -1:
                version = text[index+len(t):]
                verb = True
        if not fechacb:
            t = 'Fecha de creación'
            index = text.find(t)
            if index != -1:
                origdate = text[index+len(t):]
                fechacb = True
    for a in page.getElementsByTagName('a'):
        if not descb:
            if a.hasAttribute('href'):
                t = a.attributes['href'].value
                if re.match('.*\.zip', t):
                    download = t
                    descb = True
        if not imgb:
            if a.hasAttribute('class') and a.attributes['class'].value == 'image':
                img = a.attributes['href'].value
                imgb = True
    i = 0
    for p in page.getElementsByTagName('p'):
        if i == 1:
            synopsis = getInnerText(p)
        i +=1
       
    generos = ''
    for g in genero.split('/'):
        generos += '\t<genre type="%s"/>\n'%g.strip()             
    ficha = '''
    <game title="%s" version="%s">
        <origdate>01-01-%s</origdate>
        <versiondate>01-01-%s</versiondate>
        <description>
            <info name="Clásico" type="classic">
                <image url="%s"/>
                <synopsis>%s</synopsis>
            </info>
        %s
        <author name="%s"/>
        </description>
       
        <install>
            <download to="${DOWNLOADS}/RELLENE AQUI">
                <mirror url="%s"/>
            </download>
            <extract file="${DOWNLOADS}/RELLENE AQUI" todir="${GAMES}/RELLENE AQUI" type="zip"/>
        </install>

        <format name="RELLENE AQUI">
            <param name="file" value="${GAMES}/RELLENE AQUI"/>
        </format>
    </game>
    ''' %(title.strip(), version.strip(), origdate.strip(), versiondate.strip(),
          img.strip(), synopsis.strip(), generos.strip(), autor.strip(),download.strip())
    fficha.write(ficha)
   
    #fficha.close()
fficha.close()

Ahora un ejemplo de fichas: he puesto en mayúsculas lo que hay que rellenar, a ver si me podéis hacer unas pocas variadas, lo más importante que sean de platformas variadas y prefereiblemente que puedan ejecutarse en linux
Código:
<game title="EL TÍTULO" version="LA VERSIÓN, PUEDE HABER UN TITULO CON MAS VERSIONES">

    <origdate>FECHA DE VERSION ORIGINAL</origdate>
    <versiondate>FECHA DE LA VERSION ACTUAL(2000-01-31)</versiondate>
   
    <description>
       <info name="Clásico" type="classic">
          <image url="URL DE LA IMAGEN O BORRAR ESTE CAMPO SI NO HAY"/>
          <synopsis>LA SINOPSIS</synopsis>
       </info>
       <genre type="EL GËNERO"/>
       <author name="EL AUTOR"/>
       <rating/>
    </description>
   
    <install>
      <download to="A QUE ARCHIVO DESCARGAR P.EJ.: ${DOWNLOADS}/archipielago.zip">
          <mirror url="DIRECCION DEL MIRROR, URL DE DESCARGA, PUEDE SER MAS DE UNO"/>
      </download>
      <extract file="ESTRAER QUE FICHERO P.EJ.${DOWNLOADS}/archipielago.zip" todir="${GAMES}/archipielago10" type="zip"/>
    </install>

    <format name="NOMBRE DEL FORMATO CON VERSION">
      <param name="file" value="FICHERO A PASAR AL INTËRPRETE P.EJ.: ${GAMES}/archipielago10/archipielago.glulx"/>
    </format>

  </game>


Arriba
 Perfil  
 
NotaPublicado: 27 Ene 2012 15:22 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
minidu escribió:
yo los paso por tagsoup

¿No los acepta el script si no lo haces?

Sobre el script, me da la sensación que has complicado en exceso la parte de la obtención de los datos técnicos, al desacerte de la función get_DatosTecnicos() del script original, pero bueno, es cuestión de gustos.

Lo que sí me preocupa es que has dejado sin especificar la codificación del fichero de salida (no usas codecs). ¿Te dió algún problema? ¿Está mejor sin especificar? Si lo especifiqué en su momento por algo fue, casi seguro que no se grababan los caracteres correctamente sin ello.

minidu escribió:
este script no he sabido sacarle mucho provecho

De ningún provecho a "no mucho provecho" hay algo. Mira el lado positivo (-; A ver si entre todos preparamos "cuatro" fichas que te servan para probar.

Sobre la plantilla, me gustaría aclarar:
Código:
<mirror url="DIRECCION DEL MIRROR, URL DE DESCARGA, PUEDE SER MAS DE UNO"/>

No se refiere, supongo, a poner más de una url entre las comillas, ni más url="...", sino que se añadirán más lineas <mirror .... />, una para cada posible lugar de descarga.

Gracias por tu atención y perdón por las preguntas si te resultan impertinentes.


Arriba
 Perfil  
 
NotaPublicado: 27 Ene 2012 16:15 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
Estoy probando y el script falla, por varios motivos:

Efectivamente, he necesitado incluir el módulo codecs y usarlo a la hora de abrir fichas.txt para que acepte los datos a escribir.

También he tenido que darles valor inicial a las variables img y download.

Así mismo, las cadenas con tildes daban problemas en el find y al cargar la variable ficha. Lo he solucionado declarando los strings unicode (con u'Género', por ejemplo).

También noto que faltan ':' en varios campos, antes de hacer el find, lo que provoca que campos vacios acaben con el literal ':' o estropeen las fechas.

Voy a ver si arreglo estos detalles (y algún otro) y os paso corregido el script.


Arriba
 Perfil  
 
NotaPublicado: 27 Ene 2012 16:27 
Desconectado
Elfito
Elfito

Registrado: 14 Ene 2012 14:05
Mensajes: 15
dddddd escribió:
¿No los acepta el script si no lo haces?

La verdad que no, me salta excepción de xml mal formado, el contenido de la wiki creo que es html clásico, conetiquetas sin cerrar por ejemplo br's, ¿me equivoco?
dddddd escribió:
Sobre el script, me da la sensación que has complicado en exceso la parte de la obtención de los datos técnicos, al desacerte de la función get_DatosTecnicos() del script original, pero bueno, es cuestión de gustos.

Sí bueno, copiando por el tuyo lo rehice de cero... básicamente porque soy gilipollas xD Hice el script mucho más sucio de lo que era el tuyo, es algo para ir tirando si es que tira
dddddd escribió:
Lo que sí me preocupa es que has dejado sin especificar la codificación del fichero de salida (no usas codecs). ¿Te dió algún problema? ¿Está mejor sin especificar? Si lo especifiqué en su momento por algo fue, casi seguro que no se grababan los caracteres correctamente sin ello.

Vaya, pues no me di cuenta, no me dio problemas por eso no reparé en ello, de todos modos creo que será mejor hacer las fichas a mano, hay que retocarlas igual manualmente.
dddddd escribió:
De ningún provecho a "no mucho provecho" hay algo. Mira el lado positivo (-; A ver si entre todos preparamos "cuatro" fichas que te servan para probar.

Claro, la idea está ahí, ya se perfeccionará, el caso es que va a tener que hacerse automáticamente, pero de momento prefiero alguna de prueba para ir avanzando en el programa.
dddddd escribió:
No se refiere, supongo, a poner más de una url entre las comillas, ni más url="...", sino que se añadirán más lineas <mirror .... />, una para cada posible lugar de descarga.

No, no, serían varios <mirror url=""/> Igual que el género que estoy pensando en poner varios posibles.

dddddd escribió:
Gracias por tu atención y perdón por las preguntas si te resultan impertinentes.

De nada, gracias a tí por la tuya y por las molestias que te tomas. De impertinentes nada, no olvidemos que este proyecto lo empecé para aprender, y aunque tal vez vaya a ser poco profesional, todo lo que aprenda por el camino es lo que me llevo.

He visto tu último mensaje, la verdad que muchas de esas cosas están puestas a propósito porque en mi salida se estropeaba a veces, así que es un hack absurdo que en mi pc funciona, por ejemplo cuando faltan los ':' es porque se comía una letra del campo, pero sí puedes arreglarlo mejor, aunque como digo supongo que habrá que hacerlas a mano en última instancia...

Saludos


Arriba
 Perfil  
 
NotaPublicado: 27 Ene 2012 18:43 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1855
He generado, con mi script retocado para usar tu XML, 16 fichas (desde las wikifichas antiguas que tengo en local -para puertAventura-), que son las que enlazaban a un zip en aquel momento. La gran mayoría (que no incluyo) apuntan a las viejas descargas, que ahora redirigen a la ficha del portal, por lo que realmente, ni pasan la comprobación de ".zip", ni apuntan a un fichero.

He rellenado los campos de nombre de fichero y directorio de almacenamiento en función del nombre y versión de la obra. He dejado un par de campos sin automatizar, pero creo que te interesará más probar el tema de las descargas, instalaciones y ejecuciones que la imagen o la sinopsis. Se incluye plataforma.

Si necesitaste el tagsoup es posible que el HTML del wiki actual no sea igual al de versiones anteriores. Lo comprobaré cuando me toque procrastinar otro rato (-:

Espero que te sirva de algo (HTH)


Arriba
 Perfil  
 
NotaPublicado: 30 Ene 2012 11:45 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 09 Sep 2004 18:26
Mensajes: 498
Ubicación: Sanlúcar de Bda. (Cádiz)
Pregunta de novato: ¿la especificación ORCO ofrece la funcionalidad de actualizar aventuras a una versión posterior? Lo digo porque es típico publicar una aventura y tiempo después sacar nuevas versiones corrigiendo fallos. (De hecho, en el mundo del software libre es costumbre publicar versiones nuevas con muchísima frecuencia; una versión nueva por cada pequeña corrección que se haga.) ¿Podría el frontend de minidu (o el que sea) mostrar una lista con las aventuras que puedan actualizarse y actualizar las que el jugador seleccione?

Para quien venga de Linux, lo que me imagino es una especie de Synaptic o Centro de software, pero de aventuras.

_________________
<= Alpha Aventuras =>
Amplificando tu mente


Arriba
 Perfil  
 
NotaPublicado: 30 Ene 2012 14:01 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5274
Ubicación: Coruña
Sí, la especificación da esa posibilidad, permitiendo especificar distintas versiones de un juego con sus correspondientes números de versión. Lo de usar eso para mostrar en la GUI una lista de aventuras para actualizar ya es cosa del cliente, lógicamente; pero el soporte en el protocolo está ahí.

_________________
Actúa siempre de tal modo que las decisiones de tu voluntad pudiesen servir como preceptos de una legislación universal (E. Kant)


Arriba
 Perfil  
 
NotaPublicado: 30 Ene 2012 14:06 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 09 Sep 2004 18:26
Mensajes: 498
Ubicación: Sanlúcar de Bda. (Cádiz)
Al-Khwarizmi escribió:
Sí, la especificación da esa posibilidad, permitiendo especificar distintas versiones de un juego con sus correspondientes números de versión. Lo de usar eso para mostrar en la GUI una lista de aventuras para actualizar ya es cosa del cliente, lógicamente; pero el soporte en el protocolo está ahí.


Entonces genial :). Ya lo que haría falta sería tener también un método cómodo, rápido, sencillo y automatizado para que el autor pueda actualizar las aventuras publicadas cada vez que quisiera. ¡Eso ya sería la caña!

_________________
<= Alpha Aventuras =>
Amplificando tu mente


Arriba
 Perfil  
 
NotaPublicado: 28 Sep 2015 08:01 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Lamento tener que leer en diagonal este post por lo que puede que me repita, pero un "portal de descarga aventuras" debería tener, en mi opinión, lo siguiente:

1) No necesitar ser instalado, un sitio web es lo más adecuado.
2) Permitir al usuario leer una descripción, ver unas imágenes (opcional) y comentar las aventuras.
3) Permitir al usuario jugar online, en las aventuras que lo permitan.
4) Permitir al usuario descargar la versión offline, en diferentes formatos: solo aventura, y aventura+interprete (en este último caso para OSX, linux y Windows). Si además se puede conseguir que se genere un instalable sobre la marcha ya sería la leche, porque un zip es suficiente para muchos pero no para todos.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 Sep 2015 10:19 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4614
Y ahora yo me pregunto, tras releer el hilo ¿por que me ha salido este hilo en mensajes nuevos si el último mensaje era de Enero? :-?

Menos mal que lo leí diagonalmente, que perdida de tiempo en caso contrario :lol:

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 28 Sep 2015 10:29 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 23 Mar 2010 20:11
Mensajes: 1141
Ubicación: Valencia
Había spam de hoy, que deben haber borrado antes de que leyeses, jejeje... A mi también me ha salido por RSS.

_________________
El humor existe para recordarnos que por muy alto que sea el trono en el que uno se siente, todo el mundo usa su culo para sentarse.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 76 mensajes ]  Ir a página Anterior  1, 2, 3, 4, 5, 6  Siguiente

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM