Sobre lo de separar las descripciones del código para facilitar cosas como correcciones y traducciones, es algo que ya me han dicho alguna vez. Ahora mismo esa funcionalidad se puede conseguir sólo a medias, con los ficheros de mensajes por defecto (véase http://www.caad.es/aetheria/doc/doku.php?id=mensajes_por_defecto "cambiar todos los mensajes de una sola vez"). Esto nos permite externalizar los mensajes que se muestran desde el código, pero no cubre por ejemplo las descripciones que se meten directamente en el formulario de PUCK.
Creo que esto se podría mejorar más. Algo que se me ocurre es que haya unos caracteres especiales que se puedan usar también en descripciones y otros textos para mostrar (nombres para mostrar, descripciones de componentes, etc.); y que rodeen a un código de mensaje por defecto. Por ejemplo, que si yo pongo como texto de una descripción: "$$desc.dormitorio$$"", eso signifique que hay que buscar el mensaje "desc.dormitorio" en los ficheros de mensajes por defecto y utilizarlo ahí. Así a ojo creo que no sería muy difícil de implementar, podría hacer que los métodos que escriben cosas por la salida del jugador (write(), etc.) hagan esas sustituciones (tal vez opcionalmente, para no perder eficiencia buscando sustituciones en aventuras que no usen esa funcionalidad).
Copiado de comentario en el SPAC:
Sobre lo de separar las descripciones del código para facilitar cosas como correcciones y traducciones, es algo que ya me han dicho alguna vez. Ahora mismo esa funcionalidad se puede conseguir sólo a medias, con los ficheros de mensajes por defecto (véase http://www.caad.es/aetheria/doc/doku.php?id=mensajes_por_defecto "cambiar todos los mensajes de una sola vez"). Esto nos permite externalizar los mensajes que se muestran desde el código, pero no cubre por ejemplo las descripciones que se meten directamente en el formulario de PUCK.
Creo que esto se podría mejorar más. Algo que se me ocurre es que haya unos caracteres especiales que se puedan usar también en descripciones y otros textos para mostrar (nombres para mostrar, descripciones de componentes, etc.); y que rodeen a un código de mensaje por defecto. Por ejemplo, que si yo pongo como texto de una descripción: "$$desc.dormitorio$$"", eso signifique que hay que buscar el mensaje "desc.dormitorio" en los ficheros de mensajes por defecto y utilizarlo ahí. Así a ojo creo que no sería muy difícil de implementar, podría hacer que los métodos que escriben cosas por la salida del jugador (write(), etc.) hagan esas sustituciones (tal vez opcionalmente, para no perder eficiencia buscando sustituciones en aventuras que no usen esa funcionalidad).