Visualizar Texto dentro de objeto (también llamado Prim) dentro de un mundo virtual como Second Life parecería fácil, desafortunadamente no existen funciones que permitan escribir directamente texto sobre un objeto y no existe forma de cargar una textura generada dinamicamente con el contenido texto, tampoco existe una forma de generar la imagen de forma externa y cargarla directamente dentro del objeto; por este motivo mucho del contenido encontrado dentro de los mundos virtuales son imágenes con el texto a visualizar que son generadas con editores de imagen y que son subidas al simulador de Second Life por $10 Lindens cada una, pero afortunadamente existe una forma de visualizar texto dentro de un objeto en Second Life.
Probando Scripts para la Visualizacion de Texto
Algunas Formas :
Un letra por Objeto :
Crear una textura (imagen de 512x512 pixeles) con los caracteres del abacedario a utilizar en la fuente a utilizar, se pueden crear una textura mas grande si el conjunto de letras es muy extenso o varias texturas con diferentes conjuntos de letras, como también se pueden crear texturas por cada fuente a utilizar aunque se recomienda utilizar fuentes donde los caracteres tengan las mismas dimensiones ya que todos aparecerán dentro de objetos del mismo tamaño que conforma el mensaje a utilizar. Luego se debe crear un script que asigne a cada objeto la letra que se quiere visualizar, calculado su posición dentro de la textura y aplicarla al objeto. Lo malo de esta estrategia es que para mostrar el mensaje "Hola Mundo" se necesitarían diez objetos para la construcción del visor, así que si queremos un tablero de 180 caracteres debemos tener 180 objetos lo cual es una gran cantidad debido a que este recurso es limitado y degrada el desempeño del servidor del mundo virtual.
Una Letra por Lado del Objeto :
Esta estrategia permite colocar varias letras dentro del mismo objeto, esto se logra tomando el objeto cubo que tiene seis caras (en cada cara se puede colocar una textura diferente) y aplanando este, para que por un lado se puedan ver hasta cinco texturas, esto se logra deformando el cubo con las herramientas de edición, una vez que tenemos el cubo podemos colocar un carácter en cada cara, logrando tener un máximo de cinco caracteres por cada objeto, de esta manera podemos colocar el mensaje "Hola Mundo" utilizando dos objetos lo que reduce en una quinta parte el uso de prims y se reduce a una textura con el conjunto de caracteres a visualizar.
Varias Letras por Lado del Objeto :
Otra estrategia a utilizar es colocar dos caracteres por cada cara del objeto, en este caso podríamos obtener diez caracteres y nueva mente reducimos a la mitad el consumo de objetos para la visualización de texto, aunque aumenta el numero de texturas a utilizar ya que debemos crear todas las posibles combinaciones de dos letras lo cual nos demanda una gran cantidad de texturas pero reduciendo el numero de objetos a utilizar. Esta ultima estrategia es la mas usada en la visualización de texto dentro de objetos de SecondLife y de cual existen varios scripts.
ZZText
Permite visualizar 10 caracteres en un prim, usa 35 texturas
Se puede crear texturas propias con caracteres especiales
Mas rápida y eficiente que otras versiones http://wiki.secondlife.com/wiki/ZZText
XyzzyText Permite visualizar 10 caracteres en un prim, usa 66 texturas
Se deben nombrar cada celda con nombres especificos
Versión mas Eficiente que XyText http://wiki.secondlife.com/wiki/XyzzyText
XyyyyzText
Permite visualizar 10 caracteres en un prim, usa 66 texturas
No se necesitan renombrar las celdas, enlace automático, multilinea
Versión mas Eficiente que XyText http://wiki.secondlife.com/wiki/XyyyyzText
Existen gran cantidad de soluciones para este problema, algunas utilizan mas recursos como prims y scripts lo que puede causar que el rendimiento del simulador se vea afectado (LAG), mientras otras versiones utilizan mas recursos como texturas que no afectan el funcionamiento del simulador pero afectan al cliente, el cual debe descargar gran cantidad de texturas para poder visualizar la información, otro problema adicional es la necesidad de crear nuevas texturas de acuerdo al conjunto de caracteres que se necesitan y aunque los scripts con soporte de UTF mejoran el uso de caracteres especiales, se deben crear las texturas necesarias para su visualización.
Se tomo la decisión de probar XyyyyzText para la creacion basica de los tableros de texto mas adelante se explorara con mas detalle la creación dinámica de texto utilizando otras herramientas.
Teniendo en cuenta las características del Servidor de Desarrolla a utilizar en Pulsar Project que fueron brevemente descritas en anteriores entradas (Pulsar Project : Servidor Desarrollo) se procedió a realizar la instalación básica del servidor que cumpliera con la mayoría de estas.
Seleccionar el tipo de sistema operativo Linux ya l version Ubuntu
Se puede dejar los 512 MB de memoria RAM (se recomienda aumentarlo a 1024)
Crear un disco virtual con la información por defecto (8 GB de espacio)
Finalizar la creación de la maquina virtual
Cambios en la Configuración Inicial :
Presionar el botón Settings
Habilitar el PAE/NX en la sección Processor de System
Ir a Settings -> Storage
Remover el disco duro del arbol de dispositivos, seleccionarlo y utilizar el boton con el menos
Remover el controlador SATA dando click sobre el Storage Controller ya que este no se utilizara
Adicionar el disco duro como IDE haciendo click sobre el controlador y adicionando un nuevo disco
Montar CD de instalación :
Seleccionar en la pantalla el CD Empty
Adicionar el archivo iso al manejador de medios virtuales
Enlazarlo al CD
Iniciar la Maquina
Instalación de Ubuntu Server
Seleccionar el idioma
Presionar la tecla F4 y seleccionar minimal virtual machine
Seleccionar la opción Install Ubuntu Server
Seleccionar el idioma de instalación
Seleccionar el Pais
Detectar la distribución del teclado
Suministrar el nombre del servidor : pulsarproject
Configurar la zona horaria
Particionar el disco utilizando la opción guiada
Se realiza la instalación base del sistema
Suministrar información del usuario
Nombre de usuario : pulsar
Clave : pulsar2010
No encriptar directorio home
No realizar actualizaciones automáticas
Seleccionar el Software a Instalar :
Basic Ubuntu Server
LAMP Server
Mail Server
OpenSSH Server
Suministrar la clave de administrador de MySQL
Configurar servidor de correo como Internet Site con el nombre pulsarproject
Instalar el GRUB
Terminar la instalación
Reiniciar (Recuerde quitar el archivo ISO como archivo del CD)
La imagen de disco creado por VirtualBox es de 845 MB para esta maquina virtual.
Esta guía cubre los pasos de una forma breve y sencilla, para mayor información acerca de la instalación del servidor de desarrollo se realizo un vídeo el cual contiene imágenes de todos los pasos realizados durante la instalación.
El servidor de desarrollo para el Pulsar Project esta destinado como plataforma para el desarrollo de las herramientas y aplicaciones para el apoyo a la educación en los mundos virtuales, este debe contar con el software necesario para permitir el desarrollo, así como tambien para realizar pruebas de las mismas, por este motivo el servidor debe contar con las siguientes caracteristicas :
Poderse mover de una maquina a otra para no depender de una maquina o una única instalación
Servir de linea base para la documentación de instalación y configuración de servicios
Permitir volver a versiones anteriores del estado del servidor
Facilitar el proceso de pruebas de las herramientas desarrolladas, permitiendo el cambio de configuraciones y componentes instalados
Permitir a otros usuarios la descarga desde Internet del servidor para que estos prueben las herramientas desarrolladas
Ser muy liviano para ejecutarse en maquinas con pocos recursos
Tener un tamaño pequeño para permitir la descarga rápida desde Internet o su copia entre maquinas
Ser software libre lo que permita su utilización sin requerimientos de licencia por parte de los usuarios.
Al analizar todas las características del servidor se tomaron las siguientes decisiones :
Crear un maquina virtual lo cual permite mover y ejecutar la maquina virtual en diferentes computadores de una forma fácil y rápida, como también permite volver a estados previamente almacenados y puede ser distribuida para que otros usuarios la puedan utilizar,
Instalar en la maquina virtual con un Servidor Linux para lo cual se selecciono la plataforma Ubuntu Server 10.04 gracias a la gran experiencia que se tiene en el uso de esta plataforma y a que provee todas las herramientas necesarias para desarrollar el proyecto.
Realizar una instalación mínima de maquina virtual la cual permite crear una maquina virtual que ocupa poco espacio en disco gracias a que solo instala los componentes necesarios para su ejecucion, ademas de tener un núcleo diseñado especialmente para ejecutarse en ambientes virtualizados.
Se selecciono VirtualBox como plataforma de virtualizacion por su fácil, rápida y liviana instalación, ademas de ser multiplataforma lo que permite utilizar cualquier computadora como potencial servidor de pruebas.
En cuanto a la plataforma de desarrollo el servidor debe contar con los siguientes servicios y plataformas de desarrollo :
Servidor Web para la publicación de la aplicación web de soporte a las herramientas de los mundos virtuales y aplicaciones de terceros que se comunicaran con las herramientas en los mundos virtuales.
Servidor de base de datos para la aplicación web y las aplicaciones de terceros.
Servidor de correo para permitir el envió local de mensajes entre aplicaciones.
Se han seleccionado las siguientes herramientas básicas para comenzar el desarrollo del proyecto, las cuales cumplen con las características necesarias para el desarrollo de proyecto.
Servidor de Terminal Segura OpenSSH, el cual permite realizar conexiones seguras para la administración remota del servidor y el envió de archivos.
Servidor de Base de Datos MySQL muy popular en el mundo del software libre y el cual utilizan muchas de las herramientas a utilizar dentro del proyecto.
Servidor Web Apache2 con soporte para PHP, el cual permite desarrollar e instalar aplicaciones muy populares en el mundo del software libre.
Servidor de Correo Postfix para el envío y recepción de correo.
Hasta el momento se han seleccionado las herramientas tecnológicas que responden en su mayoría a herramientas de software libre que pueden ser usadas y modificadas, así como también herramientas sencillas de manejar y ampliamente utilizadas en el mundo del desarrollo de software.