このプロジェクトについて

Violencetownは、依存関係やビルドステップなしでブラウザから直接プレイ可能な、ミニマリストながらシステム豊かな2DアクションRPGです。HTML5 Canvasを使用した純粋なvanilla JavaScriptで構築されており、アーキテクチャの明快さと決定論的な設計を重視しています。ゲームは単一のワールドクロックで動作し、プレイヤーの入力ごとに1ターンが進むことで、戦闘、NPCの行動、昼夜のサイクルが同期されます。ラジアルアクションホイールは純粋なステートモデルを採用しており、単一の関数が影響を受けるタイルを決定するため、視覚的なフィードバック、フレンドリーファイアの確認、ダメージ処理の間で一貫性が確保されています。NPCは単一の「disposition(好感度)」スカラーによって制御され、これが会話、賄賂、同盟、商人の価格に影響を与え、社会的システムと経済的システムを統合しています。すべての乱数は再現性のためにシード化されており、セーブデータはlocalStorageを介して保持されます。世界は手作業で作成され、物理的な遷移によって接続された方向性のあるゾーン(Street, Sewer, Factory, Carnival, Graveyard, Wilderness)で構成されています。戦闘はフラットで決定論的であり、ダイスロールは存在せず、即座にフィードバックを得るためのタイプ別ヒットスプラットが実装されています。ゾーン追跡機能により、敵がエリアを越えてプレイヤーを追跡することができ、ドアはパイプでジャムさせて一時的な安全を確保することが可能です。コントロールはモーダルでキーボード中心ですが、ナビゲーションとUI用にタッチおよびマウス操作もサポートしています。プロジェクトには、完全なPWAセットアップ(manifest + service worker)、ライブリロード用の開発サーバー、およびNode.jsで動作する包括的なテストスイートが含まれています。設計上の決定は「plans/」ディレクトリに文書化されており、機能概要やリスクマトリクスが含まれています。サードパーティ製アセットには、それぞれのライセンスに基づくKenneyのCC0スプライトとVT323フォントが含まれています。コードベースはcombat、pathing、inventory、AIなどのコアモジュールを中心に構成されており、すべてユニットテストとメンテナンス性を考慮して設計されています。開発はGAME_STUDIO_PLAN.mdに概説された4ゲートパイプラインに従っています。アカウントやバックエンドは不要で、すべてクライアント側で動作します。