Programación Gráfica II
3. Introducción a DarkGDK.
Primeras observaciones
Completo entorno de desarrollo basado en el lenguaje
Dark Basic.
Free, para proyectos no comerciales. ($30)
Sólo para plataformas Windows.
Juegos hechos en DarkBasic
Evochron Legends Tom Yum Goong
http://www.darkbasicgames.com/
Juegos hechos en DarkBasic
3D SolitaireHelios Mehenes
http://www.darkbasicgames.com/
Formatos 2D soportados
File Format Load Save
BMP
DIB
PNG
JPG
DDS
TGA
Formatos 3D soportados
File Format Load Save
3DS
X
MDL
MD2
MD3
Formatos de audio soportadosFile Format Load
WAV
WMA
AIFF
AU
SND
MP3
MIDI
CD-Audio
BSP maps. (Binary Space Partioning)
Acepta formatos de Quake 2, Quake 3 y Half Life.
Mapas de Alturas y Sky.
Soporte para mapas de alturas.
Carga SkyBox y SkySphere como un objeto cualquiera.
Soporte de Pixel y Vertex Shaders
Se requiere Pixel y Vertex Shaders 2.0.
Ventajas
Contiene muchos de los comandos que más se
necesitan para la creación de videojuegos. (Más de
1000).
Se puede integrar con muchas herramientas que hacen
más fácil el desarrollo de videojuegos.
Es fácil a la hora de entender su funcionamiento y
programar con él.
Desventajas
No es orientado a objetos !!!!!
Funciona sólo en Windows.
No funciona por eventos.
Ej: Se debe checkear en cada loop si una tecla está presionada.
Las herramientas que facilitan el desarrollo de son de
pago.
Comandos
Comandos
Core
Comandos básicos utilizados frecuentemente: activar el pintado, dormir
el sistema, obtener el temporizador, funciones matemáticas básicas.
Text
Comandos para manejo de texto.
Input
Comandos para el manejo de mouse, teclado y joystick.
Display
Manejo de la ventana y dispositivos de videos.
Comandos
Basic2D
Comandos para manejar y dibujar primitivas 2D, lockeo de bitmap.
Bitmap
Comandos para manejar bitmap: flip, mirror, fade, blur.
Sound y Music
Comandos para el manejo de sonido 3D y musica de background.
Comandos
Sprite
Comandos para el manejo de sprites animados.
Light
Comandos para manejar la luz, niebla y color ambiental. Cuenta con luz
ambiental, direccional y de punto.
Camera
Comandos para el manejo de la cámara, seguimiento de objetos, y
salida directa a imagen.
Comandos
Basic3D
Comandos para el manejo de objetos 3D, construcción de primitivas
3D, animaciones, manejo del aspecto y shaders, detección y activación
de colisiones, carga/descarga de meshes.
World
Comandos para el manejo de un escenario BSP, con multi-texturing y
detección de colisiones automáticas.
Terrain
Comandos para la creación de mapas de alturas.
Código básico
Código básico
Activar sincronización
Cambiar resolución de la pantalla
Función de entrada
Include de las librerías de DarkGDK
Loop principal
Pinta el buffer en pantalla
Carguemos una imagen
Carguemos una imagen
Crea el Sprite asociado a la imagen
Cambiamos el tamaño del Sprite
Posicionamos el Sprite
Crearemos el Main del
proyecto guía
Carga la imagen de inicio
Inicializa y carga todos los
componentes del juego
Actualiza los componentes
del juego
Carga una imagen de los
créditos
Clase GameConstant
Crearemos una nueva clase, ésta será utilizada para todas
las constantes que necesitemos utilizar en nuestro
videojuego.
Star/End Game
Tanto para StartGame y EndGame se carga una imagen
del tamaño de la pantalla.
Star/End Game