Videojuego · Unity 6

Oakhaven: Videojuego 2D estilo Bloodborne

Videojuego de acción 2D gótico-industrial inspirado en Bloodborne y en los metroidvania como Blasphemous. Eres un Sepulturero que recorre Oakhaven, una ciudad victoriana hundida en una noche eterna, enfrentando licántropos de hollín y vampiros aristócratas con espada en una mano y pistola en la otra. Desarrollado en Unity 6 con C#.

Oakhaven, videojuego 2D de acción gótica estilo Bloodborne
🗡️

Acción Gótica 2D

Soulslike · Metroidvania

Arte del Juego

Hojas de concepto y sprites de los enemigos y del mundo de Oakhaven

Hoja de arte conceptual del mundo de Oakhaven: distritos, monstruos y armas
El mundo de OakhavenDistritos, monstruos, el Sepulturero, armas y secuencias de storyboard.
Hoja de sprites del enemigo El Relojero Corrupto
El Relojero CorruptoConcepto, animación de reposo, ataques y ciclo de caminata del enemigo.
Hoja de sprites del enemigo El Taxidermista Dorado
El Taxidermista DoradoAtaque con garra, rociado con jeringa y efectos visuales.

Características Principales

Los sistemas que hacen que se sienta como un soulslike

⚔️

Combate con Espada y Pistola

Ataques cuerpo a cuerpo con estoques y machetes mecánicos, y disparo con la mano secundaria para interrumpir y romper la guardia del enemigo.

💨

Esquiva y Magia

Esquiva con ventana de invulnerabilidad y tónicos alquímicos que potencian al personaje a costa de su cordura.

📈

Progresión Estilo Elden Ring

Seis atributos, nivel que se sube con Ecos de Óleo en los Faroles de Vigilia y armas que se mejoran de +0 a +10.

🗺️

Mundo Metroidvania

Diez regiones interconectadas en forma de cruz, con atajos, hogueras que guardan la partida y fuentes para viajar rápido.

🎮

Cooperativo Local

Dos jugadores en la misma pantalla, cada uno con su HUD, su personaje y su mando o mitad del teclado, con cámara compartida.

💬

Lore y Diálogos

Una biblia de lore propia, NPCs con los que se puede hablar, enemigos con frase de presentación y jefes con su barra de vida.

Stack Tecnológico

Motor, lenguaje y herramientas del juego

🎮Unity 6
#️⃣C#
💡URP 2D
🕹️Input System
🎥Cinemachine
✅Unity Test Framework

Desafíos y Soluciones

Problemas técnicos resueltos durante el desarrollo

1

Un Mapa Grande sin Cargas Eternas

Un mundo metroidvania en una sola escena es lento de editar y pesa en memoria; una escena por sala serían cientos de escenas.

Solución: Diseño híbrido: una escena por región dividida en salas, con la cámara que se encaja en cada sala y cargas solo al cruzar entre regiones.
2

Daño Justo y Balanceable

El daño tenía que depender del arma, su nivel de mejora, los atributos y la defensa del enemigo sin volverse imposible de ajustar.

Solución: Un núcleo de cálculo en C# puro con las fórmulas de Elden Ring y los valores en un ScriptableObject de ajuste, cubierto con tests.
3

Dos Jugadores en la Misma Pantalla

Todo el juego asumía un único jugador: entradas, enemigos, recogibles y la cámara.

Solución: Un registro de jugadores locales con mapas de entrada por jugador; enemigos, objetos y eventos ahora manejan varios jugadores.
4

Construir Niveles a Mano Era Lento

Armar cada nivel y cada personaje en el editor tomaba demasiado tiempo y era fácil equivocarse.

Solución: Builders por código en el editor de Unity que generan regiones, personajes y menús a partir de definiciones.

Código Fuente

Explora mis proyectos en GitHub. Este incluye los sistemas de combate, progresión, multijugador local y los builders de niveles.

🎮Unity 6
#️⃣C#
👥Co-op local
Ver GitHub

¿Tienes la idea de un videojuego?

Puedo ayudarte a llevarla a Unity: mecánicas, sistemas de progresión y prototipos jugables