CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 21 Sep 2020 18:21

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 9 mensajes ] 
Autor Mensaje
NotaPublicado: 14 Oct 2004 23:45 
Desconectado

Registrado: 14 Oct 2004 23:18
Mensajes: 1
Soy un estudiante de una facultad de Ingenieria en Informatica y como
trabajo practico tengo que hacer una aventura en texto. Debo
escribirla en Java ayuda por JBuilder X.

Puede alguien ayudarme?

Help !!!


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 15 Oct 2004 01:07 
Desconectado
Guionista
Guionista
Avatar de Usuario

Registrado: 09 Mar 2004 21:54
Mensajes: 378
Ubicación: La red
Curioso ejercicio...

¿De qué facultad eres, Al_Colman? ¿No se llamarán Zak o Baltasar tus profesores, no? :D

Bueno, yo de Java estoy más pegao que un sello, no sé que es JBuilder X. En nuestra comunidad el que más ha probado con Java es Al-Kwarizmi pero su gran proyecto de parser (herramienta para hacer aventuras) aún está por llegar. ¿Te puede valer hacer un juego con otro lenguaje y hacerlo correr en java? :roll:


Arriba
 Perfil  
 
NotaPublicado: 15 Oct 2004 01:09 
Desconectado
xyzzy

Registrado: 09 Mar 2004 22:50
Mensajes: 9150
al_colman escribió:
Soy un estudiante de una facultad de Ingenieria en Informatica y como
trabajo practico tengo que hacer una aventura en texto. Debo
escribirla en Java ayuda por JBuilder X.

Puede alguien ayudarme?

Help !!!


Pues creo que por ahora el único "parser" en java aún está en fase de desarrollo, así­ que como no te ayude el desarrollador...
Mira, yo creo que si tu profe te ha mandado ese trabajo, es sencillamente porque cree que estás preparado para ello.
Además, iImagina por un momento que todos tus compañeros de clase, hacen lo mismo que tú, vienen aquí­ a pedirnos ayuda y esto acaba convirtiéndose en una extensión de tu facultad... xDDD
Lo mejor es que empieces a hacerla y nos consultes según te vayan surgiendo los problemas, aunque ya te digo que en java por ahora, no desarrolla más que uno, y no usa el Jbuilder X, que usa su propio parser, pero bueno, igual te puede echar una mano.

¡Suerte!


Arriba
 Perfil  
 
 Asunto:
NotaPublicado: 15 Oct 2004 01:13 
Desconectado
Implementador
Implementador

Registrado: 18 Mar 2004 19:26
Mensajes: 1481
Ubicación: Barcelona
Hola Colman!

Bueno, para empezar especifica un poco qué tipo de ayuda necesitas, ya que no queda claro si necesitas ayuda para construir una historia o para programar en Java.

Si necesitas ayuda para programar en Java no es el lugar idóneo, aunque realmente aqui hay mucha gente que sabe Java...

Si necesitas ayuda para construir historias y hacer aventuras de texto con ellas, estás en el lugar correcto.

Por otro lado, te habrás dado cuenta de que aqui nadie utiliza Java para programar aventuras, sino que tenemos pársers para ello, siendo los más conocidos el lenguaje Inform, Visual Sintac y el Superglús, aunque hay muchos otros. Con éstos lenguajes es mucho más sencillo programar aventuras porque son herramientas dedicadas especialmente a ello.

Por el CAAD encontrarás artí­culos muy recomendables para iniciarse en el mundillo de la creación de historias para aventuras, yo te recomiendo los artí­culos de Samudio, búscalos por el web.

Por otro lado, siempre es bueno aparecer por el canal #caad del IRC-Hispano, donde te ayudarán en todo momento.

Ah, y bienvenido!

_________________
https://asvelin.itch.io/


Arriba
 Perfil  
 
NotaPublicado: 15 Oct 2004 11:59 
Desconectado
Semimomio
Semimomio
Avatar de Usuario

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

Ya que me han mentado por el foro (no sé por qué, la verdad o:-) ), paso a contestarte.
Lo normal no es empezar una aventura como un programa en Java, desde cero, sino emplear un parser. Sin embargo, si tu profesor te ha encargado esa práctica de programación no es para conocer tus habilidades como escritor (que es casi casi de lo que se deberí­a de preocupar uno con un parser), sino para evaluar tus capacidades como programador, y en este caso parece que en Java.

Así­ que te aconsejo exactamente lo contrario a lo que le aconsejo a todo el mundo: que lo hagas efectivamente en Java, y desde cero, o el profesor pensará que le estás tomando el pelo, incluso aunque el parser esté hecho en Java, ya que no lo has hecho tú.

La primera aventura que yo presenté a un concurso de aventuras (la I Nanocomp) aquí­ en el CAAD está hecha en C++ y puede servirte de guí­a. Tb. puedes encontrarla en mi página web, entrando en "Ellos han dicho de ..." dentro de "Cacahuetes, Sal y Aceite"

Salud !

_________________
-- Baltasar, el arquero


Arriba
 Perfil  
 
 Asunto: Gracias
NotaPublicado: 15 Oct 2004 14:13 
Les agracezco sus respuestas.

La intención de mi pregunta se refiere a forma de iniciar el proyecto, si debo diagramar como debo armar las historia, aunque ya tengo una idea de la misma.

Sí­, debo aprender a programar en Java. aunque mi principal desconocimiento del tema es la diagramacion general del proyecto de las aventuras de conversacionales.

Gracias


Arriba
  
 
 Asunto:
NotaPublicado: 15 Oct 2004 15:10 
Desconectado
Samudio
Samudio
Avatar de Usuario

Registrado: 09 Mar 2004 16:16
Mensajes: 5312
Ubicación: Coruña
En primer lugar, suscribo las palabras de Baltasar. Yo también estoy estudiando ingenierí­a informática y por lo tanto sé más o menos cómo funcionan las cosas en la carrera, y desde luego si el profesor te ha pedido que programes una aventura en Java es para que aprendas a utilizar la orientación a objetos, concretamente con Java, y por lo tanto tienes que empezar desde cero. Como te han mencionado dhan y grendel, los que programamos aventuras de texto habitualmente (o los que las programan, que yo sólo he publicado una :oops:) no empezamos desde cero, porque existen herramientas llamadas "parsers" (no confundir con el uso legí­timo de la palabra parser que habrás visto en la carrera, en la comunidad de creadores de aventuras la palabra parser significa "sistema de creación de aventuras") que tienen ya programados todos los elementos básicos de este tipo de juegos, de manera que hace falta programar muy poco para crear uno nuevo. Pero, como dice Baltasar, trabajar así­ no se puede considerar siquiera un ejercicio de programación; sino más bien un ejercicio literario, pues la parte de programación es trivial y lo difí­cil es conseguir un buen argumento, descripciones y demás. Me temo que aquí­ no se trata de que programes una buena aventura (que serí­a más fácil con un parser) sino de que demuestres tus conocimientos de orientación a objetos.

Por otra parte, como te han mencionado dhan y Jenesis, yo estoy desarrollando desde hace tiempo uno de estos parsers en Java, que prácticamente está terminado a falta de cosas como manuales y aventuras de ejemplo. En tu caso, como tienes que hacerlo todo desde cero, es como si estuvieses programando el parser y la aventura a un tiempo, así­ que desde la experiencia que me ha dado el tiempo dedicado a ese proyecto puedo darte algunos consejos, que espero que te sean útiles. A lo mejor te digo cosas que ya sabes o a lo mejor te digo cosas que no querí­as o que están fuera del alcance de tu práctica, porque no sé exactamente cuánto sabes de Java, cuáles son tus objetivos, si aspiras al aprobado o a la matrí­cula, etc. :wink:

- Lo primero en lo que tienes que pensar para crear tu juego es el modelo de mundo, es decir, cómo se representan los objetos que van a componer el mundo de tu aventura, cómo se interrelacionan entre ellos y cómo cambian. En este sentido, hay ciertas caracterí­sticas que no hay ni que pensar porque ya son leyes inviolables, iguales en todas las aventuras desde que apareció el género, supongo que ya te habrás dado cuenta de ellos si has jugado a alguna aventura de texto (y si no has jugado a ninguna, deberí­as hacerlo para saber realmente cómo son antes de hacer una). Concretamente, verás que en todas las aventuras el mundo se representa mediante un grafo cuyos nodos son las llamadas habitaciones o localidades. Las aristas del grafo son caminos que el jugador y los otros personajes pueden recorrer para ir de una localidad a otra.

- El resto de caracterí­sticas del modelo de mundo ya no son tan fijas; sino que se pueden hacer las cosas de diversas maneras. El grafo del mapa que he mencionado puede ser dirigido o no. Los caminos posibles entre habitaciones pueden ser siempre los mismos (norte, sur, este, oeste) o ilimitados y con cualquier nombre, evidentemente lo segundo es mejor pero todo depende del tiempo que tengas y la nota que quieras sacar, claro. Y donde ya sí­ que no hay nada escrito es en el tema de las interrelaciones entre objetos y, sobre todo, los aspectos dinámicos del juego (cómo varí­an las cosas con el tiempo). Por ejemplo, yo en el AGE cubro estos dos aspectos con un modelo que es una especie de combinación entre el modelo entidad-relación que se usa en bases de datos y una máquina de estados, de forma que los objetos del mundo pueden relacionarse entre sí­ con relaciones 1-1, 1-n o n-n y tanto los objetos como las relaciones tienen estado que cambia en cada unidad discreta de tiempo. Pero un modelo como éste sin duda es demasiado complicado para tu caso. Se me ocurre que lo más sencillo y a la vez elegante que puedes hacer es un modelo donde representes los objetos en un árbol, de manera que cada objeto tenga un único objeto padre. Así­, si tienes un personaje en una habitación y el personaje lleva una caja que tiene dentro una canica, el personaje serí­a nodo hijo de la habitación, la caja hija del personaje y la canica hija de la caja. Este modelo te cubre el aspecto estático bastante bien y; aunque no sea la panacea, es sencillo de programar. El aspecto dinámico lo puedes cubrir simplemente con un modelo de turnos, pides una entrada al jugador y se ejecuta una acción (una sola), tras lo cual pides otra entrada. Es lo único razonable para una práctica, de nuevo por la simplicidad:

Código:
for ( ;; )
{
  String s = leerEntradaDelJugador();
  interpretarEntrada(s);
}
void interpretarEntrada ( String s )
{
  aquí­ se interpreta la entrada y se ejecutan acciones sobre
  el mundo (mover al jugador de una localidad a otra, etc.)
}


- Con respecto a las clases usadas para representar el mundo... aquí­ no hay mucho que pensar, ya que las aventuras de texto son un caso paradigmático de orientación a objetos, y los objetos caen prácticamente de cajón. Básicamente, hay tres tipos de cosas en el mundo que claramente dan lugar a clases: localidades, items (cosas) y personajes. Te aconsejo que estas tres clases hereden de una común que represente a todas las entidades del mundo, porque seguramente te sea útil una clase así­ para el modelo de mundo (si implementas el modelo en árbol que he mencionado, por ejemplo, lo necesitarás). Adicionalmente podrí­a haber una clase para representar los caminos entre localidades o no, eso ya depende de ti. Lo que sí­ te aconsejo, porque veo que es un error de principiante que cometen muchos de los que quieren programar parsers en lenguajes OO (que he visto a unos cuantos; aunque pocos llegan a hacerlo :cry:) es desarrollar una jerarquí­a compleja por debajo de esas clases. Crear por ejemplo subclases para habitaciones interiores y exteriores no te va a aportar nada, es algo que se debe distinguir en el estado y no en la definición de la clase. El que los objetos que representamos sean "de la vida real" puede llevarnos a querer hacer clasificaciones que luego son innecesarias, y casi cualquier cosa que hagas por debajo de Habitación, Personaje e Item lo será.

Bueno, dejo mis consejos ahí­ porque creo que eso es lo básico para empezar, y porque además me estoy dando cuenta de que te estoy soltando un rollo infumable (sí­, me gusta esto de programar parsers :D) y no sé si te será útil para algo.

Aparte del código que te ha mencionado Baltasar, tal vez te pueda resultar útil la web de mi parser, el AGE: http://absurdum.f2o.org/age/. Lo digo más que nada porque en esa web hago una introducción donde cuento lo que son las aventuras, y luego describo el diseño de mi parser, y hay incluso un diagrama UML; aunque bastante malo.

Suerte. :)

_________________
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  
 
 Asunto:
NotaPublicado: 15 Oct 2004 22:14 
Desconectado
Implementador
Implementador
Avatar de Usuario

Registrado: 07 Sep 2004 21:52
Mensajes: 1897
Ajá tu entonces has pedido teorí­a de la aventura.

Mira en la web de la eZtanterí­a:
http://caad.mine.nu/eZtanteria/

En la zona del documentate bájate el "Arte de la Aventura".

Chao.

_________________
Ruber "Urbatain" Eaglenest.
------------------------
http://www.indieorama.com/author/rubereaglenest/


Arriba
 Perfil  
 
 Asunto: Parsing
NotaPublicado: 25 Oct 2004 15:44 
Desconectado
Dragón
Dragón
Avatar de Usuario

Registrado: 10 Sep 2004 18:42
Mensajes: 119
Ubicación: Chilito
Urbatain escribió:
[...]En la zona del documentate bájate el "Arte de la Aventura".


Además de esto, si tuvieras problemas con la interpretación de las frases que ingresa el usuario (es decir, el "parsing" del input) puedes leer el libro Parsing Techniques, este libro puedes encontrarlo aquí­. Está en PDF y aunque no lo he leí­do completo se ve muy bueno. Está principalmente orientado a la construcción de compiladores, pero más de una idea te dará :wink:

_________________
"Entre negras almas se encuentran, pecados diversos hasta el fondo los han llevado."

Dante Alighieri - La Divina Comedia, Infierno


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 9 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados


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