Libertad para crear Hubo un tiempo, que los más veteranos del mundillo recordarán, en que los ordenadores eran bastante más accesibles de lo que lo son ahora. No me refiero a más baratos, más fáciles de usar o más fáciles de encontrar
Descripción general: Y sin embargo, el primer contacto con Dark Basic es un poco extraño. El envoltorio y el aspecto que se ha dado al programa no parece el más adecuado para una herramienta de desarrollo. El entorno de programación por defecto es un poco infantil y a primera vista la potencia del paquete pasa desapercibida. Un poco de exploración nos aclara las ideas: Para empezar, el CD de 'extras' incluye multitud de demos programadas con Dark Basic que atestiguan que el lenguaje es, por lo menos, versátil. Además, el aprovechamiento de las tarjetas aceleradoras es realmente bueno y la primera impresión es la de mucho potencial. Y si luego, rebuscando más, encontramos el editor 'alternativo' que funciona bajo el clásico y cómodo interfaz de Windows (DarkEdit), el conjunto se completa. Dark Basic está listo para dar sus frutos.
Pero tampoco nos confundamos: El lenguaje no lo hace todo por nosotros. Tendremos que saber lo que queremos y como queremos hacerlo, para lo que unos conocimientos básicos de programación serán realmente útiles. Además, si queremos que un objeto rebote en el suelo de forma realista, por ejemplo, tendremos que saber cómo programarlo y cuales son las simples matemáticas que rigen este comportamiento.
Pero aún así, Dark Basic nos facilita las cosas de forma increíble, salvando los escollos más complicados. Así, mover los objetos, comprobar su posición y sus interacciones, iluminarlos de diferentes formas, poner texturas, reproducir músicas, sonidos y videos, crear terrenos... Todo ello se resuelve de forma fácil, rápida y elegante, con instrucciones intuitivas, bien pensadas y que salvan la situación de forma rápida.
Todo esto tiene un precio, claro, aparte del económico: Hay que leerse a fondo la ayuda para ver qué instrucciones tenemos disponibles, su forma de uso, como podemos interactuar con los objetos y la escena, como podemos averiguar posiciones, interacciones, etc. Desde luego, las instrucciones son muchas y las hay desde muy evidentes (como 'set display mode', por ejemplo) hasta aquellas más potentes y versátiles pero que requieren un conocimiento de lo que estamos manipulando y cómo manipularlo. Toda una gama de posibilidades para contentar a todos los usuarios.
Y en la ayuda hay algo por lo que felicitar a los chicos de Diaspora: Está completamente traducida al español. La cantidad de información en ella contenida es bastante importante, incluyendo la referencia de todos los comandos disponibles y numerosos ejemplos muy ilustrativos de cómo funcionan y como extraer su potencial, organizada de una forma bastante intuitiva y didáctica, aunque quizá incómoda cuando ya nos hemos hecho con la filosofía de funcionamiento y queremos más rapidez de movimiento. La traducción al español es correcta y resulta todo un acierto, facilitando aún más al gran público la creación en pocos días de mundos 3D moviéndose en tiempo real.
En definitiva, Dark Basic es un producto bien acabado: En un lado, un lenguaje de programación que ofrece lo que promete y proporciona acceso fácil y rápido a todas las ventajas de las nuevas aceleradoras gráficas y sonoras del PC y a toda su potencia multimedia, que permite crear juegos, presentaciones y lo que se nos ocurra sin preocuparnos de toda la complejidad que hay debajo: Un lenguaje de muy alto nivel. En el otro lado, una presentación un poco cutre (en especial teniendo en cuenta el precio por el que se nos ofrece) sin ni siquiera un manual de referencia escrito, aspecto que se compensa con la traducción de una ayuda que es la clave para dominar el lenguaje. Una compra muy recomendable para los más inquietos de entre los usuarios de PC por la potencia y posibilidades que pone en sus manos. Una gran apuesta, la que han hecho los muchachos de Diaspora.
Audio/Vídeo: Dark Basic nos ofrece mucha facilidad, aunque eso tiene un precio: Los gráficos y efectos que se pueden obtener con este lenguaje son muy buenos pero no de ultimísima generación. En particular he echado de menos el uso de múltiples texturas, mayor libertad de acción con los canales alfa, mejor acceso a los datos de las normales de las mallas de los objetos, más efectos especiales, mayores posibilidades de 'postproducción' de la imagen... Pero cumple más que de sobra con su cometido. Lo que es más, aquellos usuarios avanzados que lo requieran pueden construirse algunas de las cosas que echen de menos. Un ejemplo: Quiero texturas animadas y Dark Basic no me las proporciona; no problemo, con apenas diez líneas de código creo una rutina para gestionar la animación de texturas usando las facilidades de escalado y posicionamiento de texturas que ofrece Dark Basic. Al final, todo esto es un reto que puede hacer incluso más atractivo este lenguaje.
En el apartado sonoro y de reproducción de vídeo se mantiene la facilidad aunque falta algo más de versatilidad. En concreto, me gustaría tener un mecanismo de sincronización con el audio (aunque en los numerosas páginas de recursos en Internet hay multitud de añadidos y tutoriales que permiten realizar este sincronismo). En cualquier caso, disponemos de la capacidad de reproducir sonidos grabados, música midi, sonido 3D, vídeo digital...
Y si la versión 1.08 de Dark Basic no permite demasiada fantasía con los formatos que es capaz de leer (gráficos BMP, sonido WAV, vídeo AVI, música MID, objetos 3D 3DS o XOF), la versión 1.09 ya está disponible en forma de parche descargable gratuitamente desde Internet y nos permitirá mucha mayor libertad: Múltiples formatos gráficos como JPG o GIF, música MP3, modo ventana... Y no es ni mucho menos la única mejora que introduce esta actualización: No os recomiendo perdérosla.
Jugabilidad: Parece un poco absurdo hablar de jugabilidad en un lenguaje de programación, pero lo cierto es que me he encontrado con algo muy similar a ésta trasteando con DB; la facilidad de crear que ofrece te impulsa a seguir investigando para sacar más potencia, conseguir un nuevo efecto, terminar el código que tienes entre manos y enseñárselo a todo el mundo. Pero saliéndonos de ese extravagante concepto de 'jugabilidad de un lenguaje de programación', lo cierto es que Dark Basic es tan fácil de usar que asusta. Lo primero que piensas es 'ha sido tan fácil que no puede funcionar bien, seguro que se arrastra' y te quedas con cara de bobo cuando ves más tus más de quinientos objetos texturizados moviéndose e interactuando por la pantalla a 1600x1200x32 con una tasa de frames más que razonable. Como muestra un botón, incluyo en el apartado de links un ejemplo rápido con Dark Basic (una modificación de mi primer programa en Dark Basic, de hecho, con un par de texturas creadas para la ocasión) que debería ilustrar lo rápido que es hacer algo con este lenguaje aún a los pocos días de tomar contacto con él.
Y las posibilidades de Dark Basic son muy elevadas. A los usos antes comentados (crear un juego, hacer una presentación interactiva) se unen otros más profesionales: ¿Estás trabajando en la programación en 3D con lenguajes más complejos y quieres ver como quedaría determinada rutina de interacción o un efecto particular? Dark Basic es un excelente lenguaje de prototipado: Rápido, limpio y fácil de usar y aprender. ¿Estás generando enormes cantidades de datos numéricos de simulación y quieres ver esos números transformados en su significado real en 3D y en movimiento? Crea un programa en Dark Basic que lea ese fichero y use los datos para crear una animación en tiempo real, que puedas rotar y ver desde cualquier parte. Lo dicho: Potencia asequible para todo el mundo. Dark Basic puede parecer un juguete y funciona muy bien para este uso, pero se trata de un lenguaje bastante serio si eso es lo que quieres.
Reanálisis
para Dark Basic Si has probado el juego, completa este
análisis haciendo un Reanálisis, añade,
critica o aplaude aquello que más te haya impresionado. Escribir
nuevo Reanálisis
(13)
El codigo efectivamente es muy facil de entender , con efectos interesantes como neblina , luz ambiente , etc ... pero el punto mas bajo de el compilador ... son los modelos 3d sobre los cuales trabaja .... puaaajj! cuanto 100 poligonos , 200 poligonos como maximo ??? animar a un personaje ?? es igual a un parto .
ademas se te olvido colocar que a parte de ser bueno programando debes ser tener conocimientos de 3dstudio max ... y otras herramientas graficas.
con respecto al editor por "defecto" es lo peor que he visto en muuuucho tiempo , muy malo , mejor el notepad.
bueno eso no mas , mejor me voy a seguir programando las directX 8.0 con Visual Basic ...
Efectivamente, el número máximo de polígonos en pantalla es mucho más reducido que el conseguido programando en Visual C++ sobre DirectX 8, pero es que programar en Dark Basic es unas 100 veces más fácil y unas cuantas veces más barato.
Sin embargo, la demo 'meridemo' que he añadido al artículo tiene casi unos 1100 polígonos con efectos de niebla, alfa y todos los cálculos asociados al surtidor de 500 partículas, moviendose en mi trasto a una tasa de frames muy respetable.
Sobre lo de que hay que tener conocimientos de 3DS, es inevitable: Si quieres hacer un programa en 3D con objetos en 3D o los programas o los diseñas y cargas... Lo mismo pasa con los gráficos y las músicas, alguien tiene que hacerlos. En cualquier caso, los formatos aceptados son 3DS (3D Studio) y XOF (el mismo que DirectX)... Hay un montón de editores 3D y conversores de formato gratuitos que permiten crear esos objetos.
Y sobre el tema de la animación, estoy de acuerdo que no es algo evidente (en particular mis dotes como 'animador' son bastante escasas), pero aún así es muchísimo más fácil que en otros lenguajes: Puedes cargar un objeto 3D con la animación creada en un editor y pasar entre frames con la orden 'next frame', algo bastante intuitivo. Además puedes crear tú tus propios frames y hasta definir 'limbs' para realizar animaciones independientes de las diferentes partes de un objeto, y el programa te permite trastear con la interpolación del movimiento... Infinitamente más fácil que andar realizando estructuras complicadas como árboles BSP programando tu propio motor en DirectX.
No trato de quitarte razón, pero Dark Basic es para lo que és: Programar algo de modo rápido y espectacular sin ser un matemático-programador de sistemas. Prácticamente cualquiera con Interés puede abordar la programación en Dark Basic, que es lo que se pretende... El precio a pagar es que no puedes hacer un Unreal Tournament o un Quake 3 (o por lo menos, con la misma calidad que estos).
Eso sí, con lo que coincido contigo plenamente es en el editor por defecto, pero eso se soluciona usando el Dark Edit (que viene en el mismo CD) y que es otro mundo. Por cierto, que la versión 2.0 del Dark Edit está a punto de salir.
Es buenisimo, si en tu vida has oido hablar del C++. Dark Basic es para aquellos usuarios principiantes que quieren plasmar sus ideas videojueguiles, sin esfuerzo. Y si quereis perfeccionar vuestra tecnica a lo basto mirad esta pagina: http://www.stratos-ad.com/recursos/cursos/cursos/dark_basic.htm
(a lo mejor no sale con el Explorer, hacedlo con Netscape) y que tiemble el XFulgor ese.
Hola soy IceVAN un programador de juegos comerciales.
Llevamos casi un año programando un juego (no dire el nombre porque no me lo permiten) con este, en mi opinion, magnifico lenguaje de programacion. La primera versión del Dark Basic que utilizamos fue la 1.4. en la actualidad usamos la 1.9.(esta ultima es MAGNIFICA)
Al principio dudabamos de la potencia del lenguaje y si nos seria posible terminar el proyecto con aspecto profesional. Pero poco a poco fuimos descubriendo todos los secretos del DarkBasic, que son muchos, y nos dimos cuenta de la potencia real de este lenguaje.
A medida que sacaban nuevas versiones, fueron numerosos los cambios que hicimos en el fuente del juego para aprobechar todas las mejoras de la nueva version. Ahora el juego esta terminado a un 70% y el aspecto es realmente impresionante. Os lo aseguro (y no es porque sea yo uno de los programadores), no pensabamos ni por asomo que conseguiriamos esa calidad.
Uno de los problemas mas grabes con los que nos encrontramos fueron las colisiones, hasta la version 1.8 del DarkBasic las colisiones eran realmente muy lentas. Ideamos un monton de formas de colision, usando matrizes, precalculando todas las zonas de colision del escenario, pero ninguna funcionaba. O eran muy lentas o ocupaban demasiada memoria. Pero con la version 1.9 esto se soluciono. El sistema de colisiones de la 1.9 es muy bueno y rapido.
Pues bueno mi opinion sobre el lenguaje es que es una magnifica herramienta tanto para iniciados como para profesionales. Te permite crear un juego sin tener que pensar en como mas ha hacer funciones que te permitan representar graficos, objetos 3D, playear sonidos, etc Solamente te tendras que dedicar a diseñarlo e idear unos cuantos trucos para realizar esas cosas que el lenguaje no te ofrece directamente. Es un lenguaje ameno y que produce grandes satisfacciones al programarlo, al poder ver casi inmediatamente lo que tenias pensado.
Solo tengo una cosa menos buena que decir sobre el lenguaje: no permite meter funciones en C o Asm hechas por el usuario. Esto permitiria que el lenguaje creciera mucho mas rapido.