Un RPG retro construido desde cero con JavaScript Vanilla + TypeScript. Porque a veces lo mejor es no depender de frameworks y demostrar que entendés el lenguaje de verdad.
JS-Dungeon es un dungeon crawler en tiempo real (explorás, looteás, farmeas, peleás...) construido desde cero, sin engines, sin librerías externas, pura lógica y uso eficiente de las herramientas que ofrece vanilla JS/TS.
No es un proyecto de bootcamp. Es mi laboratorio personal: Se me ocurren nuevas features, exploro mis herramientas, creo nuevas, refactorizo antiguas, replanteo arquitectura y planeo escalabilidad. Desarrollo. ✨
| Feature | Estado |
|---|---|
| ⚔️ Combate, looteo y crafting | ✅ Funcional |
| 🩸 Sistema de estados alterados (veneno, sangrado, quemadura) | ✅ Con ticks independientes |
| 🤖 IA de patrullas configurable (velocidad, patrón, agresividad) | ✅ |
| 📖 Bestiario con desbloqueo progresivo | ✅ |
| 🔍 Inspector de criaturas con stats y drops | ✅ |
| 🎒 Inventario + equipamiento + crafting | ✅ Escalable |
| 🗺️ Mapas (Mines / Caves) | ✅ |
| 📝 Código tipado (TypeScript) | ✅ |
JavaScript · TypeScript · React · HTML5 · CSS3 · Git · GitHub · Vercel
Vivo, estable y en constante evolución.
Ahora estoy puliendo la experiencia: que el juego se explique solo, sin tutoriales externos.
- Tooltips informativos en cada estadística
- Inspector de enemigos con desbloqueables por kills
- Velocidades individuales de patrullas (Goblin veloz ≠ Goblin veterano)
- El foco ya no se pierde al clickear fuera del mapa
- Balance de armas, drops y enemigos
- Nuevos mapas con objetivos concretos
- Sistema de mejoras de equipo ([ Mazo ] ➡ [ Mazo +1 ] ➡ [ Mazo ⭐ ])
- ¡Más adelante: magias, bosses y área de efecto!
- 📄 CHANGELOG.md — Registro técnico por versión (estilo profesional).
- 🧠 devlog.md — Bitácora informal con decisiones, ideas, errores y catarsis del dev.
MIT. Podés leer los detalles en el archivo LICENSE.
¿Feedback, bugs o sugerencias? Me sirven para ser mejor dev.
Amo programar, amo crear y romperme la cabeza con código. Gracias por llegar hasta acá.