

Introducción:
'Entidad 3D' es un sistema completamente gratuito para desarrollar juegos 3D al más puro estilo Quake, pero con
la posibilidad de que tu juego pueda tener algún tipo de desarrollo. Me refiero a que no sólo se
trate de matar enemigos, si no que el protagonista del juego tenga que realizar diversas tareas
para finalizar con éxito su misión, como :
Recoger todo tipo de objetos para utilizarlos en determinados sitios (no sólo armas, munición, escudos y vidas).
Interactuar con otros personajes para darles objetos, que te entreguen objetos, que te digan algo, que
te dejen pasar, etc..
Abrir puertas o subir por ascensores si se dispone del objeto adecuado o si se ha realizado cierta acción previamente.
En definitiva me estoy refiriendo a juegos de aventuras 3D pero sin dejar de lado una
importante dosis de enfrentamiento armado (con 4 armas distintas) con distintos tipos de enemigos muy rápidos y
despiadados que harán todo lo posible por eliminarte.
Sobra decir que con 'Entidad 3D' podrás hacer juegos sólo de matar enemigos o sólo en plan
aventura sin matar a nadie, o con todo mezclado al nivel que tu desees.
Y todo esto lo podrás realizar con 'Entidad 3D' sin necesidad de programar en ningún lenguaje de programación,
sin necesitar ningún juego comercial previamente instalado que haga de 'run-time' y pudiendo distribuir tu
juego en un simple archivo .ZIP .
... pero te harás algunas preguntas:
¿ Cómo hago el escenario del juego ?:
Para construir el escenario de nuestro juego utilizaremos el
editor 'World Editor', que
se incluye con Entidad 3D. Con 'World Editor' y mediante cajas como la que verás a continuación,
pondremos los elementos que formarán el escenario, como luces, objetos, personajes o enemigos:

Si no quieres comenzar desde cero tu escenario, con 'World Editor' tienes la posibilidad
de cargar escenarios del Quake I y utilizarlos como base para tu aventura.
¿ Cómo creo las texturas para el escenario del juego ?:
Puedes utilizar la librería de texturas que incluye 'Entidad 3D', más de 500, o
realizar tus propias texturas mediante algún programa tipo 'Gimp' o Adobe Photoshop.
¿ Cómo creo la música y los efectos de sonido del juego ?:
Puedes utilizar diversos ficheros de sonido que puedes encontrar por Internet. 'Entidad 3D'
soporta directamente los siguientes formatos de sonido:
Estos sonidos o músicas puedes incorporarlas en 'Entidad 3D' para la introducción del juego,
para un fondo musical mientras se juega, para el final de partida, para un efecto concreto en el
transcurso del juego, etc...
¿ Cómo creo los personajes y objetos del juego ?:
Podrás utilizar los que se incluyan con 'Entidad 3D' (que serán unos cuantos), la
mayoría de ellos importados de personajes Freeware creados para el juego 'Half-Life'. Como
puedes ver en esta página, estos personajes tienen una calidad muy alta y ya disponen de numerosas
posturas y animaciones predefinidas.
Los personajes te servirán para utilizarlos como enemigos, como personajes o como
protagonista (personaje del jugador).
De todas formas existen herramientas como 'Milkshape 3D' y
'Actor Studio', que te permiten pasar numerosos tipos de personajes u objetos 3D al formato '.act'
que es el que utiliza 'Entidad 3D'.
¿ Cómo creo el desarrollo del juego ?:
Para establecer el desarrollo de la aventura 3D que queramos realizar,
crearemos una serie de ficheros que rellenaremos con unos sencillos comandos para establecer
las condiciones y acciones a llevar a cabo en cada momento durante el transcurso del juego.
Estos comandos son muy fáciles de aprender y en absoluto implican la complejidad de
los comandos de los lenguajes de programación. Además están pensados exclusivamente para controlar
el desarrollo de juegos sin nociones de programación. Por ejemplo:
... si queremos hacer sonar un fichero de audio .WAV pondremos (ACCI SONI efecto.wav)
... si queremos hacer aparecer un texto pondremos (ACCI TEXT No puedes pasar por aquí)
... si queremos comprobar si el jugador lleva una llave (COND llave.act=1)
... si queremos comprobar si el jugador lleva tres llaves (COND llave.act=3)
... si queremos asignar el valor 5 a una variable (ACCI PONE mivariable=5)
... si queremos comprobar si una variable vale 4 (COND mivariable=4)
... si queremos comprobar si una variable no vale 4 (COND mivariable!4)
... si queremos añadir el objeto caja al inventario del jugador (ACCI PINV caja.act)
... si queremos quitar el objeto caja del inventario del jugador (ACCI QINV caja.act)
... si queremos cambiar de animación el personaje lobo.act (ACCI MOTI lobo.act mirar)
... si queremos hacer desaparecer el personaje momia.act (ACCI VIS0 momia.act)
... si queremos hacer aparecer el personaje momia.act (ACCI VIS1 momia.act)
... y algunos cuantos comandos más, igual de simples pero efectivos.
Todo esto es para controlar nuestro juego durante el transcurso del mismo, ya que para construir
el escenario, situar los personajes, enemigos, jugador y objetos con todas sus características, lo
haremos completamente visual con World Editor en cajas como esta:

Como puedes ver, 'Entidad 3D' no es un sistema para crear texturas, sonidos, músicas, objetos o personajes,
eso lo tendrás que realizar con otras herramientas especializadas en ello si no quieres utilizar texturas,
sonidos, músicas, objetos y personajes predefinidos.
'Entidad 3D' es el programa que llevará automáticamente toda la carga compleja y dura que representa manejar todo
el mundo 3D con todas sus características, personajes, objetos, enemigos, colisiones, inventario, armas, disparos, muertes,
contadores de (vidas, salud, munición y escudo), menús, teclado, ratón, etc...., además de interpretar los
comandos que has introducido para el desarrollo de la trama del juego.
Si, pero ¿ Como y donde pongo esos comandos para que funcione mi juego ?:
Estos comandos estarán en ficheros que tendrás que crear y editar con cualquier editor ANSI (tipo
Notepad o similar). Luego con World Editor, asociaremos estos ficheros a eventos en
concreto. O sea, que estos comandos se activarán en función de lo que el jugador vaya realizando, tocando o
también en función de la zona en la que esté. Para resumir, hay 6 tipos de eventos a los que podrás
asociar comandos:
El jugador toca una puerta.
El jugador toca una plataforma móvil o ascensor.
El jugador toca un personaje del juego.
El jugador toca una zona del escenario.
El jugador pisa una zona del escenario.
El jugador mata a un enemigo en concreto.
Piensa que en el fichero de comandos que esté asociado a ese evento puede contener múltiples acciones y
condicionadas a múltiples condiciones. Todo dependerá de lo que quieras hacer en cada momento.
Ejemplo 1:

¿ Que donde aparece el comando que abre la puerta ?. No hace falta, ya tendremos asociado
este fichero de comandos con el evento de una puerta en concreto de nuestro escenario.
Ejemplo 2:

¿ Que donde está el personaje ?. No hace falta, ya tendremos asociado
este fichero de comandos a la posición de un personaje en concreto de nuestro escenario.
Ejemplo 3:

Si has llegado hasta aquí y entiendes el ejemplo 3 sin más explicaciones, ya estarías
preparado para comenzar a crear todo el desarrollo de tu juego con 'Entidad 3D'.
¿ Pero no habíamos quedado que no era necesario programar ?. Si a este tipo de instrucciones le llamas
programar, te felicito, porque acabas de aprender a programar en 5 minutos.
Si bien hay cierto parecido en cuanto al manejo de variables y condiciones, en mi opinión, ni siquiera se
puede llamar programa a este conjunto de comandos.
Con este sistema de creación de juegos 3D para PC, lo que se pretende es
ofrecer al desarrollador aficionado de videojuegos, más tiempo para dedicarse a la parte creativa, artística y de diseño
del juego, que a la parte de la programación, que hoy en día en la mayoría de los casos requiere saber programar en lenguajes como C++ o Java.
Características del motor 3D:
Las propias de 'Genesis3D', que es el motor 3D que utiliza 'Entidad 3D':
'Render' excepcionalmente rápido
Tratamiento de la dispersión de la luz (radiosidad)
Luces con intensidad variable según diversos patrones. Luces estáticas o móviles de tipo foco o normal.
Luz del Sol (todas las sombras proyectadas desde el mismo ángulo)
Sombras dinámicas
Niebla dinámica
Espejos con reflejos dinámicos
Efectos de agua dinámicos
Texturas animadas
Texturas con Alpha Blending
Geometría de objetos translúcidos para cristales u otros efectos
Mapeado esférico para cielos y horizontes (estático o móvil)
Posicionamiento y atenuación 3D de los sonidos
Superposición de imágenes 2D
Sistema de partículas
Resoluciones de pantalla desde 640x480 hasta 1680x1050 a pantalla completa
Aceleración 3D por hardware mediante drivers Direct 3D
Aceleración 3D por hardware mediante drivers OpenGL
Aceleración 3D por hardware para máquinas con procesadores AMD
Aceleración 3D por software para máquinas sin tarjetas aceleradoras 3D
Características principales del propio Entidad 3D:
Armas de fuego tipo lanza-llamas, lanza-granadas, lanza-misiles, fusil ametrallador y de energía ... y armas de mano como espadas, barras, cuchillos o bates.
Creación y configuración de tus propias armas.
Zoom para usar en armas o como prismáticos del jugador.
Sistema de condiciones para realizar acciones del jugador (abrir puerta si lleva llave, recibir objetos si tiene un cierto objeto,
hacer sonar músicas según circunstancias, etc ...)
Configuración de enemigos para que tengan diferentes comportamientos.
Personajes secundarios estáticos o móviles.
Control de animación de bloques o grupos de bloques del escenario en tiempo de juego.
Ascensores, elevadores, plataformas móviles, etc ...
El jugador puede llevar una luz (linterna o antorcha). Configurable el color de la luz, intensidad y su patrón de luminosidad.
Las luces se pueden encender y apagar, según condiciones, durante el transcurso del juego.
Diversos tipos de cámaras: Primera persona, tercera persona (inteligente, tipo Tomb Raider), cámara tipo RPG, cámara lateral tipo plataformas, además
de cámaras fijas en el escenario que se pueden activar y desactivar durante el transcurso del juego.
Soporte de Joystick, teclado y ratón como controles del juego.
Sombras dinámicas calculadas en tiempo real para el jugador, los objetos y los personajes.
Bloques del escenario configurables para que sean letales para el jugador (lava, veneno, pinchos, etc ...)
Diversos tipos de superficies en el escenario que varían la gravedad y fricción de jugador, además del sonido que se usa para los pasos o avance del jugador.
El jugador puede volar.
Recolección de objetos en un inventario. Posibilidad de usarlos en el juego bajo condiciones o usando un menú de acciones.
Creación de objetos con todas sus características.
Concepto de dinero y con la posibilidad de asignar precios de compra y de venta de los objetos. Sistema automático de compra/venta de objetos.
Objetos predefinidos para recoger por el jugador: Salud, vida, escudo, munición y armas.
Realizar explosiones en el escenario según circunstancias.
Configuración de marcadores, tanto los gráficos como su posición en pantalla. Soporta la creación de barras de energía configurables.
58 tipos de letras.
Sistema de partículas configurable que permite la creación de efectos de lluvia, humo, chispas, fuego, niebla, burbujas o efectos exóticos según se personalice.
Cambios de texturas del escenario durante el juego.
Tabla de objetivos de la misión.
Teletransporte para el jugador.
Efectos de sonido, música de fondo, sonido ambiente de fondo ... todo al mismo tiempo y controlable durante el juego.
Soporte de diversos tipos de formatos de audio, entre ellos MP3 y WAV.
Soporte de diversos tipos de formatos gráficos, entre ellos JPG, BMP, GIF, TGA y TIF.
Soporte de texturas de 24 bits.
Soporte de texturas con canales Alpha para semitransparencias.
Posibilidad de realizar una presentación con una secuencia de imágenes para la introducción al juego.
Sencilla consola de texto para presentar mensajes durante el transcurso del juego para informar al jugador de lo que se desee.
Soporte de diálogos mediante un sistema de selección de respuestas por parte del jugador.
Posibilidad de solicitar al jugador que introduzca textos en algún momento del juego, ideal para contraseñas.
Cambio, durante el juego, del personaje que representa o controla el jugador. Ideal para transformaciones o mutaciones del jugador, cambios de ropa, cambio a un vehículo, etc ...
Uso de temporizadores programables para activar o desactivar sucesos durante el juego.
Generador automático de escenarios laberínticos o de tipo mazmorra.
Soporte de 'Checkpoints' para que el jugador use la siguiente vida no desde el inicio del juego sino desde un punto en concreto del escenario.
Secuencias de texturas animadas en el escenario permiten presentar pequeños vídeos integrados en pantallas del propio escenario. También se puede usar para simular
burbujeo de líquidos (barro, ácido toxico, lava) o para crear el efecto de paredes y suelos 'vivos'.
Automáticamente salva la partida al comenzar un nuevo nivel. En el menú del jugador existe una opción para cargar la partida.
Durante el juego existe la posibilidad de almacenar información en un fichero en el disco duro para posteriormente poder leer esa información, aunque sea en otra
partida iniciada otro día cualquiera.
Capacidades online para crear juegos de torneos online en Internet o en una red local (LAN). Incluye un sistema de comunicación entre los jugadores mediante mensajes de texto.
El jugador puede mover bloques del escenario, tirar de ellos, apilarlos o lanzarlos usando su cuerpo o los disparos de sus armas.
Existen numerosas características más que por su extensión no se listan aquí. Te recomiendo que consultes
el manual de Entidad 3D, ya que en él se describen con detalle
todas las características de Entidad 3D y su funcionamiento, y aunque no lo leas para usarlo ahora mismo, te dará una buena idea de lo que puedes hacer con Entidad 3D.
*** 'Entidad 3D', por Jordi Pérez ***