電子辞書Brainをいじる (8) Brainuxでゲームをインストールして遊ぶ (3) 特殊ライブラリ系(liballegro,python3-pygame)


———- 

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

✕ open-invaders   Space Invaders clone

https://packages.debian.org/bullseye/open-invaders

起動:open-invaders

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

 遊ぶなら、コンソール版のninvaders をどうぞ。

 詳しい説明は、man open-invadersで確認してください。

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

 

———-

◎ wing      縦方向シューティングゲーム (2025/12/13追加)

https://packages.debian.org/bullseye/wing

起動:wing

ギャラガライクなアーケードゲーム
WING は、ギャラガをやっつけるアーケードゲームです。
あらかじめ描画される 高品質なグラフィック、動的に生成される背景の星々、
コンピュータが操る敵と 戦う 1 人用ゲーム、6 段階のゲームレベル、
デジタル音響効果、デジタルミュー ジックストリーム、ハイスコアリストなどの
機能を備えています。

ギャラガライクとなっていますが、普通に縦方向シューティングゲームです。
決められた敵の数を破壊すると、レベルクリアになります(この辺がギャラガ的)。
ダメージはシールド制です。

OPTIONS
   -w     run wing in windowed mode.

KEYS
   Left, Right, Up, Down
          Move the ship across the screen.
   Ctrl   Fire.

   F1, F2, F3, F4
          Change current weapon. Available weapons  are  laser  (default),
          minigun, plasma and torpedo.

   Esc    Escape  from  the  current  menu. If in the main menu, quits the
          game.

音ありでもそれなりの速度で動きます。(音はとぎれとぎれですが)
また、F1,F2,F3,F4で自機の弾を変えられます。
brain本体のキーボードにはファンクションキーはないので、USBキーボードをつなぐか、
windowモードで起動してソフトウェアキーボードと併用してください。

 詳しい説明は、man wingで確認してください。

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

 

———- 

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

https://packages.debian.org/bullseye/garden-of-coloured-lights

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

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

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

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

 カーソルキー:移動
 キーマッピングの設定変更もSet keysから出来ます。

 詳しい説明は、man gardenで確認してください。

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

 

———–

◎ kraptor クラシックなシューティングスクロールゲーム

https://packages.debian.org/bullseye/kraptor

起動:kraptor

Kraptorは、多数の敵と戦う定番のシューティングスクロールゲームです。ハイスピードアクション、大規模な破壊、そして楽しさ満載のゲームです。Kraptorは、2Dシューティングスクロールゲーム用の強力なエンジンを搭載しています。

長年の抑圧の後、世界中の奴隷の民が主人に対して蜂起した。傭兵パイロットであるあなたは、民衆の反乱軍から連絡を受け、抑圧の勢力と戦うよう命じられた。朝、コックピットに飛び乗り、エンジンを始動。いよいよ離陸し、攻撃を開始する。主人たちに雇われたクズどもを倒す準備を整えろ。自由のために戦うことこそが唯一の道だ。あなたは使命を帯びている。我々を欺くな…

●古典的な縦スクロールシューティング
左上の「Game」で「New game」を選び、難易度を選択するとオープニングが始まります。
その後、ブラックマーケットで必要な武器を買う[Buy]ことができます。

マウスのクリックで攻撃し、右クリックで武器を切り替えます。
途中でアイテムを拾うと右側のゲージが上がります。これが0になるとゲームオーバーです。

【基本】[F1]:ヘルプ [p]:一時停止 [Esc]:メニュー
【操作】[z]:撃つ [x]:武器切り替え [c]:ボム [↑↓←→]:移動

Brainでも、十分な速度でプレイできます。
ただ、音を出せるようにしていた場合、Musicを有効にしていると曲の途切れが激しくなるので、無効を推奨です(効果音までぐらいなら何とかなります)

 

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

 

———–

◎ stax Tetris Attack に似たパズルゲーム集

https://packages.debian.org/bullseye/stax

起動:stax -sh 440

Tetris や他のクールなパズルゲームを遊ぶためのもう一つの方法です。 マルチプレイヤ機能やテーマのサポートが含まれます。お楽しみを!

●同じ色をまとめて消すゲーム
上にある磁石でブロックを1つずつ持ち上げ、別の列に落とします。
同じ色を3つ以上、縦または横に揃えれば消えます。
ブロックは下から少しずつ出てきます。
ブロックが上までいっぱいになったらゲームオーバーです。
【操作】 [←]:左へ [→]:右へ [↑]:持ち上げる [↓]:落とす [Esc]:終了

基本的には縦や横に同じ色のブロックを3つ以上そろえると消えます。
下からブロックが補充されてきますがブロックが一番上まで行ってしまうとゲームオーバです。

3種類のゲームが楽しめます。
(Configure -> Game Options)
・Sucker   磁石でブロックを1つずつ持ち上げ別の列に落とします
        [←]:左へ [→]:右へ [↑]:持ち上げる [↓]:落とす
・SpringShot 上から用意されたブロックを落とします。
        [←]:左へ [→]:右へ [↓]:落とす
・Shifty     横に並んだ2つのブロックを交換します(Tetris Attack=パネルでポン風)
        [←]:左へ [→]:右へ [↑]:上へ [↓]:下へ[Ctrl]:交換

なお、2人プレイも可能で、その場合、画面の左右にそれぞれのゲーム画面がならびます。
その場合、ControlsでPlayer2のキーバインドを設定します。

キーボード操作だと、標準のほかにWASD+Spaceが選べます。
Brainの場合は、本体キーボード+USBキーボードを併用すれば2人プレイも可能かもしれません。

Brainでのプレイは少し速度が遅いです。
ただ、標準では、画面解像度が800×600になっているようでゲーム画面が全部表示できません。このため、Configureで640×480に変更するか、起動時オプションで “stax -sh 440″を指定して、縦方向の解像度に制限をしてみてください。

 

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

 

———-

◎ Alex the Allegator 全方向スクロールのジャンプアクション探索ゲーム

1人または2人で遊べる、とても短いプラットフォームゲーム。
短いフィールドを飛び回り、夢の女の子ローラを探し出そう。

https://allegator.sourceforge.net
Source code and data

起動:cd alex1l; ./alex1

フィールドを探索して、ローラを探します。
1人プレイまたは2人同時プレイが可能です。
(2人同時プレイは同じ画面内で一緒に移動しないといけないので協調プレイが必要です。)

1Player: 移動:カーソルキー,Jump:Nキー、Action:Mキー[未使用]
2Player: 移動:wasdキー,Jump:Fキー、Action:Gキー[未使用]

Brain上でも、非常にスムーズにプレイできます。
(普通に多重スクロールまで実現してて驚愕)

クリアするにはひらめきが必要です。

デモ扱いですが、これをベースにしたら本格的な探索アクションゲームが作れそうな気がします。

 

インストール:ソースをダウンロードしてビルド
(古いソースプログラムのため、調整が必要です。)

インストール手順詳細(クリックで表示)

$ mkdir alex1
$ cd alex1

$ sudo apt install liballegro4-dev build-essential unzip

ファイルをダウンロードして、Brainに転送
https://sourceforge.net/projects/allegator/files/Alex1/source%20and%20data/
alex1s.zip

$ unzip alex1.zip

#ファイル名がすべて大文字になっているので、小文字に修正する
$ sudo apt install rename
$ rename ‘y/A-Z/a-z/’ *

$ vi Makefile

CC = gcc
CFLAGS = -Wall -O2 `allegro-config –cflags`
LDFLAGS = `allegro-config –libs`

SRC = alex.c
OBJ = $(SRC:.c=.o)
BIN = alex1

all: $(BIN)

$(BIN): $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)

%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@

clean:
rm -f $(OBJ) $(BIN)

#元がDOS専用のコンソール関数を想定した関数を使っていますが、
# ゲーム本編には特に影響ない部分とのことで、ダミー関数を用意して回避します。
$ vi dosstub.h

#ifndef DOSSTUB_H
#define DOSSTUB_H

static inline void textcolor(int c) {}
static inline void textbackground(int c) {}
static inline void gotoxy(int x, int y) {}
static inline void clreol(void) {}
static inline void clrscr(void) {}
static inline void cprintf(const char *fmt, …) {}
static inline long biostime(int a, long b) { return 0; }

#endif

#元がAllegro 3.xを想定したソースですが、今回はAllegro 4.4を使っているので
# ソースの一部を修正します。
# 併せて、Player1の操作でJunp:R-Ctrl,Action:ALTGRが必要ですが、
# Brainに合わせて、Jump:Nキー、Action:Mキーに変更します。
$ vi alex.c

29: DECLARE_COLOR_DEPTH_LIST(COLOR_DEPTH_8);
  ↓
// DECLARE_COLOR_DEPTH_LIST(COLOR_DEPTH_8);

25: #include “sound.h” // datfile
  ↓
  #include “sound.h” // datfile
  #include “dosstub.h”

559: shutdown();
  ↓
  shutdown();
  END_OF_MAIN();

105: pkey[0].jump = KEY_RCONTROL;
  pkey[0].action = KEY_ALTGR;
  ↓
  pkey[0].jump = KEY_N;
  pkey[0].action = KEY_M;

$ make
$ ./alex1

 

———-

◎ Alex the Allegator 2 スライドできるパネル配置パズルゲーム

https://allegator.sourceforge.net/
Source code and ports.

起動:cd alex2; ../alex2

1人または2人で遊べるパズルボードゲーム。
自分のトークンをボード上に置くか、行または列をスライドさせます。
すべては、自分のトークンをボードから一掃するためです。
ただし、いずれかのプレイヤーのトークンがすべてなくなったら、
相手に勝つには最高得点を獲得する必要があるので注意してください。

2×2の正方形に同じ色のトークンを配置できれば、そのトークンは破壊されます。
トークンを配置する代わりに、指定した行または列を1つずらすことも出来ます。

どちらかのトークンが破壊することが目的ですが、その時に得点が高いほうが勝利者になるのですが、得点が入るのはトークンを「自分のターン」で破壊できたときです。
逆をいうと、相手のターンでトークンが破壊されたときは相手の得点になります。
つまり戦略が必要となります。

操作:
・マス目でマウス左クリック:自分の色のトークンを置きます。
・マス目周囲の▲カーク:その方向に行または列をスライドします。

2人プレイでは、交互に操作してください。

ゲームは以下の3つが選べます。
・HUMAN VS AARON (プレイヤー先攻)
・ALEX VS HUMAN (プレイヤー後攻)
・HUMAN VS HUMAN

コンピュータに勝つのは以外と難しいです。



インストール:ソースをダウンロードしてビルド
(Windowsベースのソースプログラムのため、一部修正が必要です。)

インストール手順詳細(クリックで表示)

mkdir alex2
cd alex2

$ sudo apt install liballegro4-dev build-essential unzip

ファイルをダウンロードして、Brainに転送
https://sourceforge.net/projects/allegator/files/Alex2/source%20and%20data/
alex2s.zip

$ unzip alex2.zip

# 1つだけ、ファイル名が大文字になっているので修正
$ mv data/DATA.H /data/data.h

# GFX_GDIはWindows の GDI 描画モードで、Linux Allegro 4 にはありません。
#このため、Linuxデモ利用可能なAUTODETECT_WINDOWED等に変更します。
$ vi alex2.c

989: if (key[KEY_W]) set_gfx_mode(GFX_GDI, 320, 240, 0, 0);
  ↓
   if (key[KEY_W]) set_gfx_mode(GFX_AUTODETECT_WINDOWED, 320, 240, 0, 0);

# debian 11 の Allegro 4 では fcos / fsin が削除されているためリンクエラーになる
# このため、新しい名前のfixcos(),fixsin()に変更する必要があります。
$ sed -i ‘s/fcos/fixcos/g’ alex2.c
$ sed -i ‘s/fsin/fixsin/g’ alex2.c

 

$ gcc -s -o alex2 alex2.c hisc.c -lalleg
$ ./alex2

 

———-

◎ Alex the Allegator 3 – Radioactive Racers 2Dレーシングゲーム

https://allegator.sourceforge.net/
Source code and data

起動:cd alex3/alex3-rr; ../alex3

アレックスとその友人たちが放射性廃棄物で傷ついた少年たちを治せるものを探して、滑稽な道路でレースをする、やや完成度の高いレース ゲームです。

1人プレイもしくは、2人プレイが可能です。
他にもコンピュータ操作のレーシングカーも出てきます。

コースを5周すれば、ゲーム終了です。

ステアリング操作がかなり敏感なので、絶妙な操作が求められます。
コンピュータ操作のレーシングカーはかなりうまいので、ついていくのも難しいです。

操作

1プレイヤー:
・ハンドル:左,右
・アクセル:Space
・バック(ブレーキ):下

2プレイヤー:
・ハンドル:A,D
・アクセル:←CTRL
・バック(ブレーキ):S

またマップエディタもついています。
タイトル画面で、TAB+Eでエディタモードに入ります。
エディタモードから武家るには、ESCキーです。

・CTRL + L : load map
・CTRL + S : save map
・LMB : put tile
・RMB : get tile
・Z/X : next/prev tile
・B/G/M : block, goal or mud
・LSHIFT + B/G/M : remove block, goal or mud

・S + ARROW : set start position and direction

・P : enter leave path mode
・I/U : set/remove path point (path mode only)

・1-9 : set checkpoint (use all!!)
・0 : remove checkpoint

 

インストール:ソースをダウンロードしてビルド
(Windowsベースのソースプログラムのため、一部修正が必要です。)
(変数定義のやり方の問題で、あちこちのファイルを変更しないとビルドが通りません。)

インストール手順詳細(クリックで表示)

インストール手順詳細(クリックで表示)

$ mkdir alex3
$ cd alex3

$ sudo apt install liballegro4-dev build-essential unzip

ファイルをダウンロードして、Brainに転送

https://sourceforge.net/projects/allegator/files/Alex3/source%20and%20data/
alex3-rr.zip

$ unzip alex3-rr.zip
$ cd alex3-rr
$ cd src

$ vi main.c

38: #include “Player.h”
  ↓
  #include “player.h”

234: if (set_gfx_mode(GFX_DIRECTX_WIN, 640, 480, 0, 0) >= 0) {
  ↓
   if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0) >= 0) {

797: set_gfx_mode(GFX_DIRECTX_WIN, 640, 480, 0, 0);
  ↓
   set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);

59: DATAFILE *data;
  ↓
  DATAFILE *data;
  volatile int frame_count = 0;
  volatile int fps = 0;
  volatile int logic_count = 0;
  volatile int lps = 0;
  volatile int cycle_count = 0;

 

vi menu.c

126: int update_menu(BITMAP *bmp, Tmenu *m, Tmenu_params *mp, Tcontrol *ctrl, int x, int y, void **data) {
  ↓
  int alex_update_menu(BITMAP *bmp, Tmenu *m, Tmenu_params *mp, Tcontrol *ctrl, int x, int y, void **data) {

191: menu return = update_menu (bmp, menu, mp, (handle_keys ? ctrl : NULL), x, y, &data);
  ↓
  menu return = alex_update_menu (bmp, menu, mp, (handle_keys ? ctrl : NULL), x, y, &data);

 

vi edit.c

34: BITMAP *buffer;
  DATAFILE *data;

  extern BITMAP *buffer;
  extern DATAFILE *data;

 

vi intro.c

34: DATAFILE *data;

  extern DATAFILE *data;

vi timer.h

24: volatile int frame_count;
  volatile int fps;
  volatile int logic_count;
  volatile int lps;
  volatile int cycle_count;
  ↓
  extern volatile int frame_count;
  extern volatile int fps;
  extern volatile int logic_count;
  extern volatile int lps;
  extern volatile int cycle_count;

 

$ vi map.c

157: if (!strnicmp( …

  if (!ustrnicmp( …


$ gcc -o alex3 *.c -lalleg -lm

$ cd ..
$ ln src/alex3 ./alex3

$ ./alex3

#これで、ゲームはプレイできるようになりましたが、
 Player1の操作がカーソルキー&RCTRLになっているので、Brainでは操作が難しいので、
 必要に応じて、ソースを直接いじってキー割り当てを変更します。
 例えば、RCTRL->SPACEへ変更する場合は以下のようにして、再度ビルドします。

$ cd src
$ vi main.c

507: set_control(&ply[0].ctrl, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_RCONTROL);
  set_control(&ply[1].ctrl, KEY_W, KEY_S, KEY_A, KEY_D, KEY_LCONTROL);
  ↓
  set_control(&ply[0].ctrl, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_SPACE);
  set_control(&ply[1].ctrl, KEY_W, KEY_S, KEY_A, KEY_D, KEY_LCONTROL);

$ gcc -o alex3 *.c -lalleg -lm
$ cd ..
$ rm ./alex3
$ ln src/alex3 ./alex3
$ ./alex3

キーの割り当ては、menu.cのvoid key_to_str()関数の中身を見てもらえればわかります。

 

———-

◎ Alex the Allegator 4 – レトロ版プラットフォームゲーム

https://packages.debian.org/bullseye/alex4
https://allegator.sourceforge.net/

起動:alex4

シリーズ最新作では、アレックスが誘拐された恋人を探してジャングルを旅します。4色展開で、定番のプラットフォームアクションが満載!

Guide Alex the Allegator はジャングルを走り回り、靴を脱がそうとする邪悪な人間 たちからガールフレンド Lola を助け出そうとします。4 種類の素晴らしい 色が付いた多くの古典的な足場が保証されています!

このゲームには組み込み版エディタが含まれているので、独自のマップの設計や 共有が可能です。

▲ワニのアレックスをゴールまで導きます。
ガールフレンド救出のためにジャングルを進みます。
敵は、靴を脱がそうとする邪悪な人間たちです。
卵があれば攻撃できます。なければ踏んづけます。

キー操作は、デフォルトだとBrainuxには合わないので、ソースからビルドすると以下のようになります。

タイトル:
 カーソル上下  メニューカーソル移動
 Space or Z or X 選択

 1 Window mode (160×120)
 2 Window mode (320×240)
 3 Window mode (640×480)
 4 Full Screen (640×480)
 

ゲーム中:
 移動:カーソルキー
 攻撃:Z
 ジャンプ:X
 F12キーを押し続けると、ゲームが止まって、曲がきれいに流れます。

MAP Editor:
 詳細は、 man alex4で見れます。

 

公式?サイト(https://allegator.sourceforge.net/)からリンクされている
More maps! から、いくつかのMAPDATAが入手できます。

ダウンロードしたファイルを、フォルダに解凍して、
以下の内容が含まれたファイルを見つける or 作成して
#start#

#end#

alex4 /folder/file.txt のように指定して実行するとプレイできます。

その他こんなサイトもありました。
Alex the Allegator 4 Mods, Tutorials & Community | Alex4 Hub
https://web.archive.org/web/20180129081832/http://alex4.webz.cz/

  

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

aptパッケージでインストールした場合、
以下のようなキーバインドになっています。
移動:カーソルキー
攻撃:LCONTROL
ジャンプ:ALT

このままだと、移動しながらジャンプしようとしてALTを押しながらカーソルの左右を同時押しすることになり、WindowManager(JWM)が反応して、仮想スクリーンの切り替えが起こってしまいます。

ですので、ソースからビルトすることで以下のように変更してみます。
攻撃:LCONTROL → Z
ジャンプ:ALT    → X

 インストール2:ソースからインストール

インストール手順詳細(クリックで表示)

$ mkdir alex4
$ cd alex4

$ apt-get source alex4
$ sudo apt-get build-dep alex4

$ cd alex4-1.1
$ cd src

$ vi control.c

34: KEY_LCONTROL,
  KEY_ALT);
  ↓
  KEY_Z,
  KEY_X);


#CPU 最適化を実施
$ vi Makefile

3: CFLAGS ?= -g -Wall -Wno-deprecated-declarations -O2
 ↓
 CFLAGS ?= -g -Wall -Wno-deprecated-declarations -O3 -march=native

$ make
$ sudo make install

$ alex4

 

———-

○ liquidwar 真に独創的なマルチプレイヤーウォーゲーム

https://packages.debian.org/bullseye/liquidwar

起動:liquidwar

Liquid Warは、独創的なマルチプレイヤーウォーゲームです。武器は使用せず、2Dの戦場でカーソルを動かすだけです。カーソルの先を進むのは、小さな色付きの四角で表された多数の小さな戦士で構成されるあなたの軍隊です。異なるチームの戦士同士が出会うと、互いに食べ合う、それだけです。

シングルプレイヤーモードも利用可能ですが、ゲームはマルチプレイヤー向けに設計されており、ネットワークをサポートしています。

●敵を食らって大きくなるゲーム
↑↓←→キーで目標マークを動かして、流動体生物の動きを制御します。
流動体生物は目標マークに向かって進み、敵に接触すると浸食しようとします。
接触点において、数の多いほうが相手を吸収して大きくなります。
メニューの「Teams」で、色や参加者を変更できます。
初期設定は1対1の対戦で、赤が人間(Human)、黄色がコンピューター(Cpu)です。
黄色を人間にすればマウスで操作ができます。
【基本操作】[F3]:一時停止 [Esc]:終了

Brainでの実行だと遅いですが、音とかを無効化すれば動かないって程ではないです。
水面を表現するラスタスクロールに負荷がかかっている気がしますので、これを無効にするとかなりましになります。

陣取りゲームで、制限時間経過後に優勢なほうが勝ちといった感じでしょうか?
起動オプションで、ウィンドウモードや、music無効、効果音無効なども指定できます。
(ゲーム中のoptionでも変更できます。)

いくつかマップも用意されているので、それぞれ戦略が必要になります。

 

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

 

———–

◎ excellent-bifurcation 両面でプレイできる抽象的な縦型シューティングゲーム

https://packages.debian.org/bullseye/excellent-bifurcation

起動:excellent-bifurcation

Excellent Bifurcationは、2つのサイドでプレイできる縦スクロールシューティングゲームです。グラフィックは、8ビットゲームの色、音、雰囲気を再現しようと試みています。

このゲームでは、画面の両側で同時に2隻の船を操縦します。ゲームプレイは非常にユニークで楽しいものです。いずれにせよ、かなり頭を使うゲームかもしれません。

「Excellent Bifurcation」は、リンリー・ヘンゼルがAutoFire 2007シューターコンペティションに出品した作品で、2位に入賞した。


●2画面同時シューティング
2つの画面を同時に操作するシューティングゲームです。
このゲームは『AutoFire 2007 Shooter Competition』で2位になりました。
キーを操作すると両方の画面で同じ動きをします。
自動連射にすると勝手に撃ち続けます。これは[z]キーを押し続けた状態と同じです。
左右交換は左側の船と右側の船を入れ替えます。
エスケープキーを押すとメニューに戻ります。
【操作】[z]:撃つ [c]:左右交換 [x]:チャージ [a]:自動連射切替 [↑↓←→]:移動

 

Brainでも快適にプレイできます。
両方の画面を見ながら2台の自機を操作することになるので、非常に難しいです。
自機の攻撃方法にも違いがあり(チャージ攻撃がチャージ弾と追尾弾とか)
状況によって自機の入れ替えとかも必要そうです。

最初はEASYでプレイして、なれたらレベルを上げていきましょう。

 

 インストール:APT経由 ”sudo apt install excellent-bifurcation”

 

———–

◎ overgod 双方向スクロールアーケードゲーム

https://packages.debian.org/bullseye/overgod

起動:overgod

Overgod は双方向にスクロールするアーケードゲームで、制限時間内に領域内の すべての敵を破壊する必要があります。このゲームは古典的なアーケードゲーム Asteroids と Thrust を混ぜ合わせたもので、多くの機能を追加しています。

Overgod は競争モードまたは協調モードのいずれかで二人プレイすることもできます。 また、敵が無制限に現れる特別な “タイムアタック” バージョンでもプレイできます。

●双方向スクロールアーケードゲーム
縦横にスクロールする画面で、制限時間内に全ての敵を破壊します。
競争モードまたは協調モードのいずれかで、2人でプレイすることもできます。
敵が無制限に現れるタイムアタックバージョンもあります。

メニューの「START GAME」を選択し、エンターキーを押して次に進みます。
「PLAYER ONE FIRE TO START」が表示された画面で、[a]キーを押します。
続けて↑↓←→キーで船を選び、[a]キーを押して開始します。
2人プレイの場合は、[t]キーを押して同じように船を選びます。
【操作1】[←]:左回転 [→]:右回転 [↑]:前進 [↓]:後退 [a]:撃つ1 [s]:撃つ2 [d]:切替
【操作2】[j]:左回転 [l]:右回転 [i]:前進 [k]:後退 [t]:撃つ1 [y]:撃つ2 [u]:切替

Brainでも現実的な速度で動作可能です。
OPSIONSから、Video Sync – Off にすると少し早くなる気がします。


ただ、自機を回転して前進する形での移動方式ですので、敵の弾を避けるだけでも大変です。難しいです。

 

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

 

———-

◎ rafkill Raptor: Call of the Shadows 類似の縦シューティングゲーム

https://packages.debian.org/bullseye/rafkill

起動:rafkill

Rafkill は、古典的なシューティングゲームである Raptor: Call of the Shadows のクローンです。

画面には、プレイフィールドの鳥瞰図が表示されます。そこは、異星人の支配する 世界です。プレイヤーの任務は、向かって飛んでくる敵に弾丸を打ち込んで破壊 することです。スコアにより、ライフ、シールド、より威力のある武器、又は 新しい宇宙船さえ購入できます。

Rafkill は、三種類の宇宙船、20 種類以上の武器、透過色効果によるカラフルな グラフィック、音楽やサウンドが特徴です。

●縦シューティングゲーム
Raptor:Call of the Shadows のクローンです。
↑↓キーで「Play new」を選び、エンターキーを押して次に進みます。
難易度を選び、エンターキーを押して開始します。
敵の船を撃ってアイテムを拾います。
ある程度の点数を稼いだら、武器やライフを買い足します。
【操作】 [space]:撃つ [Alt]:武器切替 [p]:一時停止 [Esc]:終了

Brain上でも快適にプレイ可能です。
ただ、サウンドデバイスを付けていても、音が途切れてしまうので、
メニューから、Sound,Musicのボリュームを0にすることをお勧めします。

 

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

 

———-

△ Darkbits BALLZ – 転がるボールを操作するプラットフォーム/パズルゲーム

https://packages.debian.org/bullseye/ballz
https://gitlab.com/ballz/ballz

起動:ballz

このゲームはパズル要素のあるプラットフォームゲームです。イギリスの秘密情報部によって遺伝子操作されたボールを操作し、イランの刑務所で捕らえられたイギリス兵を救出することがミッションです。

このゲームは、Speedhackに似たTINSコンペティションのために72時間で開発されました。TINSという名前は、「TINSはSpeedhackではない」という意味の再帰的な頭字語です。


このゲームでは、近接戦闘とボール戦争に特化した遺伝子操作されたボール、ボールズを操作します(分子生物学専攻の私としては、このような非科学的なナンセンスには強く反対しますが、幸いにもこのレビューでは重要ではありません)。ボールズは言葉と知性を習得したボールかもしれませんが、だからといって動きを完全に制御できるわけではありません。いいえ、ボールズはただのボールなので、1)一定の速度で前方に転がる、2)跳ねる、の2つしかできません。そして、ボールズの跳ねるタイミングを極めて正確に合わせることによってのみ、このゲームをクリアすることができます。

これらすべてが、非常に革新的なゲームプレイにつながります。正確なタイミングでジャンプすることで、18のレベルをクリアしなければなりません。主な目標はレベルの出口に到達することですが、次のレベルをアンロックするために、途中で見つけた黄色の星をすべて集める必要があります。星を集めることは任意で、星を集めなくてもレベルをクリアできます。しかし、次のレベルをアンロックするには、ほぼすべての星を集める必要があります。

最初はとてもシンプルです。ちょっとジャンプして星を集めて出口を見つければ、それで終わりです。しかし、レベル6あたりから難易度がぐっと上がります。

新しいレベルに進むにつれて、ゲームプレイに深みが増し、いくつかの新しいゲーム要素が追加されます。即死する炎やトゲのブロックに遭遇したり、水に浮かんだり、一度触れると崩れるブロックがあったりします。また、レベル6あたりからは、空中で水平方向に突進できる特別なスーパージャンプという新しい能力が手に入ります。これらすべてがゲームへの興味を高く保ち、プレイを続けたいという気持ちにさせてくれます。

Brainでのプレイだと遅いです。
背景が多重スクロールしていたり、画面更新時の複数パターンとか技術的に凝っているゲームになります。

操作は基本上キーでジャンプです。上を押している時間でジャンプの高さも変わります。
なお、左右移動は自動で、壁に当たると反転します。

全部で18ステージあるとのことで、取得した★の数でステージが解放されていきます。

最近のゲームでいうとウンコテクニカに近いゲーム性に感じました。
サウンドはノイズが多いのですが、OFFにするオプションは見つけられませんでした。

会話パートは、ESCキーでキャンセルできます。

上キー   ジャンプ
Ctrlキー   Special
Shiftキー  Special
Q      終了

 

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

インストール2:ソースからビルド(ちょっとだけ高速化)

詳細はクリックすると表示されます

ただし、このままだと少し遅いです。

高速化挑戦中ですが、少しだけ早くなった気がします。

$ cd
$ mkdir ballz
$ cd ballz
$ apt source ballz
$ cd ballz-*
$ sudo apt build-dep ballz
$ dpkg-buildpackage -us -uc

$ vi debian/rules

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

↓

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic -march=armv5tej -marm -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-tree-vectorize -fno-aggressive-loop-optimizations -fno-strict-overflow
# package maintainers to append LDFLAGS
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export DEB_CXXFLAGS_MAINT_APPEND = $(DEB_CFLAGS_MAINT_APPEND)

vi src/Game.cpp

 void Game::draw(BITMAP *buffer) {
-    clear_to_color(buffer, makecol(64, 64, 64));
+    /* Brainux/ARMv5 最適化:
+       clear_to_color は重いので毎フレーム呼ばない */
+    static bool needClear = true;
+
+    if (needClear) {
+        clear_to_color(buffer, makecol(64, 64, 64));
+        needClear = false;
+    }


     case LEVEL:
-        level->draw(buffer);
+        /* LEVEL はフレームスキップで軽量化 */
+        static int frameSkip = 0;
+        if (++frameSkip >= 2) {   /* 2 → 30FPS 相当 */
+            frameSkip = 0;
+            level->draw(buffer);
+        }
         break;

     default:
         break;
     }
 }

他最適化できるか試していますが、難航中。

 

———-

python3-pygame ライブラリを利用したソフトウェア

Brainでは少し重いですが、動作するものが一部ありましたので紹介します。

なお、TrixieベースのBrainuxの場合、python3-pygameの基盤がSDL1.2からSDL2に
切り替わっているため、そのままでは非常に重くなり動作困難になります。

python3-pygameのSDL1.2化に挑戦していますが、現在難航中です。
(動作確認しているアプリが少ないので、影響はないとは思いますが)

———–

△ whichwayisup わずかに回転する要素のある2Dプラットフォームゲーム

https://packages.debian.org/bullseye/whichwayisup

起動:whichwayisup

Which Way Is Up は、伝統的な2Dプラットフォームゲームでありながら、回転要素を少し加えたやりがいのあるゲームです。大きな耳を持つ謎めいたサラリーマン、ガイが危険と下品な会話に満ちた迷宮で鍵を見つけるのを手伝ってください。

●鍵の所まで行くゲーム
訳ありげな耳の大きいサラリーマンのガイを鍵の所まで連れていきます。

↑↓キーで「Play level 1」を選び、スペースキーを押して開始します。
レベル1は話が長いです。何度も[z]キーを押します。
ブロックの上にあるスイッチをオンにすると90度回転します。オフには戻せません。
【基本】[z]:話を進める [p]:一時停止 [Esc]:メニュー
【操作】[←]:左へ [→]:右へ [↑]:ジャンプ [↓]:拾う/スイッチオン

Brainでは起動はしましたが、かなり動作が遅いです。
ギリ動かせるかといったレベルですが、
python3-pygameで動く珍しいゲームということで紹介です。

フルスクリーンモードにするには、520×520の解像度が必要なのでBrainでは不可です。

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

 

———-

◎ pathological 経路とビー玉を用いたパズルゲーム

https://packages.debian.org/bullseye/pathological

起動:pathological

Pathological は Rainbow Arts による “Logical” ゲームの濃縮版クローンです。 ゲームを解くには、色がマッチした 4 個のビー玉で車輪の 4 箇所の空間を 埋める必要があります。 テレポータ、スイッチ、フィルタなどといった各種ボード要素がゲームを 興味深くチャレンジングにしています。新規レベルデータを好みのテキストエディタを 使って作成可能です。

●経路とビー玉を用いたパズルゲーム
車輪の中に同じ色のビー玉を4つ置くと、車輪の色が黒くなります。
制限時間内に全ての車輪を黒くすればクリアです
車輪のところでマウスの右ボタンを押すと回転します。
ビー玉の上でマウスの左ボタンを押すと、隣に車輪かパイプがあれば移動します。
ただし、車輪の空いているくぼみが隣に来てないと移れません。
エスケープキーを押してから、もう一度エスケープキーを押すとメニューに戻ります。
クリックするか、エンターキーを押せばリスタートできます。

Brain上でもプレイ可能ですが、縦方向の解像度がちょっと足りません。
一応、6面まではクリアできることを確認しています。

 

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

 

———-

Views: 0

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

コメントを残す

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