Translate

martes, 15 de noviembre de 2022

Estudio del GRAC2


Fecha: 07/10/2022
En este apartado voy estudiar el GRAC2 un creador de aventuras graficas de AMIGA. Con él se pueden hacer ciertos tipos de aventuras graficas de point and clic, estilo Lucas Art. fue creado por E.W.Clay en 1995 usando AMOS

Este estudio lo comencé porque me gusta hacer utilidades y juegos para Amiga y según entiendo GRAC tiene algunos problemas. veamos que ocurre.

Ya después de 2 días de revisar cómo funciona, llego a la conclusión de que no es tan fácil para el usuario, los comandos no están en el orden en que se deben usar para una nueva aventura y está muy obsecionado con los path o rutas de los archivos, que hasta cierto modo son necesarios pero no usa algún tipo de estructura de directorios para tal o cual cosa, si no que cada archivo debe estar asociado con un PATH/Ruta el cual debe estar creado a priori en un índice común, me imagino que por eficiencia, pero complica demasiado la funcionalidad.

El método de trabajo implica muchas selecciones para hacer lo que se desea, al final no me parece practico.

Buscando un poco en sus archivos veo que trae las fuentes, muy de agradecer, estudiándolo, es bastante grande, y algo complicado, aunque tiene buenas zonas y mucho mérito, veo que se puede mejorar.

Comienzo el estudio del sistema y veo que los archivos de un juego se dividen en 4 archivos principales comienzando por el nombre de juego terminado en ".Grac2". Ejemplo "Juego.Grac2"

- Grac.cont que supongo que significa continuación, o puede ser control ya que en él se guardan los comandos, script y controles del juego de cara al usuario

- Grac.inv que guarda el inventario

- GRAC.closeup que guarda todo lo relacionado con acercamientos y escenas especiales dentro de la escena principal.

No se le ocurra colocar 2 juegos en el mismo directorio ya que usarán los mismos archivos (GRAC.cont, GRAC.inv y GRAC.closeup), pienso que esto es una mala decisión del programador. Tambien me imagino que estas secciones estan cortadas asi para ser compatibles con versiones que no tenian algunas de estas caracteristicas, pero no conozco su historia completa.

Para ejecutar el juego se usa el RunTime y el nombre del juego "Nombre.Grac2" pero sin extensión, o sea que para ejecutarlo se debe renombrar.

El juego en si se puede editar colocando el nombre del juego con la extensión ".GRAC2" y usando el editor.

Los archivos del juego están bien empaquetados para ahorrar bytes, pero al expandirlos veo que realmente los métodos internos no ayudan mucho a la eficiencia, me explico, casi todo esta dimensionado a 100, se use o no, por lo tanto, hay capacidad para 100 imágenes, 100 rooms, 100 de todo, aunque hay 1000 textos. El problema que veo es que guarda 100 de todo, aunque no existan tantos, no hay nada relativo o definible y asume este maximo como cierto.

Como menú utiliza los Diálogos del AMOS, que, aunque algo complicados al final son eficientes y vistosos.

Analizando el editor veo que en el procedure Definitions hay toneladas de variables, creo que podía haber usado DATA para algunos ya que son dimensionadas u otro metodo.

Las aventuras en GRAC2 se componen por escenas (ROOMS) o salas, cada una con una imagen de fondo que puede ser hasta de 1008 pixeles de ancho (debería ser max 1024 pero un error de Amos lo impide). Con respecto a la altura pueden ser en PAL hasta 256 y en NTSC hasta 225, pero siempre hay que dejar un espacio para comandos y mensajes de unos 40 o 60 pixeles de altura, por lo tanto, las imágenes pueden ser de 191 de alto más o menos.

El menu principal consta de una sección a la derecha:

NEW: borrará el juego para comenzar desde cero.

LOAD GAME: Si ya tiene un proyecto cargelo con "Load game".

SAVE GAME: no olvide grabar su juego antes de salir, use "Save game".

TEXT COLOR: cambia las letras del menu entre blanco y negro.

ABOUT: Datos del programa Grac.

QUIT: Salir del programa.

Inicialmente deberá empezar colocando al menos una ruta para que el sistema encuentre sus archivos.

PATHS

La carga de todos los archivos fallará si no tenemos creadas las RUTAS/PATH o directorios donde estarán los archivos (No crea los directorios, y solo se pueden editar desde el menu principal. (pienso que el sistema debería crearlas automáticamente al ir cargando datos, pero bueno).

PICTURES

Para empezar obtendremos las imágenes de los fondos de las escenas (ROOMS) a través del botón de menú Pictures que permite cargar unas 100 imágenes como maximo, para esto buscaremos la imagen y al terminar de seleccionarla colocaremos el directorio (RUTA/PATH) donde se grabará la imagen comprimida, es necesario colocar la barra de dividir normal "/" (Slash) al terminar el path, para que lo use correctamente, este directorio servirá para colocar los archivos de imagen comprimidos llamados "Grac #.picture" comenzando desde el cero"0" para la primera posición, aunque dentro de Grac sería la imagen "1".

Si hay imagenes ya creadas nos dejará elegir una o crear otra nueva, este archivo debe ser una imagen IFF/LBM comprimida por RLE o no, con la extensión IFF, aunque muestra todos los archivos solo permitirá IFFs del tamaño y colores adecuados (colores desde 2,4,8,16,32,64), aunque no he probado todo esto.

Una vez cargada la imagen (Ruta y nombre del archivo real), se podrá cambiar su nombre a uno mas corto para usarlo mas comodamente (Esto es sumamente confuso para un principiante). La siguiente sección, exxplica como

Si tiene cargadas algunas imagenes se puede elegir una para modificarla
o crear una nueva con 'new picture', si no, imediatamente ira a nueva imagen.

Edit Picture 

El sub menú de Pictures consta de los siguientes botones:

  • EXIT: Salir al menú principal.
  • Save: Guardar la imagen en formato comprimido como "Grac #.picture" en el Path elegido.
  • Name: Cambia el nombre de la imagen (uso interno, puede ser diferente al archivo de imagen IFF)
  • Path: Cambiar la ruta donde está o estará guardado el archivo "Grac #.picture", que es el archivo que contendrá la imagen comprimida.
  • Load: Puede cargar otra imagen, eso ya no cambia el nombre de la imagen asi que mucho cuidado.
  • Delete: Borrar la imagen "GRAC #.picture", mejor no usarlo. Falla mas que una escopeta de feria. jaja. En realidad borra la imagen comprimida, pero como el menú de imagenes mantiene el nombre de la imagen (e internamente su ruta completa), parece como si no se hubiera borrado.  Queda la imagen sin el comprimido. algo sumamente extraño para el novato. Esta imagen del menú ya no se podra borrar, si no que la tendrá que suplantar. Obviamente al entrar de nuevo el sistema avisa que esa imagen no tiene comprimido. Pero no lo explica bien. Dira no puedo cargar la imagen cuando en realidad lo que no puede cargar es el comprmido.
  • Size: Permite recortar la imagen en la parte baja, ya que Delux Paint siempre agranda la imagen hasta un minimo de 200 pixeles de altura. para recortarla, elija esta opcion y coloque el mouse y presione clic a la altura que desee recortar la imagen (desde ese sitio hacia abajo sera eliminado). Esto es muy poco intuitivo para el novato, cuidado. Conceptos dificiles para principiantes.
Para quedar claros, al crear una imagen nueva el sistema la grabará y usará el comprimida. y mantendra un nombre para uso del programador del juego.

TODAS LAS RUTINAS DE BORRAR FALLAN, si borra una imagen, al salir dirá que no está grabada, puede salir sin grabar, pero la imagen quedará grabada (al menos el nombre en el menú) y al entrar de nuevo en ella dará error aunque la podrá ver, si trata de grabarla de nuevo el sistema se caerá o dará error, perdiendo la información si no tiene grabado el juego.

Una vez cargadas las imágenes podemos pasar a Rooms.

ROOMS (Escenas/Cuartos/Habitaciones/Salas/Rooms)

Las escenas necesitarán un nombre, una imagen de fondo, un grupo de objetos (archivo y banco) y el path o ruta fonde se guardará, opcionalmente puede tener objetos sobre el fondo, objetos frente a todo, sitios por donde caminar, puntos a los cuales dirigirse y el script inicial.

los datos de las escenas/rooms estarán almacenados en GRAC #.room, donde # es un número de secuencia desde 0 a 99 que coloca el sistema y por el cual nos referiremos a estas escenas en los scripts. Con la salvedad de que en la programación comienzan en 1. (por chequear).

Este sub menú consta de los siguientes botones:

  • EXIT: Salir al menú principal.
  • Save: Guardar lo realizado en la escena en 'GRAC #.room', # comienza en 0 para las 1ra escena.
  • Name: Cambia el nombre de la escena.
  • Path: Cambiar la ruta donde está o estará guardado el archivo "Grac #.Room", que es el archivo que contendrá esta escena. 
  • Objects: en esta opción indicamos el archivo de objetos con el que trabajaremos en la escena.
  • Delete: borrar la escena, mejor no usarlo. Al igual que en imagenes (Pictures), borra el paquete comprimido pero no desaparece del menú.
  • Walk: en esta opción se introducen las zonas por donde podrán caminar los personajes.
  • Startup: colocaremos acá el script que se ejecutará al comenzar a visualizar la escena.
  • Background: acá indicaremos los objetos de fondo, son zonas inamovibles con las que se puede interactuar.
  • Foreground: aquí colocamos los objetos con los que se puede interactuar y que podemos pasar por detrás, moverlos o quitarlos
  • Point: por medio de este botón colocaremos los puntos de destino a usar.
  • Picture: podemos elegir aquí la imagen de fondo (previamente comprimida).

ROOMS/WALK

    En esta opcion marcaremos las zonas por donde caminaran los personajes, para esto pintaremos rectanculos en las areas del suelo por donde queremos que puedan pasar los personajes, podemos rodear objetos.

Este sub menú consta de los siguientes botones:

  • Exit: Salir al menú anterior
  • Add: Agregar otra zona para caminar
  • Join: Une las zonas para poder caminar por varias
  • Script: Es la cadena de comandos que se ejecutarán al entrar en esta zona. Para elegir la zona solo toquela con el mouse, luego cree el script con lo que desea que haga el personaje al llegar al sitio.
  • Flag: Valor del flag de la zona (valores enteros positivos o negativos) normalmente 0, puede usarse para lo que se necesite. como contar cuantas veces se a pisado la zona.
  • Delete: Borra la zona
  • Height: Normalmente la altura decide si un personaje pasa por delante o detras de otro personaje ou objeto, pero mediante esta propiedad esto puede cambiar. Altura de la zona, sirve para hacer puentes, escaleras o zonas elevadas, primero seleccione todas las zonas y presione el botón izquierdo del mouse, luego apunte a la parte mas baja de las zonas seleccionadas y arrastre hacia arriba. Esto también afecta la escala del personaje que esta en la zona.
ROOMS/STARTUP

Permite crear el script que se ejecutará al entrar en la escena

ROOMS/BACKGROUND

En este submenu agregará o modificará objetos de fondo, esto n o se moveran y no podran ser cogidos (desaparecer), pero pueden investigarse o ejecutar en ellos algunas acciones de los personajes.

Este sub menú consta de los siguientes botones:

  • Exit: Salir al menú anterior
  • Add: Agregar otro objeto de fondo, esto se hace marcando con un cuadrado el fondo donde está o estará el objeto.
  • Name: Nombre del objeto (opcional)
  • Actions: Acciones que se pueden usar en el objeto. se elegirá el objeto y la acción para aplicar cosas como (usar boligrafo) mas un script para ejecurar algunas acciones. 
  • Flag: Valor del flag del objeto (valores enteros positivos o negativos) normalmente 0, puede usarse para lo que se necesite. como contar cuantas veces se ha tocado o visto el objeto.
  • Delete: Borra el objeto
  • Position: Coloca una segunda imagen en posición.
  • Base: Coloca donde estará la base del objeto
  • String: Texto que describe el objeto. pedirá elegir el objeto y el string (cadena de caracteres) o descripción
  • Zone: Mueve una zona. Primero toque la zona y luego cree la nueva zona.

ROOMS/FOREGROUND

En este submenu agregará o modificará objetos frontales, en realidad los personajes pueden pasar por delante o detrás de ellos y se pueden remover de la escena o moverlos, en este sub menú podrá hacer lo siguiente:

Es igual a objetos en Background excepto que no tiene Zone y tiene 3 opciones más:

  • Exit: Salir al menú anterior
  • Add: Agregar otro objeto de fondo, esto se hace marcando con un cuadrado el fondo donde está o estará el objeto.
  • Name: Nombre del objeto (opcional)
  • Actions: Acciones que se pueden usar en el objeto. (creelas en Actions)
  • Flag: Valor del flag del objeto (valores enteros positivos o negativos) normalmente 0, puede usarse para lo que se necesite. como contar cuantas veces se ha tocado o visto el objeto.
  • Delete: Borra el objeto.
  • Position: Coloca una segunda imagen en posición.
  • Base: Coloca donde estará la base del objeto.
  • String: Texto que describe el objeto.
  • ----Falta Zone---------------------------
  • Image: Seleccione una imagen del grupo o banco previamente seleccionado en la escena, si ya tiene objetos podra pasar de uno a otro con estos comandos:
  • Hide: Oculta los objetos
  • Take

ROOMS/POINTS

En esta entrada marcaremos los puntos de destino que se usaran para diferentes acciones.Este sub menú consta de los siguientes botones:

  • Exit: Salir al menú anterior
  • Add: Agregar otro punto al fondo, esto se hace marcando el punto con el mouse.
  • Identify: Indica la numeración de un punto.
  • Delete: Borra el punto.

OBJECTS

Esta entrada se refiere a los grupos de objetos o bancos de objetos, son archivos .Abk de Amos con otra extensión.


Es programa hace algo parecido al editor de AMOS pero algo peor, es dificil marcar correctamente y para el Hot Spot (es el punto que se isa para colocar el objeto en determinadas coordenadas), es solo poner un punto pero no hay posivilisad de corregir (sino haciendolo de nuevo) y no hay muchas ayudas como lupa. Tambien las flechas dejan mucho que desear ya que una pulsación mueve los objetos muchos pixeles.

Cada banco de objetos puede estar asociado a 5 personajes. En este sub menu hay las siguientes opciones:

  • Exit: Salir al menú anterior
  • Save: Guardar lo realizado en la en el banco
  • Name: Nombre del banco
  • Path: Cambiar la ruta donde esta guardado el archivo "GRAC #.object", que es el archivo que contendrá esta el banco de objetos, El símbolo # será el número de banco, que automáticamente lo lleva el programa.
  • Character: Elige los 5 personajes asociados al  banco de objetos, primero elija un lugar del 1-5 y luego elija el personaje, también los puede modificar.
  • Delete: Borra el banco de objetos.
  • El texto "mouse" y "mouse wait" son solo para la opción de cambiar el apuntador del mouse durante su juego y para esto necesitará cortar las imagenes desde un IFF de 4 colores, estas imagenes no podrán ser mayores a 16 pixeles de alcho y usarán los colores 16-19, siendo el 16 transparente para el mouse.
Debajo de estos botones hay una barra de desplazamiento en forma horizontal y al pasar el mouse por ella se podran elejir las 100 casillas para objetos, del 1 al 100, al ir moviendose por las posisiones veremos los objetos que tenemos y sus nombres o si esta vacio algunos de estos, podemos rellenarlos por medio de una botonera en la parte inferior, esta nos permite:
  • Load pic: Cargar una imagen
  • Grab: Recortar un objeto (2D) desde la imagen recien adquirida. (si no la hemos cargado previamente, no nos dejara hacerlo.)
  • Flechas: estas posicionan el objeto (pero aun no se si influye en algo)
  • Hot Spot: Nos permite colocar el punto de agarre de la figura. Generalmente la esquina inferior izquieda (en amos es la superior), pero seguramente necesitaremos la parte central de la imagen (no del cuadrado) abajo, para que pueda girar a la derecha e izquierda y sea simetrica ademas de que todos los objetos y personajes se basan en el nivel de piso, el cual al estar en perspectiva indicara que si esta mas arriva es que esta mas profundo, en esto se basará el sistema para colocar un objeto sobre otro o sobre los personajes o entre ellos.
CHARACTERS
En esta opción asignamos fotogramas a varias acciones de los personajes, estos se extraen de un banco de objetos y/o a su vez de una imagen (*.IFF), esta se recorta para cada una de las posiciones de los personajes.
Tenemos el sub menu siguiente:
  • Exit: Salir al menú anterior
  • Save: Guardar lo realizado
  • Name: Nombre del personaje
  • Path: Cambiar la ruta donde esta guardado el archivo "GRAC #.character", que es el archivo que contendrá esta el personaje, El símbolo # será el número de personaje pero del 0 al 99, que automáticamente lo lleva el programa.
  • Colour: elige un color para el texto del personaje
  • Delete: Borra el personaje.
Debajo de estos botones hay una barra de desplazamiento en forma horizontal y al pasar el mouse por ella se podran elejir las 100 casillas para personajes, del 1 al 100, al ir moviendose por las posisiones veremos los fotogramas del personaje que tenemos y sus nombres o si estan vacios algunos de estos, podemos rellenarlos por medio de una botonera en la parte inferior, esta nos permite:
  • Load pic: Cargar una imagen
  • Grab: Recortar un fotograma desde la imagen recien adquirida. (si no la hemos cargado previamente, no se podrá.). No recorte un cuadro masgrande de lo necesario, ya que esto desperdicia recursosy velocidad.
  • Flechas: estas posicionan el fotograma (pero aun no se si influye en algo)
  • Load: se puede cargar(importar) un archivo de personajes GRAC #.character.
  • Hot Spot: Nos permite colocar el punto de agarre de la figura. Generalmente la esquina inferior izquieda (en amos es la superior), pero seguramente necesitaremos la parte central de la imagen (no del cuadrado) abajo, presionando el botón derecho del mouse colocará el hot-spot en la parte central abajo, para que pueda girar a la derecha e izquierda y sea simetrica, ademas de que todos los objetos y personajes se basan en el nivel de piso, el cual al estar en perspectiva indicará que si está mas arriba en Y es que está mas profundo, en esto se basará el sistema para colocar un objeto sobre otro o sobre los personajes o un personaje sobre otro.
En cada casilla ira la imagen del personaje en una de estas posiciones:
(no se necesita la posición mirando a la izquierda por que el sistema la crea por reflejo de la que mira a la derecha.)
  1. stand/idle (>) (V)(^)  Personaje en espera mirando a la derecha, al frente(o abajo) y arriba (o al fondo). 1 imagen (c/u) (1-3)
  2. walk  Caminando mirando a la derecha, al frente y arriba o al fondo. hay espacio para 8 imagenes por cara dirección. (4-11) (12-19) (20-27)
  3. reach up/out/down:   Alcanzando algo (o agacharse a recoger algo) a la derecha, al frente y arriba o al fondo, mirando a la derecha, arriba y abajo. 1 imagen (c/u). (28-30) (31-33) (34-36)
  4. head: Movimientos de la cabeza (puede ser mover la boca u otros gestos), mirando a la derecha, al frente (o abajo) y arriba (o al fondo), 4 fotogramas (c/u). (37-40)  (41-44) (45-48).
  5. desde la posición 49 en adelande son libres, el sistema no los colocará al mover el personaje, pero se pueden colocar por medio de scripts (??).
CONTROLS
Para poder controlar el juego mediante acciones, entraremos aquí, podremos crear un maximo de 10 verbos o acciones para hacer cosas.
En este sub menu hay las siguientes opciones:
  • Exit: Salir al menú anterior
  • Save: Guardar lo realizado
  • Picture: podemos elegir aquí la imagen de fondo para los controles.
  • Path: Puede cambiar o elegir la ruta donde esta guardado el archivo "GRAC #.cont", que es el archivo que contendrá los controles o verbos.
  • Objects: en este sitio indicamos con que archivo de objetos trabajaremos para estos controles.
  • Size: se indicara en esta opcion el ancho (320) y la altura (ejemplo: 191) de la pantalla a usar para el juego sin los controles.
  • Verbs: Verbos a usar. (max. 10)
  • Message: ubicación del mensaje. un solo clic es necesario. se colocaran los mensajes de los verbos.
  • Windows: Ventana para los mensajes de texto y listados de inventario.
  • Pen: Color del texto para los mensajes.
  • Paper: Color de fondo para el texto de  los mensajes.
  • Position: Permite posicionr la pantalla de juego y la de controles.
CONTROLS/VERVS

    Cree los verbos a usar usando este sub-menú:
  • EXIT: Salir al menú principal.
  • Save: Guardar la imagen en formato comprimido como "Grac #.picture"
  • Add: Agregar otro verbo.
          Elija un verbo, y luego escriba el nombre del verbo
  • Name: Cambiar el nombre del verbo.
  • Script: Es la cadena de comandos que se ejecutarán al usar el verbo.
  • Button: Seleccione la imagen del botón presionado, luego la imagen sin presionar y por ultimo coloquela sobre el fondo.
  • Type: Tipo de uso. indica si se puede usar en cules objetos. Puede ser
    • ANY: sirve para todos los objetos. como mirar
    • INV: solo para objetos de inventario. como usar
    • ROOM: solo para objetos que no esten en el inventario como tomar/coger
los siguientes son para 2 objetos, el primero debe des de inventario, etos verbos requieren una palabra conestora como "con" (with):
    • INV/ANY: Uno de inventario y otro cualquiera.
    • INV/INV:   Los dos de inventario
    • INV/ROOM: Uno de inventario y de la escena
    • QUICK: No necesita objetos.
  • String: es una cadena de texto para describir si falla el verbo.
  • Format: Es para indicar si los mensajes seran escritos PRINT o hablados SAY o nada "NONE"

SOUNDS
    Solo se puede usar una camcion por escena.
    Cree las canciones usando este sub-menú: 
  • EXIT: salir al menú principal.
  • Save song: guardar la cancion "Grac.song"
  • Samples: Sub menu de samples.
  • Song path: ruta del archivo de sonidos.
  • Load song: carga una canción ST o MED module
  • Delete: Borra la canción.

SOUND/SAMPLES
    Cree los samples que necesite
  • EXIT: salir al menú principal.
  • Save: guardar el sample RAW
  • Name: Coloca el nombre del sample.
  • Path: ruta del archivo de samples RAW.
  • Load: carga un sample RAW
  • Delete: Borra el sample.
START
    Seleccione un escenario para comensar y coloque el pundo de comienzo


FONT
    Coloque el nombe de la fuente a usar en los textos y el tamaño y la pronunciación de la fuente.
    Normalmente XEN y un tamaño de 8.




ANIMATIONS
    Cree aqui sus animaciones, las opciones son:
  • EXIT: salir al menú principal.
  • Save: guardar la animación
  • Name: coloca el nombre de la animación.
  • Path: ruta del archivo de animacion
  • Load: carga una animación.
  • Delete: borra la animación.
TEXT
    Coloque aqui los textos que necesite. (max 1000).

INVENTORY
    Cree aqui su inventario, las opciones son:
  • EXIT: salir al menú principal.
  • Save: guardar el inventario "GRAC.inve".
  • Add: agregar otro artículo al inventario.
  • Path: ruta del archivo de inventario "GRAC.inve".
  • Name: coloca el nombre de artículo de inventario.
  • Delete: borra la animación.
  • Actions: acciones del artículo. Se crea o modifica un script por cada artículo y cada acción (verbo)
  • String: Textos de descripción del artículo de inventario. Se crea o modifica un texto de descripción por cada artículo.
CHARACTER ACTIONS
Por cada personaje y acción (verbo) se crea o modifica un script

CHARACTER STRINGS
Por cada personaje se crea o modifica un texto.

SAVE PATH
Graba el archivo de PATH o rutas.

CLOSE-UP
Se crean unas escenas especiales cercanas, como mapas o miradas cercanas a diversos objetos.
estas van identificadas por una zona en determinada escena con un banco de objetos especifico
y se le puede colocar una imagen especial. hay 100 posibles escenas de close-up.

  • EXIT: salir al menú principal.
  • Save: guardar el close-up. "GRAC.closeup"
  • Name: coloca el nombre del closeup.
  • Path: ruta del archivo de close-up "GRAC.closeup".
  • Objects: seleccione el banco de objetos con el que se trabajará.
  • Delete: borra el close-up.
  • Add zone: crea o modifica una zona de la escena para asociarla con un close-up.
  • Set zone: crea o modifica una zona de la escena para asociarla con un close-up. permite tener un botón con su imagen presionada y no presionada. y colocada en cierto lugar.
  • Del zone: borra la zona del close-up.
  • Script: se crea o modifica el scrip que hace funcionar el close-up.
  • Startup: se crea o modifica el scrip que se ejecuta al entrar al close-up.
  • Picture: crea o modifica las imagenes del botón del close-up.

--------------------------------------------------------------------------
Caracteristicas:
Puede tener 100 escenas, cada una tiene un solo fondo y un solo banco de imagenes.
Puede tener 100 imagenes de fondo.
Puede tener 100 rutas de archivos.
Puede tener 32 zonas para caminar por cada escena.
Puede tener 32 zonas sensibles de fondo por cada escena.
Puede tener 16 objetos por cada escena.
Puede tener 16 puntos a donde llegar caminando por cada escena.
Puede tener 5 personajes por escena

OBSERVACIONES:
  • Veo que el sub menú de Character actions y el de Character String deberian ir dentro de Character (Personajes).
  • Veo que el inventario no es grafico.
  • Tambien el inventario deberia ser como en todas las aventuras de texto o graficas una escena que muestre lo recojido con objetos visibles como graficos y con ciertas propiedades que aunque las nombra en el manual (especificamente el peso), no estan imprementadas.
  • No tiene implementado cantidad maxima a cargar en el inventario.
  • No tiene implementado que ropa llevas puesta o armas.
  • El botón Save Path No lo entiendo aún.
  • Incluso la manera de manejar los path me parece poco intuitiva y engorrosa.
  • El orden de los botones del menú deja mucho que desear.
  • Fallas al borrar (delete).
  • Dos colores de texto?  algun impedimento de usar cualquiera?
  • No se para que quiere 100 Rutas, algo como para tener una imagen en cada directorio, en lugar de tener sitios fijos para imagenes, imagenes comprimidas, escenas y demas, tal vez eso permita compartir recursos.
  • Tiene para 100 Imagenes y 100 directorios, una vez comprimidas las tiene con 100 nombres, rutas y 
Datos Técnicos:

El archivo principal del juego Nombre.Grac2 contiene un bloque comprimido que se carga en el banco 17. Una vez descomprimido en memoria para lo cual carga 2 veces el archivo, una vez para tomar algunos valores y despues de abrir correctamente el banco (al tamaño expandido) lo carga de nuevo.


4 bytes para saber si hay CONT.Grac
4 bytes para saber si hay INV.Grac
100 * 4 Bytes para las direcciones de los ROOMs.
100 * 4 Bytes para las direcciones de los CLOSEs.
1 Byte para INV
1 Byte para 3 CONT
1 Byte para SONG
1 Byte para StartRoom
1 Byte para StartChar
1 Byte para StartPoint
1 Byte para Size1
1 Byte para Size2




Continuará....