Gameplay Programmer · Technical Artist

Construyo arquitecturas sólidas y mundos jugables.

Ingeniero en Videojuegos egresado de la Universidad de Guadalajara. Especializado en diseño de sistemas de gameplay, máquinas de estado para IA, shaders HLSL y experiencias interactivas en Unity 6, Unreal Engine 5 y UEFN.

Motores: Unity 6 · Unreal Engine 5 · UEFN
Lenguajes: C# · Verse · HLSL · C++ · Python
Especialidad: Gameplay Systems · Shaders · XR / VR
5+ Proyectos jugables & publicados
3 Motores dominados (UE5, Unity, UEFN)
1 Publicación académica (Libro Blanco)
🎮 Proyecto Destacado Unity 6 · C#
Beers & Crystals Gameplay
Roguelike Dungeon Crawler

Beers & Crystals

Generación procedural, máquinas de estado FSM y shaders propios.

Portfolio Técnico

Proyectos & Sistemas

Desarrollos comerciales, colaboraciones de estudio, investigación científica y juegos publicados en itch.io.

Más Proyectos Especializados

Prototipos técnicos, simulación de físicas, shaders y game jams.

Beers & Crystals VR
VR / XR
Unity XR Toolkit HLSL Shaders

Beers & Crystals VR

Adaptación a Realidad Virtual inmersiva: sombreador HLSL de superficie líquida con física angular de wobble, cinemática de manos e interacciones hápticas optimizadas a 90 FPS.

El Último Viaje
Game Jam
Unity Shader Graph IA Compañero

El Último Viaje

Aventura atmosférica inspirada en el Mictlán (LAGS Game Jam 2024). Shaders de niebla volumétrica y disolución, IA de compañero reactivo y sistema narrativo de doble desenlace.

Simulador Orbital
Paper Académico
Física Newtoniana Unity Educativo

Simulador de Física Orbital

Simulador gravitacional $N$-cuerpos con cálculo de órbitas y trayectorias cónicas. Empleado formalmente en un estudio publicado sobre aprendizaje infantil con videojuegos.

Car Champions
Físicas
Wheel Colliders Rigidbody Physics Unity

Car-Champions

Recreación de dinámicas vehiculares estilo Rocket League: modelado de tracción, derrape controlado, suspensión con resortes y control de torque y pitch en saltos aéreos.

Chess RTS 3D
IA & Estrategia
RTS Heuristics NavMesh / Grid Unity

Chess RTS 3D

Estrategia en tiempo real con mecánicas del ajedrez: sin turnos, con sistema de cooldowns, evaluación heurística de casillas y algoritmo de toma de decisiones para la IA enemiga.

📘

Libro Blanco de los Videojuegos

Capítulo Publicado / En Prensa

Coautor de capítulo derivado del Simulador de Física Orbital, documentando cuantitativa y cualitativamente el impacto de entornos lúdicos interactivos en la comprensión infantil de la gravedad y las mecánicas celestes.

Ingeniería de Software

Arquitectura & Código Limpio

Una muestra de cómo estructuro sistemas de gameplay desacoplados, shaders eficientes y lógica reactiva.

EnemyStateMachine.cs Pattern: Hierarchical State Machine · Zero Garbage Allocation
// Máquina de Estados para IA Enemiga (Beers & Crystals)
public abstract class EnemyState
{
    protected readonly EnemyController enemy;
    protected readonly StateMachine stateMachine;

    public EnemyState(EnemyController enemy, StateMachine sm)
    {
        this.enemy = enemy;
        this.stateMachine = sm;
    }

    public virtual void Enter() { }
    public virtual void LogicUpdate() { }
    public virtual void PhysicsUpdate() { }
    public virtual void Exit() { }
}

// Estado de Persecución con predicción de trayectoria
public class ChaseState : EnemyState
{
    public override void LogicUpdate()
    {
        float distToPlayer = Vector3.Distance(enemy.transform.position, enemy.Target.position);

        if (distToPlayer <= enemy.AttackRadius)
        {
            stateMachine.ChangeState(enemy.AttackTelegraphState);
            return;
        }

        if (distToPlayer > enemy.LoseAggroRadius)
        {
            stateMachine.ChangeState(enemy.PatrolState);
            return;
        }

        enemy.NavAgent.SetDestination(enemy.Target.position);
    }
}
LiquidWobble.hlsl HLSL · Custom Function for Unity URP & VR
// Cálculo del plano de corte de líquido con inercia física
void CalculateLiquidPlane_float(
    float3 worldPos,
    float3 vesselPos,
    float3 wobbleVector,
    float fillAmount,
    out float mask,
    out float3 liquidNormal
)
{
    // Vector normal de la superficie inclinada según aceleración
    float3 upVector = normalize(float3(0.0, 1.0, 0.0) + wobbleVector);
    liquidNormal = upVector;

    // Distancia vertical relativa al centro de la jarra
    float3 relPos = worldPos - vesselPos;
    float planeDistance = dot(relPos, upVector);

    // Borde afilado con antialiasing mediante fwidth
    float fillHeight = (fillAmount - 0.5) * 2.0;
    float delta = fwidth(planeDistance);
    mask = smoothstep(-delta, delta, fillHeight - planeDistance);
}
round_manager_device.verse UEFN · Verse Programming Language
# Dispositivo de control de ronda y puntuación competitiva (UEFN)
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

round_manager_device := class(creative_device):
    @editable EliminationTracker : elimination_feed_device = elimination_feed_device{}
    @editable RoundTimer : timer_device = timer_device{}

    var ActivePlayers : [agent]int = map{}

    OnBegin<override>()<suspends> : void =
        EliminationTracker.EliminatedEvent.Subscribe(OnPlayerEliminated)
        RoundTimer.SuccessEvent.Subscribe(OnRoundTimeExpired)
        InitializeRoundState()

    OnPlayerEliminated(Result : elimination_result) : void =
        if (EliminatingAgent := Result.EliminatingCharacter?.GetAgent[]):
            if (CurrentScore := ActivePlayers[EliminatingAgent]):
                if (set ActivePlayers[EliminatingAgent] = CurrentScore + 100):
                    CheckVictoryCondition(EliminatingAgent)
Perfil & Habilidades

Sobre Mí

Ingeniero en Videojuegos con mentalidad analítica, pasión por los sistemas desacoplados y la fidelidad gráfica en tiempo real.

🎮

Gameplay & Arquitectura

C#, C++, Blueprints & Verse

Diseño de arquitecturas desacopladas mediante State Machines (FSM), sistemas de eventos/delegados, generación procedural de niveles (BSP) y patrones orientados a datos.

✨

Shaders & Gráficos en Tiempo Real

HLSL, Shader Graph, Material Editor

Efectos de agua/líquidos interactivos, niebla volumétrica, disolución con máscaras, optimización de draw calls, perfilado de vertex/fragment cost y estética estilizada.

🥽

Realidad Virtual & Simulación de Físicas

XR Interaction Toolkit & PhysX

Interacciones con manos y cinemática en VR a 90 FPS estables. Simulación física: calibración de Wheel Colliders vehiculares y simulación de gravedad orbital $N$-cuerpos.

🛠️

Herramientas & Pipeline de Producción

Flujo de trabajo colaborativo

Unity 6, Unreal Engine 5, UEFN, Git/GitHub, Unity Profiler, Unreal Insights, REST APIs, SQL, Blender (básico) y PowerShell.

Trayectoria Profesional & Formación

Ago 2022 – Mayo 2026

Ingeniería en Videojuegos

Universidad de Guadalajara (CULagos)

Egresado con formación en matemáticas, física, algoritmos, gráficos por computadora y arquitectura de software. Título profesional en trámite de emisión.

Ene – Mar 2026

Verse Programmer (Becario)

C111 Studios · Remoto

Implementación de mecánicas de juego en Verse para experiencias Fortnite/UEFN con un equipo nacional de desarrollo en entorno de producción real.

2026 (En Curso)

BioRuta — Lead Game Developer

Proyecto de Investigación Académico

Desarrollo de videojuego serio en Unreal Engine 5.8 para investigación sobre educación en biomasa y energías limpias, coordinando telemetría para publicación científica.

Certificaciones Relevantes

UE5 Fundamentals U-Echo Training Center · 2025
Materials & Shaders in Unreal Engine U-Echo Training Center · 2025
Unity 2D Dungeon Gunner Roguelike Architecture Udemy · 2025
Hablemos de Videojuegos

¿Tienes un proyecto o vacante en mente?

Disponible para posiciones como Junior Gameplay Programmer, Technical Artist o colaboraciones freelance. Respuesta asegurada en menos de 24 horas.