martes, 22 de octubre de 2024

GML (Ventajas-Desventajas)


Principales Ventajas y desventajas de GML 

¿QUE ES GML?

GML, o GameMaker Language, es un lenguaje de programación utilizado en GameMaker Studio, un entorno de desarrollo para crear videojuegos. Diseñado para ser fácil de aprender, GML permite a los desarrolladores implementar la lógica del juego, manejar eventos, controlar objetos y crear mecánicas interactivas. Su sintaxis es accesible, lo que lo hace ideal tanto para principiantes como para desarrolladores experimentados que buscan crear prototipos rápidos.

 

Usos de GML

-Si existe la necesidad de intercambiar documentos entre diferentes sistemas de computación o de edición.   

-Para la publicación de contenidos en su más amplia definición, desde sencillos archivos hasta las bases de datos con contenidos multimedia.

-En este rango por supuesto se incluye información geográfica, objeto de estudio de este trabajo.

-Cuando los documentos se creen para diferentes usos. En caso de que sea fundamental la estructura de un documento.

-Para el intercambio de contenidos a través de la red.

-Validar y reutilizar la estructura del documento en que se esté trabajando.

-Presentar los contenidos en diferentes formatos.

-Cuando se utilice una base de datos para el almacenamiento y recuperación de los elementos del documento.

GML. (Geography Markup Language) es un lenguaje de marcado basado en XML para el modelaje, transporte y almacenamiento de información geográfica. Es una lengua franca informática para el manejo y trasvase de información entre los diferentes sistemas que hacen uso de este tipo de datos, como los Sistemas de Información Geográfica (GIS). GML se diseñó a partir de la especificación abstracta producida por el grupo OpenGIS (ahora denominado Open Geospatial Consortium, OGC), y de la serie de documentos ISO 19100.

GML es extensible, pudiendo crear nuestras propias entidades a partir de las existentes por extensión, o bien tomar las definidas en la especificación y especializarlas para nuestros propósitos siguiendo los mecanismos de herencia y estructuración en objetos.

GML está incluido en la versión 1.0 del "Modelo Nacional de Intercambio de Información" de los Estados Unidos de América. GML no contiene información específica sobre cómo se debe hacer la visualización de los datos representados. Para ello se utilizan estilos que se relacionan a GML y se describen en otros lenguajes como KML.

CAPACIDADES DE GML

Codifica Coberturas: Facilita definir el espacio - tiempo y el rango de atributos asignados a ese espacio – tiempo. Muy util para representar capas.

Codifica Observaciones: Como por ejemplo tomas fotográficas , medidas de inundabilidad o temperatura. Indica como se obtuvo la información, el objeto de la medida, instrumental y la medida resultante.

Codifica Metadatos: Los metadatos pueden ir en relación a una entidad tanto como a una propiedad.

Codifica Sistemas de Referencia:Tiene la capacidad de

 definir datums. Incluye los principales sitemas de referencia geocéntricos y principales proyecciones para aplicarlos a cualquier entidad.

Codifica Tiempo: Permite describir entidades en movimiento o que evolucionan con el tiempo.

Para ambas cosas los diccionarios: Permite extender los Sistemas de Referencia de Coordenadas (CRS), a las palabras clave de localización (SRS) y las Unidades de Medida (UOM).

¿Qué lenguaje usa Game Maker?

Si te preguntas que lenguaje de programación usa Game Maker, diremos que usa GML. ¿Qué significa GML? GML son las siglas de Game Maker Language. Es un lenguaje de programación propio y exclusivo de Game Maker, aunque se parece mucho a Java o C. La ventaja es que es mucho más flexible. Haré un post específico de las diferentes maneras que se puede escribir, pero es importante usar un estilo adecuado y siempre hacerlo de la misma forma.

No hace falta decir que las acciones de Drag&Drop que hemos visto hasta ahora tiene su equivalente en GML.

¿Dónde podemos usarlo?

Se puede escribir código en varios lugares de Game Maker, tal y como hemos visto. Vamos a refrescarlo:
Scripts. Los scripts son trozos de código que podemos aprovechar en cualquier objeto. Está pensado para escribir tus propias funciones.
Eventos. Dentro de un objeto podemos escribir código con la acción Execute Code. Recuerda que también puedes combinar tu código escrito con otras acciones que hemos arrastrado.
Código de crear la room. Ya vimos que desde el editor de rooms podemos poner código específico en la room. Podemos decir que tiene su propio evento Create. Podemos añadir código cada vez que se entra en la room.
Código de crear en la instancia. Sabemos que las acciones del evento Create
 se ejecutará en todas las instancias que tengamos en la room. Pero es posible añadir código a una o varias instancias desde la room. Recordemos tener en cuenta el orden de ejecución de eventos del juego para no tener sorpresas. 

¿Qué es un programa? ¿Cómo funciona el código?

Cuando añadimos un nuevo evento, podemos arrastrar acciones que se ejecutarán en ese evento. ¿Cómo se haría en GML? Exactamente igual.
Un bloque de código es un conjunto de instrucciones que se van ejecutando línea a línea. Por eso se dice que es secuencial. Puede ser una instrucción sencilla, como una suma o puede ser una instrucción compleja, como calcular la distancia entre dos objetos.
Escribir las instrucciones es tan sencillo como esto:
instruccion1;
instruccion2;

Vemos que cada instrucción acaba con un punto y coma “;”, es una manera de decirle al programa que ha acabado esa instrucción. Debido a que Game Maker es bastante flexible, como hemos comentado, no es obligatorio poner “;”, pero yo lo recomiendo para tener un código lo más ordenado posible. Otro ejemplo:

 






VENTAJAS DEL GML

-Verificación Automática de la Integridad de los Datos

-GML puede ser Leído por Herramientas Públicas o Genéricas

-GML puede ser Fácilmente Editado

-GML puede ser integrado fácilmente con datos No-Espaciales

-Mapas de mayor calidad

-Funcionan en los navegadores sin la necesidad de comprar software en el lado del cliente

-Estilos de mapa personalizados

-Mapas editables

-Mejores capacidades de consulta

-Control sobre los contenidos

-Entidades animadas

-No se tiene que pensar sólo en un navegador Web

-Encadenamiento de servicios

DESVENTAJAS DEL GML

Ficheros de gran tamaño. GML es texto y por tanto la información no está optimizada desde el punto de vista del almacenamiento como si lo están los formatos binarios. Para ello hay dos soluciones:

Comprimir los archivos en formato gzip para el transporte y almacenamiento, obligando a introduciren las aplicaciones mecanismos de compresión/descompresión. Por otro lado, son operaciones sencillas de implementar. Ratio de compresión 5:1 o superiores.

XML binario que es soportando tanto por API's nativas como abiertas (e.j. Sax, Dom).

Coste de la adaptación y formación a la tecnología GML.

Dificultades para manejar ficheros raster de gran tamaño. La fotografías aéreas y ortofotos se siguen almacenando en los formatos raster usuales ( Tiff...). Aunque está previsto para las próximas actualizaciones poder trabajar con grandes ficheros raster, incluso video.

Datos EXTRA:



GML (Ventajas-Desventajas)

Principales Ventajas y desventajas de GML   ¿QUE ES GML? GML, o GameMaker Language, es un lenguaje de programación utilizado en GameMake...