La programación VRML es más compleja que la del HTML, aunque para hacerlo sólo es necesario un simple procesador de textos y guardar el archivo con la extensión *.wrl, lo que desde luego no permite ni ayuda a visualizar la idea que se intenta representar, resultando al final un proceso tedioso y agotador. Los archivos generados son mucho más largos que los del HTML, pero por suerte hay Herramientas de Autor que facilitan esta labor de construcción de mundos virtuales. Una de ellas es el trueSpace3 que, aunque no es específica para ello, incluye características de lo que era su hermano Fountain o lo que es el actual Pionner Pro (Herramienta de Autor VRML de Caligari).
Los archivos VRML (*.wrl) constan básicamente de tres apartados:
- Cabecera: Indica el estándar empleado, la versión del archivo VRML y el uso de caracteres internacionales. (Un ejemplo sería: " #VRML V2.0 utf8 ").
- Comentarios: Son comentarios libres sobre el código, no visibles en pantalla. Siempre van precedidos por el símbolo # y un espacio. (Un ejemplo sería: " # This VRML file was written by a Caligari (tm) product. ")
- Nodos: Los nodos son las unidades básicas que forman el mundo virtual, es decir, los bloques de datos que definen las características de los objetos, así como de sus materiales y texturas, de las cámaras y las luces, del uso de hiperenlaces, de los sonidos y otros efectos especiales, del fondo de la escena, etc...
Existen por tanto, multitud de nodos, verdaderas unidades de información de los archivos VRML. No vamos a entrar en ellos, pues para eso están los manuales de programación virtual, a donde pueden dirigirse los interesados en saber más sobre el lenguaje VRML.

En la práctica bastará con conocer las especificaciones de las distintas versiones de los archivos *.wrl para saber qué es lo que aceptan. Si acaso es conveniente saber que el lenguaje VRML se diseñó inicialmente en base a tres requisitos básicos: 1.- Independencia de la plataforma, 2.- Posibilidad de estensión, y 3.- Posibilidad de un buen funcionamiento con un bajo ancho de banda. El enfoque del VRML aprendiendo de su hermano HTML estuvo muy bien pensado, sabiendo desde el principio que sería necesaria una nueva versión más adelante, otra posterior, y luego otra y otra... Con esta buena base, los objetivos a cumplir han sido siempre alcanzables (y superables), evitando así una carrera de soft que acabe echándolo a perder.
1. Versión VRML 1.0: Los archivos VRML se basaron en el lenguaje de descripción gráfica del archivo ASCII Open Inventor de Silicon Graphics. En la primera versión ya se decidió de entrada la no existencia de comportamientos interactivos y fue, básicamente, la definición de un mundo tridimensional en el que sólo se podía ver, moverse alrededor de los objetos y poco más. Se establecieron las características de los escenarios con cámaras, luces, objetos e hiperenlaces, con parámetros determinados en cada uno de ellos que permitían marcar su localización, dirección, intensidad, color, tamaño, rotación y otros ajustes que lograron crear una buena base sobre la que desarrollar posteriormente nuevas especificaciones.
2. Versión VRML 1.1: Esta versión fue una simple mejora y remozado de la primera, con ajustes de campos, creación de nuevos parámetros y nodos, establecimiento de sensores para la detección de colisiones, implementación de sonido espacial, regulación de alturas sobre el Grid, etc...
3. Versión VRML 2.0: Basado en la propuesta Moving Worlds de Silicon Graphics, aporta especificaciones de comportamientos para objetos o grupos de objetos, implementa el uso de scripts tanto en Java, JavaScript o Visual Basic. Establece la adopción de nuevos sensores para interactuar con los objetos del mundo virtual, con respuestas frente a eventos; introduce efectos de fondos y efectos de niebla, texturas animadas, extrusiones de figuras, sonidos tridimensionales...
4. Versión VRML 3.0: Se encuentra en pleno desarrollo y posiblemente se basará en la propuesta Living Worlds de Silicon Graphics y que en el futuro aportará propuestas nuevas especialmente relacionadas con el uso de avatares como representación de los usuarios del entorno virtual, con una importante interacción entre ellos. Pero en definitiva, el tiempo lo dirá.