Cómo crear videojuegos desde cero

El curso de programación de videojuegos que no encontrarás en otro sitio

Aprende desde cero

Aprende a crear tu motor 3D sin dependencias de librerías 3D como OpenGL o Direct3D. Desde lo mas sencillo hasta técnicas avanzadas

OpenSource

Puedes descargarlo y empezar a programar videojuegos por ti mismo. Conviértete en desarrollador de videojuegos!

Multiplataforma

Brakeza3D funciona en Linux/Mac/Windows con un conjunto mínimo de dependencias

Bienvenizo a Brakeza3D

Si te has preguntado cómo empezar a programar tu propio videojuego 3D desde cero, sigue…

Podríamos usar un Unity o Unreal, pero queremos ser una fucking bestia

Para los odiantes de Unity3D

Si tu interés es conocer el funcionamiento de un motor 3D, estos entornos no son para ti

¿Acaso John Carmack utilizó Unity o algún sucedáneo de la época (1996) para crear el ya mítico Quake? Pues no, no lo hizo.

En su lugar, implementó su propio motor, el cual se encuentra disponible como código libre para aquellos interesados. Su principal problema es la ausencia de documentación, escasa en inglés (aunque de calidad) e inexistente en castellano, lo que dificulta mucho su aprendizaje.

Brakeza3D nace con el objetivo de responder a esa pregunta de como ser desarrollador de videojuegos y cómo programar un motor 3D desde cero al estilo de la vieja escuela, sin OpenGL o Direct3D ni librerías de gráficos 3D de ningún tipo.

RENDER DE MALLAS

Aprenderemos como renderizar las mallas de nuestra geometría 3D y nos detendremos en analizar el ciclo de vida de un vértice hasta llegar a tu pantalla.

RENDER DE SÓLIDOS

Profundizaremos en el trabajo necesario en el interior del triángulo para rellenarlos de algún color o degradado.

LA CÁMARA Y SU MOVIMIENTO

Implementaremos nuestra cámara y analizaremos su configuración básica además de aprender a movernos con ella.

OPTIMIZACIÓN

Introduciremos algunas de las técnicas de optimización más conocidas para mover todo el entorno 3D con la menor cantidad de recursos.

RECORTE (CLIPPING)

Aprenderemos a recortar triángulos contra el cono de visión (frustum).

TEXTURIZACIÓN (UV MAPPING)

Estudiaremos los principios del mapeado UV para añadir texturas a nuestros objetos 3D.

SISTEMA DE LUCES

Implementaremos los tipos básicos de luces que interactúan con nuestra escena: Ambient light/light point/spotlight

SOMBRAS (SHADOW MAPPING)

Con esta sencilla pero eficaz técnica podrás crear sombras entre objetos iluminados.

CARTELES (BILLBOARDING)

Interesante técnica para renderizar planos siempre perpendiculares a cámara (al estilo de los enemigos en Doom2). La puerta a las partículas en los motores 3D.

MODELOS OBJ/PK3

Podremos trabajar con Blender e importar nuestros modelos y estudiaremos la estructura de un mapa de Quake3 y cómo cargarlo

A tener en cuenta

Conviértete en programador de videojuegos

Conmigo aprenderás el camino más duro. El cambio a Unity3D te parecerá un juego de niños.

Algo de matemáticas

Aprenderemos algunos cachivaches matemáticos que según que caso necesitarán un plus de exigencia.

Objetivo realista

El objetivo es formativo. Existen refutadas librerías 3D con un rendimiento infinitamente mejor y capacidades vinculadas al hardware que harían de Brakeza3D una opción obsoleta. Nos la pela.

One man project

Esto nace del trabajo realizado por una persona durante seis meses en sus ratos libres. Ayuda perro!

Contactar

Si deseas colaborar con Brakeza3D o simplemente establecer contacto, no dudes en rellenar el siguiente formulario y te atenderé en cuanto sea posible

Tu nombre o nick