---
title: "Hall of Worlds"
url: "https://aigamehub.app/ja/games/game-00958d"
source: "https://github.com/Rycochet/game"
source_type: "github"
play_url: "https://hallofworlds.app/"
platform: "both"
login_required: false
pricing: "free"
origin: "original"
ai_tools: ["Claude Code"]
game_languages: ["en"]
author: "Rycochet"
author_handle: "Rycochet"
category: "アクション"
categories: ["action", "adventure"]
tags: ["multiplayer", "open-source", "procedural-generation", "roguelike", "rust"]
added: "2026-11-11T06:09:34.680Z"
updated: "2026-11-11T06:09:36.305Z"
locale: "ja"
content_locale: "ja"
---

# Hall of Worlds

無限に手続き生成される世界を持つマルチプレイヤー・ローグライク。ネイティブアプリとしても、ブラウザー内の WebAssembly クライアントとしてもプレイ可能。

## Description

Hall of Worlds は、無限に手続き生成される世界を持つマルチプレイヤー・ローグライクであり、Rust と Bevy エンジンで書かれています。クライアントは Windows、macOS、Linux 上でネイティブに動作し（これらのプラットフォームではシングルプレイ用のサーバーを含みます）、またはブラウザー内の WebAssembly ビルドとして動作し、WebSockets 経由で別個の権威サーバーに接続します。ホストされた Docker インスタンスも利用可能です。プレイヤーはマップをクリックするか、矢印キーを使って移動します。リポジトリには、ネイティブおよび Web ターゲット向けのビルドと実行の手順が含まれています。

## Original post

Roguelike MMO with near infinite worlds

Topics: claude-code, game, mmo, open-source, roguelike

# Hall of Worlds A multiplayer roguelike with an infinite, procedurally generated world. - <https://hallofworlds.com>: landing page and email (not live yet) - <https://hallofworlds.app>: the game, running the Docker image - <https://hallofworlds.wiki>: game documentation, from [`docs/`](docs/) ## Development The game is written in [Rust](https://www.rust-lang.org/) using the [Bevy](https://bevy.org/) game engine. It has two parts: - **Client** (`hall-of-worlds`): the game itself, as a native app (Windows, macOS, Linux) or WebAssembly in the browser. Native clients include the server for single player; the browser client only connects to a server. - **Server** (`hall-of-worlds-server`): the authoritative game server, native only. Players connect over WebSockets, on the same port that serves the web client. The Docker image runs it. ### One-time setup (Windows) 1. Install the Visual Studio C++ Build Tools (with the "Desktop development with C++" workload): <https://visualstudio.microsoft.com/visual-cpp-build-tools/> 2. Install Rust: `winget install Rustlang.Rustup` (or <https://rustup.rs/>), then open a new terminal. 3. Install Trunk, the web build tool: `cargo install --locked trunk` 4. Install Visual Studio Code <https://code.visualstudio.com/> and accept the recommended extensions when you open this folder. 5. Turn on the pre-commit lint check: `cargo xtask hooks` `rust-toolchain.toml` makes Rust download the correct compiler and WebAssembly target automatically on the first build. On Linux you also need some system libraries, see <https://bevy.org/learn/quick-start/getting-started/setup/>. ### Running | What | Command | VSCode | | ------------------------- | ----------------------- | ------------------------------------------ | | Run natively | `cargo run` | Task "Run (native)", or F5 to debug | | Run the standalone server | `cargo run -p server` | | | Run in a browser | `trunk serve` | Task "Serve (web)", then <http://localhost:3000/web/> | | Release build (native) | `cargo build --release` | Task "Release build (native)" | | Release build (web) | `trunk build --release` | Task "Release build (web)", output in `dist/` | | Test (before merging) | `cargo xtask test` | Task "Test" | | Lint | `cargo clippy` | Shown automatically in the editor | | Format | `cargo fmt` | Automatic on save | The first build downloads and compiles Bevy, which takes several minutes. Later builds are much faster. `cargo xtask test` checks formatting, type-checks/lints the native and web builds with warnings treated as errors, and runs the tests. Run it before merging: GitHub's "Check" workflow only runs `cargo check --release` for now. Source code is in `crates/`: `shared` holds game rules and world generation used by both sides, `client` is the game app, `server` is the game server. Images/sounds/fonts go in `crates/client/assets/`. In the game, click the map or use the arrow keys to move (see [Controls](docs/controls.md)). Build output goes in `target/` (native) and `
