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?
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.
¿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.