HN公開:宇宙海賊を描くターミナルゲーム「Rebels in the Sky」
(github.com/ricott1)- Rebels in the Skyは、企業が世界を支配した2101年を舞台に、プレイヤーが宇宙海賊クルーを作り、銀河をさすらいながらバスケットボールの対戦相手を探すターミナルゲーム
- ゲームは活発に開発中のため breaking change が頻繁に入り、古いセーブファイルが無効になった場合は新しいゲームを開始するか、セーブファイルをマイグレーションできるかをIssueで確認する必要がある
- すぐ試すには
ssh frittura.orgで frittura-hub に接続するか、Webハブでrebelsを選択できる - 実行はターミナルで
./rebelsを起動する方式で、推奨される最小ターミナルサイズは 160x48。一部のターミナルでは色の表示が良くない場合がある - デフォルトではローカルのボットチームが生成され、
-fフラグで無効化できる。今後プレイヤーが増えれば、デフォルトはオンラインチームのみに変更される予定
ゲーム設定と現在の状態
- Rebels in the Skyは2101年を舞台にしている
- 企業が世界を支配している状態
- 自由になる方法は、海賊クルーに加わって銀河を略奪すること
- 生き残る手段はバスケットボール
- プレイヤーは自分だけのクルーを作り、価値あるバスケットボールの対戦相手を探して銀河をさすらう
- ゲームは heavy development 状態で、breaking change が頻繁に導入される
- 古いセーブファイルが無効化され、続きからプレイできない場合がある
- その場合は新しいゲームを開始するか、セーブファイルをマイグレーションできるかIssueを開いて確認する必要がある
- Trailer on youtubeとWikiが提供されている
すぐ試す
- SSHで frittura-hub に接続してゲームを試せる
- コマンド:
ssh frittura.org
- コマンド:
- Webでもハブに接続した後、
rebelsを選択できる- アドレス:
https://hub.frittura.org
- アドレス:
インストールとビルド
- 自分でビルドするには、プラットフォームごとの依存関係が必要
- Linux:
libasound2-dev,cmake - MacOs:
cmake - Windows: cmake
- Linux:
- Rust toolchainが必要で、リポジトリをクローンした後、次のコマンドでビルドする
cargo build --release
cargoでインストールできるcargo install rebels
- 最新リリースのアセットを取得してインストールすることもできる
- リリースアセットは
https://rebels.frittura.orgからプラットフォームに合わせてダウンロードする - 実行ファイルには
chmod +x rebelsで実行権限を付与する
- リリースアセットは
- ディストリビューションのパッケージも提供されている
- Arch Linux: official repositoriesで
pacman -S rebels-in-the-sky - MacPorts: available portsで
sudo port install rebels-in-the-sky
- Arch Linux: official repositoriesで
実行環境とプレイ条件
- ゲームはターミナルアプリケーションとして実行される
- 実行コマンド:
./rebels
- 実行コマンド:
- 推奨される最小ターミナルサイズは 160x48
- すべてのターミナルがゲームの色をうまくサポートするわけではないため、別のターミナルを試す必要がある場合がある
- テスト済みのターミナルは次のとおり
- 現在はゲームをより楽しくするため、ローカルのボットチームがデフォルトで生成される
- 実行ファイルに
-fフラグを渡すと、この動作を無効化できる - 今後プレイヤーが増えれば、デフォルトはオンラインチームのみへ変更される予定
- 実行ファイルに
音楽とデータ
- 音楽はインターネットラジオからストリーミングされる
- ラジオ局をさらに追加するには、
assets/data/stream_data.jsonに含めればよい
コントリビューションとバグ報告
- ゲームにはまだ固定されたロードマップはない
- アイデアで参加したい人は discord に参加できる
- 旅の途中でバグに遭遇する可能性は非常に高い
- バグが発生したらIssueを開き、何が起きたかを説明する必要がある
- 開発者として貢献するには、pull requestを開くことができる
リレイヤーノードとSSHサーバー
- relayer node を実行すると、ゲームの分散化維持に役立つ
- 実行コマンド:
rebels -n - 他のプレイヤーは起動時に
rebels -i <RELAYER-NODE-IP4-OR-IP6>でそのリレイヤーに接続できる - リレイヤーを運用するなら、既知のリレイヤー一覧にアドレスを追加するPRを開くことを検討できる
- 実行コマンド:
- リレイヤーを実行するには、
relayer機能を有効にしてビルドする必要があるcargo build --release --features "relayer"
- SSH server も実行できる
- 実行コマンド:
rebels -j - 他のプレイヤーは
ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788で接続できる
- 実行コマンド:
- SSHサーバーを実行するには、
ssh機能を有効にしてビルドする必要があるcargo build --release --features "ssh"
ライセンス
- このソフトウェアは GPLv3 ライセンスで配布されている
1件のコメント
Hacker News のコメント
自分のサーバーではトラフィックをさばききれないのですが、むしろこのゲームが動き続けるのに中央権限を必要としないことを示す機会のように思います。
85.214.130.204 に別のリレーノードと SSH ノードを立ててあり、
ssh 85.214.130.204 -p 3788で接続できます。ただし、リレーは以前のサーバーに接続しようとするため、動作しない可能性があります。あるいは、ローカルクライアントを
rebels -i 85.214.130.204フラグ付きで実行して、代替リレーノードの IP アドレスを指定すればよいです。トレーラーのリンクが動かない場合は別のリンクがあります: https://rebels.frittura.org/demo_v1.0.18.mp4
https://github.com/user-attachments/assets/aaa02f04-06db-4da...
それに thug boy の曲が Fist of the North Star を強く思い起こさせて、首が折れそうになりました。素晴らしい選曲です。
惑星/衛星のアニメーションが本当に格好いいです。
FTL を遊んでいた友人がいたのですが、ずっとそれをただの格好いいターミナルゲームだと思っていました。
本当に面白いです! Windows Terminal でもちゃんと動きます。マウス、キーボード、色のどれも問題ありません。
かなり独創的に見えますが、慣れるには少しハードルが高そうです。あとで試してみるつもりです。
フィードバックすると、テーマが多く混ざりすぎていて、動画を見てもゲームプレイがどういうものか把握しにくいです。たとえば、いつ行動しているのか、いつ画面を移動しているのかがうまく区別できません。
完全なP2P ゲームというアイデアが興味深いです。ユーザー同士ではどんなやり取りができますか?
こうしたやり取りは、終わったときに一貫した状態が保証される必要があるため、TCP ハンドシェイクに似た方法で処理します。たとえば選手のトレードは、両側で一貫して反映されなければなりません。
そのため、リアルタイムのやり取りは簡単ではありません。互いに挑戦するときも、プレイヤーはゲームの初期条件にだけ合意し、その後の試合は双方のクライアントで独立して決定論的にシミュレーションされます。
README の動画は、すべてのブラウザで動作するわけではなさそうです。私の場合は Firefox で動きません。
このゲームは Godot で作られたものですか? itch の pixel planet generator アセットを使っているように見えます。
https://deep-fold.itch.io/pixel-planet-generator