Sobre el proyecto
Violencetown es un action-RPG 2D minimalista pero rico en sistemas, jugable directamente en el navegador sin dependencias ni pasos de compilación. Construido enteramente en vanilla JavaScript utilizando HTML5 Canvas, enfatiza la claridad arquitectónica y el diseño determinista. El juego opera bajo un único reloj mundial: cada entrada del jugador avanza un turno, sincronizando el combate, el comportamiento de los NPC y los ciclos de día/noche. Su rueda de acción radial utiliza un modelo de estado puro donde una sola función determina las casillas afectadas, asegurando la consistencia entre la retroalimentación visual, la confirmación de fuego amigo y la resolución de daños. Los NPC se rigen por un único escalar de 'disposition' que influye en el diálogo, los sobornos, las alianzas y los precios de los mercaderes, unificando los sistemas sociales y económicos. Toda la aleatoriedad está sembrada para su reproducibilidad, y las partidas se guardan a través de localStorage. El mundo está creado a mano con zonas direccionales (Street, Sewer, Factory, Carnival, Graveyard, Wilderness) conectadas por transiciones físicas. El combate es plano y determinista —sin tiradas de dados— con hit-splats tipificados para una retroalimentación inmediata. La persecución de zona permite que los enemigos sigan a los jugadores a través de las áreas; las puertas pueden bloquearse con tuberías para obtener seguridad temporal. Los controles son modales y centrados en el teclado, con soporte táctil/ratón para la navegación y la interfaz de usuario. El proyecto incluye una configuración completa de PWA (manifest + service worker), un servidor de desarrollo para recarga en vivo y una suite de pruebas exhaustiva que se ejecuta en Node.js. Las decisiones de diseño están documentadas en el directorio 'plans/', incluyendo resúmenes de funciones y matrices de riesgo. Los activos de terceros incluyen los sprites CC0 de Kenney y la fuente VT323 bajo sus respectivas licencias. El código base está estructurado en torno a módulos centrales como combate, pathing, inventario e IA, todos diseñados para pruebas unitarias y mantenibilidad. El desarrollo sigue un flujo de trabajo de cuatro puertas detallado en GAME_STUDIO_PLAN.md. No requiere cuentas ni backend: todo se ejecuta en el lado del cliente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.