Introducción:
Entidad 3D es un sistema completamente gratuito para desarrollar juegos 3D para PCs con
Sistemas Operativos Microsoft Windows XP / Vista / 7 / 8.1* / 10.
Este sistema te permite crear juegos al estilo de Quake, Half-Life o Counter Strike, pero con la posibilidad de que tu juego
pueda tener algún tipo de trama o desarrollo, para que no sólo se trate de matar enemigos, si no que el protagonista del juego deba
realizar diversas tareas o completar ciertos objetivos para finalizar con éxito su misión, como por ejemplo:
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 o llave adecuada o si se ha realizado cierta acción previamente.
En realidad puedes crear muchos tipos de juegos: FPS, TPS, RPG, plataformas, arcade, aventura, sigilo, infiltración, francotirador, agilidad mental, etc ... Todo
depende de como uses los recursos que te ofrece Entidad 3D y de como posiciones la cámara del jugador.
Si decides incorporar armas en tu juego, dispones de cuatro armas distintas configurables que permitirán al jugador eliminar los
distintos tipos de enemigos que poblarán tu juego y que harán todo lo posible por borrar del mapa al jugador. Los impactos de las
armas también los podrás usar para activar eventos concretos en momentos puntuales del juego.
Con Entidad 3D podrás hacer juegos sólo de matar enemigos o sólo de aventuras sin matar a nadie, con vista en
primera persona o en tercera persona, o con todo mezclado al nivel que tú desees.
Y todo esto lo podrás realizar 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 libremente de forma gratuita 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 (llamadas entidades) 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 importar escenarios del Quake I y
utilizarlos como base para tu juego.
¿ 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 gratuitamente en 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' o 'Counter Strike'. 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 convertir 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 del juego 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 SONIDO_FX efecto.wav 80)
... 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 de forma visual con 'World Editor' usando entidades 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 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, radar, etc...., además de interpretar los
comandos que has introducido para el desarrollo de la trama del juego.
Si, pero ¿ Cómo y dónde 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, aunque te
recomiendo Notepad++. 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, estos son algunos de los
diferentes eventos a los que podrás asociar comandos:
El jugador toca o dispara a una puerta.
El jugador toca una plataforma móvil o ascensor.
El jugador toca un personaje o un enemigo del juego.
El jugador toca una zona del escenario.
El jugador pisa una zona del escenario.
El jugador mata a un enemigo en concreto.
El jugador usa un objeto.
El jugador pulsa una tecla.
Un temporizador ha llegado a 10 segundos.
El jugador toca un objeto del escenario.
etc ...
Piensa que en el fichero de comandos que esté asociado a ese evento puede contener múltiples acciones y
condiciones para establecer la lógica de tu juego. Todo dependerá de lo que quieras hacer en cada momento.
Ejemplo 1:
¿ Qué dónde 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:
¿ Qué dónde 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 con lenguajes tipo 'Script' en cuanto al manejo de variables y condiciones, no
podríamos considerarlo en conjunto como un programa. Los ficheros de comandos de Entidad 3D contienen un conjunto
de comandos asociados a eventos concretos del juego que sólo se procesan cuando se produce el evento asociado a
ese fichero de comandos.
Con este sistema de creación de juegos 3D para PC, lo que se pretende es ofrecer al desarrollador aficionado a los 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/C++ o Java.
Qué no es Entidad 3D:
No es un motor 3D.
No permite crear mundos extensos.
El tamaño máximo aproximado de los niveles usando el editor 'World Editor' es de 82 metros de ancho, 82 metros de largo y 82 metros de alto. Aunque soporta múltiples niveles por juego.
Aunque si usas el editor 'World Editor Pro' puedes crear niveles de 300 metros de ancho, 300 metros de largo y 300 metros de alto.
No es adecuado para realizar lo que se conoce como juegos de alta calidad tipo AAA.
No ofrece gráficos fotorealistas tipo Unreal Engine 4.
No es adecuado para realizar juegos tipo GTA (Grand Theft Auto).
No genera juegos 3D con sólo tocar cuatro parámetros, tres controles y cinco selectores. Es necesario un poco más de trabajo.
No es un sistema 100% 'Point and click'. Si quieres personalizar al máximo los mecanismos de tu juego, deberás
escribir ficheros de Scripts con comandos.
No incluye un editor de objetos, armas ni personajes. Deberás diseñarlos de forma externa.
No incluye un editor de textunas ni materiales. Deberás editar las texturas de forma externa.
No es sólo para crear juegos FPS (First person shooter).
No es sólo lo que ves. Si algo no te gusta o no es lo que quieres incluir en tu juego, cámbialo.
Requerimientos del sistema para el correcto funcionamiento de Entidad 3D:
Requerimientos mínimos del sistema:
Sistema operativo: Microsoft Windows XP
CPU: Pentium IV (Prescott) @ 2 Ghz (o CPU con SSE3)
Memoria RAM: 1 GB
Espacio en disco duro: 600 MB
Tarjeta de vídeo: 512 MB de memoria con soporte DirectX 8.1 u OpenGL
Requerimientos recomendables del sistema:
Sistema operativo: Microsoft Windows 7
CPU: Core 2 Duo @ 2 Ghz
Memoria RAM: 2 GB
Espacio en disco duro: 900 MB
Tarjeta de vídeo: 1 GB de memoria con soporte DirectX 11 u OpenGL
Entidad 3D también se ha probado de manera satisfactoria en:
- MS Windows 10 (64 bits) con DirectX 12 y CPU Core i7 de segunda generación con cuatro núcleos a 2 Ghz. Tarjeta gráfica AMD Radeon.
- MS Windows 10 (64 bits) con DirectX 12 y CPU Core i5 de cuarta generación con dos núcleos a 2,6 Ghz. Tarjeta gráfica Intel HD 5000.
En MS Windows 8.1, Entidad 3D no consigue un buen rendimiento a pantalla completa. No es el caso en
MS Windows XP, Windows Vista, Windows 7 o Windows 10.
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 640 x 480 hasta 2560 x 2048 a pantalla completa
Aceleración 3D por hardware mediante 'drivers' Microsoft Direct3D
Aceleración 3D por hardware mediante 'drivers' OpenGL
Aceleración 3D por software para máquinas sin tarjetas aceleradoras 3D
Características principales de 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 te leas con tranquilidad todo este 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 podrás hacer con Entidad 3D.
Los modelos 3D, texturas y niveles de ejemplo, pertenecen a diversos autores.
El motor 3D que usa Entidad 3D se llama Genesis3D. Ha sido desarrollado por Eclipse Entertainment.
El programa Entidad 3D (archivo ejecutable Entidad3D.exe) está programado en lenguaje C/C++ en el entorno de desarrollo Microsoft Visual C++.
El núcleo principal del programa Entidad 3D (no el motor 3D) ha sido programado por Jordi Pérez.
El programa Entidad 3D se distribuye gratuitamente bajo Licencia Freeware, pero no
es de Dominio Público ni Software Libre ni de Código Abierto ni 'Open Source'.