Te respondo:
kalel099 escribió:
1. ¿Se puede hacer con AGE, que no sea con un trozo de codigo en cada localidad?
Sí, se puede hacer en un trozo de código puesto una sola vez en el mundo. Las órdenes que teclea el jugador en general se pueden capturar tanto en la localidad, como en las entidades a las que se refiere, como en el mundo. Normalmente, es mejor capturar los comportamientos específicos de una localidad particular en la localidad, y los comportamientos genéricos en el mundo. Mostrar las salidas se puede implementar como un comportamiento genérico, porque dado el jugador, puedes saber en qué localidad está, y de ahí sacar las salidas.
Para ello, puedes utilizar los siguientes métodos:
* El método getRoom() de la clase Mobile te devuelve la habitación donde está una criatura (por ejemplo, el jugador).
* El método getValidExits() de la clase Room te devuelve un array de caminos (objetos de la clase Path) que se corresponden con las salidas válidas de esa habitación.
* El método getExitName( Path p ) de la clase Room te devuelve un nombre (el primero) de la salida dada (hay otro método si quieres todos los nombres).
Con esos tres métodos y un bucle puedes crear un "salidas" que pondrías en el parseCommand del mundo, y funcionaría para todas las localidades. Si además quieres que se vea junto a la descripción de la localidad, puedes redefinir el comando "mirar", o bien redefinir el método que devuelve la propia descripción (se puede hacer en BeanShell).
kalel099 escribió:
2. en plan estadistica total, ¿que es mas normal, que el juego muestre siempre las salidas de una habitacion, o que las salidas esten "camufladas" en la descripcion de la localidad?
Se dan las dos cosas; pero yo creo que en juegos actuales es más habitual lo segundo, aunque mejor que te conteste alguien más porque yo no soy de los que más aventuras juegan, dedico más tiempo a crear que a jugar, la verdad
kalel099 escribió:
¿Estas diferencias son a gusto del desarrollador del parser, o del autor de la aventura?
En el caso de AGE, como desarrollador del sistema, he puesto la opción que me gusta a mí por defecto (nunca me ha gustado eso de que las salidas aparezcan explícitamente porque rompe la inmersión, a mí me gusta que una aventura se parezca a un relato, y las salidas deberían ser naturales y no aparecer en plan lista... y de hecho, si no se llaman mediante puntos cardinales, mejor).
Ahora bien, como desarrollador del parser tampoco impongo mi criterio, lo ideal es que haya libertad para que cada autor haga sus aventuras como quiera, por eso también proporciono las herramientas necesarias para listar las salidas si algún autor realmente lo prefiere (aunque yo siempre recomendaré encarecidamente no hacerlo, porque me parece que empeora la calidad de la aventura).