Cómo programar un motor 3D desde cero

Programando un motor 3D desde cero - Brakeza3D

Cómo programar un motor 3D desde cero

Vamos a dar nuestros primeros pasos para convertirnos en desarrollador de videojuegos y programar un motor 3D desde cero!!. En los sucesivos meses, iré publicando artículos relacionados con mis experiencias creando un motor 3D al completo, para finalmente, utilizarlo en la creación de un videojuego. Todo a la vieja usanza con puro C++.

La mayoría de información que encontrarás en Brakeza, necesita de conocimientos previos en programación y la suficiente soltura con tu sistema operativo, para habilitar un entorno de trabajo capaz de compilar el código fuente disponible.

Los requisitos mínimos de tu sistema serían:

  • Compilador C++ (gcc/g++. Disponibles en cualquier Linux/OSX por defecto)
  • Librería SDL 2.0 (https://www.libsdl.org/download-2.0.php)
  • Bullet Physics
  • ASSIMP
  • GML
  • SDK OpenCL
  • 50 MB de espacio en disco

En GitHub, encontraréis información para compilar Brakeza3D en vuestro sistema además del código fuente al competo.

Brakeza3D Logo

Si lo que os interesa, es el aspecto meramente académico de nuestros artículos, lo único que necesitarás serán las ganas de aprender y seguramente algo de fuerza de voluntad en momentos puntuales.  Si sirve de ejemplo, decir que los artículos que encontrarás, están escritos por un desarrollador web PHP cuyo hobbie es la programación 3D.  El core de Brakeza 3D se ha implementado en 6 meses de trabajo en tiempo libre, los siguientes dos años han sido para optimizar y añadir características ‘avanzadas’. Sirvan estas cantidades para que os hagáis una idea del tiempo que puede llevarle a una persona sin conocimientos previos en 3D (aunque si en programación), poder desarrollar su propio motor 3D.

Actualización: Actualizo esta entrada para mencionar que el proyecto cumplirá su segundo año en activo en muy poco tiempo y que podéis ver los progresos en algunos de los vídeos publicados hasta la fecha!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *