À propos du projet
Violencetown est un action-RPG 2D minimaliste mais riche en systèmes, jouable directement dans le navigateur sans dépendances ni étapes de build. Entièrement construit en JavaScript vanilla utilisant HTML5 Canvas, il privilégie la clarté architecturale et une conception déterministe. Le jeu fonctionne sur une horloge mondiale unique : chaque entrée du joueur fait avancer un tour, synchronisant les combats, le comportement des NPC et les cycles jour/nuit. Sa roue d'action radiale utilise un modèle d'état pur où une seule fonction détermine les tuiles affectées, assurant la cohérence entre le retour visuel, la confirmation des tirs alliés et la résolution des dégâts. Les NPC sont régis par un scalaire unique de « disposition » qui influence les dialogues, les pots-de-vin, les alliances et les prix des marchands, unifiant ainsi les systèmes sociaux et économiques. Tout le hasard est basé sur des graines pour permettre la reproductibilité, et les sauvegardes persistent via localStorage. Le monde est conçu à la main avec des zones directionnelles (Street, Sewer, Factory, Carnival, Graveyard, Wilderness) reliées par des transitions physiques. Le combat est plat et déterministe — sans jets de dés — avec des hit-splats typés pour un retour immédiat. La poursuite de zone permet aux ennemis de suivre les joueurs à travers les aires ; les portes peuvent être bloquées avec des tuyaux pour une sécurité temporaire. Les commandes sont modales et centrées sur le clavier, avec un support tactile/souris pour la navigation et l'UI. Le projet inclut une configuration PWA complète (manifest + service worker), un serveur de développement pour le rechargement en direct et une suite de tests complète s'exécutant sous Node.js. Les décisions de conception sont documentées dans le répertoire 'plans/', incluant des briefs de fonctionnalités et des matrices de risques. Les ressources tierces comprennent les sprites CC0 de Kenney et la police VT323 sous leurs licences respectives. Le code est structuré autour de modules centraux tels que le combat, le pathing, l'inventaire et l'IA, tous conçus pour les tests unitaires et la maintenabilité. Le développement suit un pipeline à quatre portes décrit dans GAME_STUDIO_PLAN.md. Aucun compte ni backend n'est requis — tout s'exécute côté client.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.