Sobre o projeto
Violencetown é um action-RPG 2D minimalista, porém rico em sistemas, jogável diretamente no navegador sem dependências ou etapas de build. Construído inteiramente em vanilla JavaScript usando HTML5 Canvas, ele enfatiza a clareza arquitetural e o design determinístico. O jogo opera em um único relógio de mundo: cada entrada do jogador avança um turno, sincronizando o combate, o comportamento dos NPCs e os ciclos de dia/noite. Sua roda de ação radial utiliza um modelo de estado puro onde uma única função determina os tiles afetados — garantindo consistência entre o feedback visual, a confirmação de fogo amigo e a resolução de dano. Os NPCs são governados por um único escalar de 'disposition' que influencia diálogos, subornos, alianças e preços de mercadores — unificando os sistemas sociais e econômicos. Toda a aleatoriedade é semeada para reprodutibilidade, e os saves persistem via localStorage. O mundo é criado manualmente com zonas direcionais (Street, Sewer, Factory, Carnival, Graveyard, Wilderness) conectadas por transições físicas. O combate é plano e determinístico — sem rolagens de dados — com hit-splats tipados para feedback imediato. A perseguição por zona permite que inimigos sigam os jogadores entre áreas; portas podem ser travadas com canos para segurança temporária. Os controles são modais e centrados no teclado, com suporte a toque/mouse para navegação e UI. O projeto inclui uma configuração completa de PWA (manifest + service worker), servidor de dev para live reload e uma suíte de testes abrangente executada em Node.js. As decisões de design estão documentadas no diretório 'plans/', incluindo briefs de funcionalidades e matrizes de risco. Ativos de terceiros incluem sprites CC0 do Kenney e a fonte VT323 sob suas respectivas licenças. A base de código é estruturada em torno de módulos principais como combate, pathing, inventário e AI, todos projetados para testes unitários e manutenibilidade. O desenvolvimento segue um pipeline de quatro etapas descrito no GAME_STUDIO_PLAN.md. Não são necessárias contas ou backend — tudo funciona no lado do cliente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.