Logo de Cramion

v0.5 · Vulkan 1.3 · Windows x64

Crea juegos 3D para Windows.
Editor, física y Lua en un solo motor.

Diseña tus escenas en el editor, programa el juego en Lua y dale a Play: gráficos en Vulkan con luz y sombras en tiempo real, física, terreno, agua, navegación, mundos de bloques y exportación a un .exe. Gratis y de código abierto.

Render
Vulkan 1.3
Escena demo
≈10 M tris
Scripting
Lua 5.4
Lenguaje
C++20

CramionFX

Un renderizador diferido completo

Cada frame pasa por un G-buffer, una pasada de iluminación PBR y una cadena de post-proceso HDR. Cada efecto se enciende o se apaga desde código o desde el editor.

PBR metal/rugosidad

Albedo, normales, rugosidad, metal, emisión y oclusión, con materiales editables desde el editor.

Cielo atmosférico e IBL

Cielo físico con ciclo de día y noche; la luz ambiente y los reflejos salen del propio cielo.

Sombras en cascada

CSM para el sol y mapas de sombra para luces puntuales y focos, con recorte por alfa.

SSAO y SSGI

Oclusión ambiental e iluminación global en espacio de pantalla: la luz rebota en las paredes.

Post-proceso HDR

Bloom, auto-exposición por histograma, rayos de luz volumétricos, tonemapping ACES y FXAA.

Escenas enormes

Lector de OBJ en paralelo, caché binaria y frustum culling por clústeres: San Miguel carga en segundos.

CramionCore + CramionEditor

Todo lo que necesita un juego

  • 01

    ECS y escenas

    Entidades con jerarquía, etiquetas y componentes reflejados; escenas serializadas en .crscene.

  • 02

    Física

    Cuerpos rígidos, colisionadores, triggers, raycasts y vehículos con ruedas, motor y marchas.

  • 03

    Terreno, agua y navegación

    Esculpido y pintura de terreno, superficies de agua y NavMesh al estilo Unreal (Recast/Detour) que se regenera en tiempo real, con agentes que se esquivan.

  • 04

    Animación y cinemáticas

    Esqueletos, clips y un Animator con parámetros; línea de tiempo para cinemáticas.

  • 05

    Audio, partículas e interfaz

    Sonido 3D, sistemas de partículas y una UI de juego con botones, sliders, campos de texto y casillas.

  • 06

    Editor y exportación

    Editor con paneles acoplables, inspector, modo Play y exportación del juego con CramionPlayer.exe.

  • 07

    Mundos de bloques

    Mundos infinitos como Minecraft: biomas, cuevas, luz de antorchas, colisión con la física y guardado. Plantilla de supervivencia con inventario, crafteo, vida y hambre.

  • 08

    Mallas por código

    Crea y cambia geometría en tiempo real desde tus scripts: UV, submallas con varios materiales y efectos, y colisión que se rehace sola.

  • 09

    Shaders propios

    Escribe en GLSL cómo se ve una superficie (hologramas, lava, disolver, agua que se mueve) y se recompila al guardar, con la luz y las sombras del motor.

  • 10

    Prefabs

    Objetos reutilizables con instancias enlazadas: aplicar, revertir y cambios propios por instancia, como en Unity.

  • 11

    Conecta una IA (MCP)

    Claude, Cursor o Copilot trabajan dentro del editor: crean escenas, scripts, shaders y modelos, prueban en Play y miran capturas.

Arquitectura

CramionEditor · CramionPlayer

Editor de escenas (Dear ImGui) y ejecutable del juego exportado

CramionCore

ECS, assets, física, scripting Lua, audio, terreno, agua, UI, cinemáticas

CramionFX

Renderizador Vulkan 1.3 y sus shaders GLSL → SPIR-V

CramionDM

Plataforma: ventana Win32, entrada, dispositivo DirectX 12

Scripting en Lua

Escribe gameplay en minutos

Cada script es una tabla con métodos Start, Update, OnCollisionEnter… Las properties aparecen en el Inspector, y al guardar el archivo en modo Play se recarga sin perder el estado.

  • ✓ Vec3, Entity, Scene, Input, Time, Physics, Navigation, Audio, Prefs, Mathf
  • ✓ Recarga en caliente y consola Lua en el editor
  • ✓ Eventos de interfaz conectados a métodos del script
  • ✓ Entorno aislado: sin acceso al sistema de archivos
Ver la referencia y los ejemplos →
Assets/Scripts/Jugador.lua
local Jugador = {
    properties = { velocidad = 5.0, salto = 6.0 }
}

function Jugador:Update(dt)
    local mover = Vec3(Input.getAxis("Horizontal"), 0,
                       -Input.getAxis("Vertical"))
    self.entity:translate(mover * self.velocidad * dt)

    if Input.getKeyDown("space") then
        self.entity:addImpulse(Vec3.up * self.salto)
    end
end

function Jugador:OnTriggerEnter(other)
    if other.tag == "Moneda" then
        Audio.playOneShot("Audio/moneda.wav")
        other:destroy()
    end
end

return Jugador

Descargar

Cramion 0.4 para Windows

Build Release listo para usar: descomprime y abre CramionEditor.exe. Incluye el editor, el player para exportar juegos y el runtime de C++.

  • CramionEditor.exeeditor de escenas
  • CramionPlayer.exejuegos exportados
  • cramion.exedemo de render
  • shaders/SPIR-V
  • Requiere Windows 10/11 x64 y una GPU con Vulkan 1.3. Las escenas de demostración no se incluyen (ver README).

Empezar

O compílalo tú mismo

1 · Requisitos

  • Windows 10/11 x64 con Windows SDK
  • GPU con Vulkan 1.3
  • Vulkan SDK (VULKAN_SDK)
  • CMake ≥ 3.21, Clang (LLVM) y Ninja
  • RAM: mínimo 8 GB, recomendado 16 GB
  • Disco: ~10 GB libres (Release), ~16 GB con Debug; mejor en SSD
  • Internet la primera vez (se descargan las dependencias)

¿Se congela el PC?

Cada compilación usa hasta ~1,5 GB. CMake ya limita cuántas van a la vez según tu RAM (7 con 16 GB). Si aun así se congela, bájalo:

cmake --preset clang-ninja-release -DCRAMION_COMPILE_JOBS=3

2 · Compilar en Release

cmake --preset clang-ninja-release
cmake --build --preset clang-ninja-release
cmake --build --preset clang-ninja-release --target cramion_package  # zip

3 · Ejecutar

.\build-release\CramionEditor.exe     # editor de escenas
.\build-release\cramion.exe san-miguel  # demo de render

Tamaños medidos: LLVM ~2,9 GB, Vulkan SDK ~1,7 GB, código ~0,7 GB y la carpeta build-release ~3,1 GB (casi todo son las dependencias). La primera compilación tarda varios minutos; después solo se recompila lo que cambias.