電子辞書Brainをいじる (5) Brainuxでゲームをインストールして遊ぶ


Table of Contents

rainuxでゲームをインストールして遊ぶ

BrainuxはDebian11 ベースのLinuxOSですので、
Debian レポジトリや、Linux用ソフトウェアをインストールすることができます。

ただ、ゲームをインストールできたとしても、
Brainのマシンスペック(CPU性能、メモリ、Disk性能、画面解像度)や、前提ソフトウェアの有無、バージョンなどによってうまく動かないことがあります。

 

ゲームの探し方

Linuxゲームの導入は、いろいろ探せます。

例えば、Debian 11 (bullseye) レポジトリのGames サブセクションをのぞいてみたりすると、
大量のソフトウェアパッケージが見つかります。

“bullseye” のサブセクション games に含まれるソフトウェアパッケージ
https://packages.debian.org/ja/bullseye/games/

もちろんすべて動くわけではなく、特に近年の3Dをバリバリに使っているものとか、
最新のライブラリを使っているものとかはかなり厳しいです。
音楽については、USBサウンドデバイスを付けていれば鳴るものもありますが、その分ゲームのパフォーマンスに影響が出るものもあります。

昔のコンソール版ソフトウェアとか、X11,GTK, SDL1.2あたりを使っているソフトであれば、意外といける可能性が高いです。

逆にSDl2、OpenGLあたりを使っている場合は、結構厳しいものが多いかもしれません。

(どのライブラリを使用しているかどうかは、パッケージ一覧からソフトウェアの詳細に関連パッケージが表示されるので、なんのライブラリをインクしているかで推測できます。)

ほかにも、ソースでゲームを公開していることろもありますので、
いろいろ探してみましょう。

Debian ゲームポータル

newbreedsoftware

 

ゲームを動かしてみる

試しにいくつかのゲームカテゴリのソフトウェアを導入してみました。

コンソールソフトウェア

〇 nettoe     コンソール用ネットワーク版 Tic Tac Toe (3×3 盤、三目並べ)

 実行OK。コンピュータ対戦可能な三目並べです。。

 インストール:APT経由 ”sudo apt install nettoe”

———- 

〇 bsdgames     UNIX の古典的なテキスト版ゲームコレクション

 実行OK。たくさんのゲーム(40個くらい)がインストールされますが、
 メッセージがすべて英語なので、遊び方がよくわからないのが多いです。
 詳細が知りたければ、man <ゲームコマンド>で説明相が読めます。(詳細)

    adventure, arithmetic, atc, backgammon,
    battlestar, bcd, boggle, caesar, canfield, countmail, cribbage, dab,
    go-fish, gomoku, hack, hangman, hunt, mille, monop, morse, number,
    pig, phantasia, pom, ppt, primes, quiz, random, rain, robots, rot13,
    sail, snake, tetris-bsd, trek, wargames, worm, worms, wump, wtf

   ルールがわかりやすいのはこの辺でしょうか?
    ゲーム:
     arithmetic  対話型の計算ゲーム
     gomoku   コンピュータ対戦可能な五目並べ
     hack    元祖アクションRPG”ローグライクゲーム”の諸派の中でも有名な
           nethack の前身
     hangman  単語当てゲーム
     snake    スネークに捕まらないようにお金を回収するゲーム
     tetris-bsd   テトリス(j:左移動 k:回転 l:右移動 スペース:落下)
     worm    一般的にスネークゲームと呼ばれているゲーム
    環境表示ソフト
     rain    コンソール上に水を張り、そこに雨粒を落としたような
           エフェクトがかかる環境表示コマンド。
           -d 100ぐらいがちょうどいいかも。
     worms   端末に蟲を這わせる感じの環境表示コマンド。
           オプションでいろいろ表示を変えられるらしいです。

 インストール:APT経由 ”sudo apt install bsdgames”

———- 

〇 bastet     テトリスのテキストバージョン

 BSD ゲームコレクションにあるものよりも Bastest の方が出来がいいよと言われています。
 実際ブロック(テトロミノ)がカラフルなため、画面映えもこちらのほうがいいです。

 なぜか最初X上のターミナル上では、ゲーム画面の操作するブロック(テトロミノ)が
 表示されませんでした。(lxterminalの仕様か、フォントの問題かもしれません。)

 ただ、X上でない素のコンソールや、fbterm上で起動した場合は正常に表示されて
 ゲームもできましたし、その後Brainuxを再起動したところ、正常に動きました。
 (BrainのX上のターミナルからssh localで自分にログインしたら正常に表示されました。謎)

  インストール:APT経由 ”sudo apt install bastet”

———- 

△ ninvaders   古典的なアーケード ゲームのスペース インベーダーのクローン

 古典的なアーケード ゲームのスペース インベーダーのクローンです。

 インストールしてみたところ、どの環境(素のコンソール、X上のターミナル等)でも
 ゲームが始まると、キー入力ができなくなりました。
 ・キー入力できない以外は動いているようです。
 ・ゲームは始める前まではキー入力は反応。

 Souceからバイナリを再構築してみましたが、現象一緒なので、いったん断念します。 

 インストール1:APT経由
$ sudo apt install ninvaders

 インストール2:Debian 11 リポジトリソースからインストール(0.1.1-4)
$ cd
$ mkdir ninvaders
$ cd ninvaders
$ sudo apt install build-essential libncurses5-dev git
$ sudo apt install devscripts build-essential
$ apt source ninvaders
$ cd ninvaders-*
$ sudo dpkg-buildpackage -us -uc
$ cd ..
$ ./ninvaders-*/ninvaders #動作チェック
$ cd ..
$ sudo dpkg -i ninvaders_0.1.1-4_armel.deb

 インストール3:非公式サイトからソースを入手してからインストール(0.1.0)
$ cd
$ mkdir ninvaders
$ cd ninvaders
sudo apt install build-essential libncurses5-devs
$ git clone https://github.com/doctorfree/ninvaders.git
$ cd ninvaders
$ ./mkpkg
<エラー>
$ mkdir build2
$ cd build2
$ cmake ..
$ cmake –build .
$ make
$ ./ninvaders #動作チェック
$ cmake –install

(追記)
原因わかりました。
Brainの画面描画の速度が遅すぎて、デフォルトの50FPSだと、自機表示やインベーダなどを動かしているタイマー割込み処理が間に合わず、キー入力ルーチンが呼ばれない状況になっていたのが原因でした。
インストール3のソース(1.0.0)で20FPSあたりまで下げると、X11ではない素のシェル上では動くようになりました。
ただ、このゲームの場合、「FPSが下がる=難易度が下がる」なので、この辺はなかなか難しいところです。

変更箇所
nInvaders.c 33行目付近

#define FPS 50

#define FPS 20

(なお、インストール2のソース(0.1.1)では、15FPSぐらいまで落としたほうがよさそうです。)

ソース見ていたら、普通は 左右のカーソルキーとスペースで操作だけど、
h,lで移動、kでショット、pで音時停止。”W”で次のレベル。”L”で前のレベルになるらしい。(これ隠しコマンドかな?)

———- 

〇 moon-buggy  危険なクレーターを飛び越えて月の表面を横切って進んで行くゲーム

 実行コマンドは「moon-buggy」になります。
 Space or j ジャンプ
 a or l レーザー発射(岩が出てきたら破壊する用)

 検証予定
 危険なクレーターを飛び越えて避けようとしながら月の表面を横切っていくゲームです。
 

 インストール:APT経由 ”sudo apt install moon-buggy”

———-

〇 Pacman4console パックマンのターミナル版

 起動は、「pacman4console」です。

 起動には、29x32のキャラクターサイズが入るウィンドウが必要なので、
 X上のターミナルでは起動不可でした。
 素のshell上であれば、起動できます。

 移動はカーソルキーです。
 迷路はレベルごとに変わり、9種類あるそうです。
 (起動時に –level=[1..9]で指定したLEVELから起動できます。)

 また、自分で迷路を作ることも可能だそうです。

 インストール:APT経由 ”sudo apt install pacman4console”

———- 

〇 2048      4×4のタイル上で番号のブロックを結合して2048を目指すゲーム

 起動は、「pacman4console」です。 2048は戦略的で非常に中毒性のあるゲームです。
 目標はスコアを2048にすることです。
 意外とはまるパズルゲームです。

 インストール:APT経由 ”sudo apt install 2048”

———-

△ asciijump   小さくかわいいアスキーアートスキージャンプゲーム

 小さくかわいいアスキーアートスキージャンプゲーム

 これは非常にかわいらしいマルチプレイヤゲームであり、友達やコンピュータと
 対戦できます。ワールドカップモードと訓練モードという二種類のプレイモードが
 あります。 例えばチョモランマやフィンランドといった数種類の山を選択できます。

 aptでインストールしましたが、動きませんでした。
 少し調べたところ、ソースにパッチ当てが必要とのことで、
 レポジトリからソースを取得して、パッチを当てて再構築します。

 すると、ゲームが動くようになりました。

 インストール1:APT経由 ”sudo apt install asciijump”

 インストール2:レポジトリからソースを入手してパッチ適用後にインストール

$ cd
$ mkdir asciijump
$ cd asciijump
$ sudo apt install -y devscripts
$ sudo apt build-dep -y asciijump
$ apt source asciijump
$ cd asciijump-1.0.2~beta/
$ wget https://gist.githubusercontent.com/mt08xx/9cdf4bebed3b04509253f8778620372b/raw/cf94da0d0debb80cf8b016636fca325acb3e452e/xfnc.c.patch -O ./debian/patches/xfnc.c.patch
$ echo xfnc.c.patch >> debian/patches/series
$ debuild -us -uc

$ ./asciijump #動作確認

$ sudo apt remove -y asciijump
$ sudo apt install -y ../asciijump_1.0.2~beta-10_armel.deb

$ asciijump

———- 

X11ライブラリを利用したソフトウェア

〇 pacman     迷宮でモンスターを追いかける(パックマン風ゲーム)

 実行OK。問題なく遊べるパックマンです。音楽はありません。

 インストール:APT経由 ”sudo apt install pacman”
 以下のメッセージが出て実行に失敗する場合

 以下の通り、別途フォントを導入してみてください。

 音楽が欲しければ、X11版のドットイートゲームもいくつかあります。

———- 

QTライブラリを利用したソフトウェア

✕ 2048-qt    QT版の2048(番号のブロックを結合して2048を目指すゲーム)

 実行はできるが、非常に遅いです。(CPU100%になってました。)。
 また、画面解像度が足りなくて、4x4のマスのうち一番下の4マスが表示されません。
 なのでこれで遊ぶのは難しいかと(コンソール版で遊びましょう)
 
 インストール:APT経由 ”sudo apt install 2048-qt”

———- 

GTKライブラリを利用したソフトウェア

〇 aisleriot     GNOME ソリティアカードゲーム集

 80以上の様々なソリティアカードゲームのコレクションです。
 有名な spider, freecell, klondike, thirteen (pyramid), yukon, canfield などの変種の他にも
 数多くのゲームが含まれます。

 最初起動方法がわからなかったのですが、
 起動は「sol」コマンドで、まずは ”Freecell”のゲーム画面が表示されます。
 また、 Game->Select Gameで、いろんなソリティアゲームに一覧が表示されます。

 インストール:APT経由 ”sudo apt install aisleriot”

———- 

liballegroライブラリを利用したソフトウェア

✕ open-invaders   Space Invaders clone

 コマ落ちあり、画面入りきらないので、自機が表示されず、遊ぶには難しい。
 USBサウンドデバイスを付けると音が鳴りますが、結構な頻度で途切れます。
 が、画面は派手に動くので、画面デモにはいいかもしれません。

 インストール:APT経由 ”sudo apt install open-invaders”

———- 

〇 garden-of-coloured-lights 音楽の要素を持つ抽象的な縦スクロールシューティングゲーム

起動は「garden」で実行できます。

 十分遊べる立シューティングゲームです。音ありでもなんとか遊べる速度です。
 画面が若干大きいですが、最上位表示+移動すればなんとかなります。

   ・LayerをAboveに変更
   ・Moveで、ゲーム画面全体が表示されるように、Windowを上に移動する。
    (移動すると、ウィンドウから終了はできないので、
     メニューや「ESC」キーで終了できます。)

   音を鳴らしていると、音がとぎれとぎれになってコマ落ち感はあるけど、
   音がなければ、気にならずに十分遊べそうです。

 インストール:APT経由 ”sudo apt install garden-of-coloured-lights”

———- 

SDL1.2ライブラリを利用したソフトウェア

〇 hannah     pacman-like game, child oriented (パックマン風のドットイートゲーム)

 パックマンライクなドットイートゲームです。
 起動そのままの状態では、Brainの解像度の関係で迷路の一番下が隠れているので、
 そこは残念ですが、速度、音楽(要USBサウンドデバイス)ともに正常に遊べます。

 ゲーム自体は以下のようにすれば、画面を移動することで、
 ゲーム画面すべてを表示させて遊べます。
  ・LayerをAboveに変更
  ・Moveで、街路全体が表示されるように、Windowを上に移動する。
   (移動すると、ウィンドウから終了はできないので、コンソールから
    Ctrl+Cで終了する必要があります。)

 インストール:APT経由 ”sudo apt install hannah”

———- 

✕ njam      pacman-like game with multiplayer support(ドットイートゲーム)

 Brainでは解像度が足りなくて、起動できませんでした。
 (起動には 800x600x16bit の解像度が必要。)

 インストール:APT経由 ”sudo apt install njam”

———- 

〇 gemdropx    Gem Drop X – X11 用のアクションパズルゲーム(Magical Drop風ゲーム)

 Windowの画面位置を調整する必要がありますが、十分遊べます。
 (A,Z,カーソルで操作できます。)
  
 ゲーム自体は、以下のようにすれば、画面を移動して遊べます。
  ・LayerをAboveに変更
  ・Moveで、街路全体が表示されるように、Windowを上に移動する。
   (移動すると、ウィンドウから終了はできないので、”ESC”キーで終わらせられます。)
 USBサウンドデバイスを付ければ、音楽も聴けます。

 インストール:APT経由 ”sudo apt install gemdropx”

———- 

△ mazeofgalious  Galious の迷宮(MSX版クローン) 

 実行コマンドは、”mog”です。

 MSX版のガリウスの迷宮クローンです。
 音楽もなりますが、非常に遅いです。

 ただ音無しならば、遅いなりに何とかプレイ可能なレベルで動きます。 
 が快適とまではいかないので、最後まで遊ぶには厳しいかも。

 インストール:APT経由 ”sudo apt install mazeofgalious”

———- 

カテゴリー: Brain, Brainux パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です