ボードゲーム『スマートチェーンシティ』感想

ポストアポカリプスな世界の中で、どのように時計を再生させていくかが問われるソリティアゲームでした。

概要

人類が滅亡した世界。プレイヤーはロボットとして大時計をくみ上げていきます。

  • 災厄をやり過ごし
  • ギアとギアをつなげ
  • 生産拠点や部品をくみ上げ
  • 大時計を再生。

山札が尽きる前に大時計の再生が完了すればゲーム勝利となります。

このゲームで面白いと思ったところ

「死にゲー」によるゲームの理解

最初に言いますが、本作は難易度高めです。ゲームのコツがつかめなければ、あっという間に山札が尽きてゲームに敗北します。

部品をくみ上げた際にもライブラリーが吹っ飛ぶような効果もあるので、「死にやすさ」を加速。それだけに、「次はどうすれば死なないか」の思考がフル回転しました。

途中で遭遇する災厄にしても地味にやっかいなものがあるし、3種類ある歯車にしても「次に同じカードは置けない」縛りがあるため、盤面と運を両方とも見ることが必要です。

修復のカタルシス

反面、それを修復するための手段が「ここぞ」というタイミングで使うことができると盤面は一気に回復。その切り札的な手段を使って「生き延びた」時の安心感はひとしおです。

拠点や部品のジレンマ

ゲームクリアに必要なのは部品なので、それを最優先したいところではありますが、生産拠点は手札の調整や災厄の軽減などの便利な効果を兼ね備えています。なので

「あちらがほしいが、次に引くかもしれない災厄にはこっちが必要」

というディシジョンメイキングに悩まされます。

丁寧なコンポーネント

この手の小箱にしては珍しくスリーブ付き。しかも、スリーブを入れるとしっかりと箱に収まるという心憎い配慮。

このゲームの懸念点

スリーブの入れにくさ

同梱のスリーブはジャストサイズです。なので、TCGに慣れていない方にとってこのスリーブ入れはかなり苦労するでしょう。

引きによってはなすすべもなく敗北

カードの偏りによっては山札の修復もできずに何もできません。このランダム性はかなりやっかいです。

ゲームクリアのためのデメリット

山札を大幅に削る部品を序盤に発動しないと詰みます。これに気づくか気づかないかがこのゲームをどう思うかに直結です。

まとめ

難解なゲームではありましたが、

  • 世界観がしっかりしたコンポーネント
  • スリーブ込み
  • 公式動画によるルールの補間

など、訴求力はバッチリ。何より、15分程度で考えどころ満載の小箱ゲームでした。

個人的に:生産拠点が停止してしまう(裏返ってしまう)災厄を逆手に取り、山札の修復を使い回すテクニックは、TCGプレイヤー冥利に尽きました。

ボードゲーム『旅するゲームブック ロンドン』感想。

住んでいたということもあり、タイトルに惹かれて購入。ベーシックなゲームブックのスタイルを取りながらも、

  • 選択
  • 探索
  • 収集

がほどよい、追体験型のボードゲームでした。

ゲームの概要

そのタイトル通り、プレイヤーはロンドンの旅行者。キングスクロス駅から始まり、ロンドン中心部の様々な観光名所を巡りつつ

  • 英国文学ゆかりの地
  • 博物館/美術館

を巡っていきます。

ゲームのルール

本の指示に従い、地図に書き込んでいくだけ。途中、様々な選択肢があり、その指示通りに出向いていきます。旅は一度では終わらず、違うルート、別の行動を取ることによりエンディングも変化していきます。

このゲームの好きなところ

実地に基づくちょうどよいルート

これが最も感動した点です。5周ほどしましたが

  • シティ→テムズ川河畔を巡るルート
  • 大英図書館→リージェンツパークを経由して自然史博物館(ヴィクトリア&アルバート博物館を巡るルート)
  • 大英博物館→ナショナルギャラリーの二大博物館/美術館ルート

など、位置的にテーマが定まっているところ。(尤も、大英博物館はがっつり回ろうと思ったら1週間単位で時間が溶けていきますが……)

なので、「次はどのルートに行こうか」という計画を早くも立てることができます。

美麗な写真と情緒漂う文章

作者様が実際に撮影した写真はどれも素晴らしく、簡潔で没入感が高い文章がそれを引き立てます。この写真だけでも空気感は抜群です。

周回のしがいがある選択肢

上述したとおり、選択肢によってどのルートを辿るかが違ってきます。この『周回』ごとにペンの色を変えれば「このとき、この旅をした」という振り返りがバッチリです。

このゲームの問題点

その都市への思い入れによって評価が分かれそう

これに尽きると思いました。筆者は灰色の空気感も含めてロンドンは大好きですが、そうでもない方、旅が好みではないという方はどこまで刺さるかが未知数です。

外れの名所の欠落

ロンドン中心部のきらびやかな名所をしっかりと記していましたが、そこに行くだけで一日を消費しそうな

  • グリニッジ/O2ドーム周辺
  • キュー・ガーデンズ

の2つは地図の都合上オミットされていたのが少し残念。

まとめ

かなり久しぶりに、伝統的なゲームブックに触れることで、その本質である

  • 選択の悩ましさ
  • 物語(旅)の追体験
  • 地図の名所を埋めていくという喜び

などに満ちた作品。本シリーズの他の都市も手に取ってみたいと思わせる作品でした。

余談ですが、

  • ハイドパーク近く
  • シティ
    • 聖ポール大聖堂
  • ウェストミンスター宮殿(ビッグベン)

は、筆者おすすめの『メリー・ポピンズ(リターンズ含む)』の聖地巡礼ルートです。

『ONE OUTS』システム番外:ASNごとIPSetで弾いたときの記録

はじめに

Webサイトを公開していると、必ず遭遇するのが「自動化された嫌がらせ」です。

ログを確認すると、1秒ごとに異なるURLへPOSTリクエストを送り続けてくるボットたちがいます。

今回は、特定のネットワークセグメントから行われた執拗な「PHPUnitのバックドア設置スキャン」に対し、アプリケーション層(ModSecurity)だけでなく、カーネル層(IPset)で物理的に遮断した際のメモです。

前提

以下の手順でipsetを導入していること。

1. ログに残る「執拗なアクセス」

ある日、アクセスログを眺めていると、以下のような文字列が並んでいることに気づきました。

# access.log の例 (ダミーデータ)
192.0.2.239 - - [06/Mar/2026:14:35:07] "POST /lib/phpunit/Util/PHP/eval-stdin.php HTTP/1.1" 404 3067 "-" "Mozilla/5.0..."
192.0.2.239 - - [06/Mar/2026:14:35:08] "POST /lib/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 404 3067 "-" "Mozilla/5.0..."
...

攻撃者は /vendor//lib/ などのディレクトリを総当たりし、脆弱性のあるPHPUnitファイルを探しています。

このアクセス元を調べてみました。

2. ASN(拠点のプロバイダー)を特定する

しかし、調べてIPをブロックするだけでは終わりません。相手は同じネットワーク(ASN)内の別IPから再び攻撃してくるからです。
そこで whois コマンドを用いて、この攻撃者が所属するネットワークの広がりを確認しました。

  • 攻撃者のIPから所属ASNを特定する

※ダミーIPにしています。

whois -h whois.radb.net -- '192.0.2.239'

結果、このIPは特定のホスティング事業者が管理する「広大なネットワーク帯域」の一部であることが判明しました(仮に AS_DUMMY_99 とします)。

3. 「IPset」による物理的遮断

単なるIPの拒否リストでは、数千に及ぶボットのIPを捌ききれません。数千ものIP/NWをufwでブロックすると、たちどころにその膨大なルールでufwは機能不全を起こします。

それが、上述したLinuxカーネルレベルで高速にパケットを破棄できる ipset を使用した形です。

手順:ASNを広域ブロックする

まず、そのASNが保持する全CIDRを取得し、aggregate コマンドで最適なサイズに集約します。

  • ASNからルートを取得し、整理する
whois -h whois.radb.net -- '-i origin AS_DUMMY_99' | grep -E '^route:' | aggregate > ban_list.txt

(aggregateがない場合はsudo apt install aggregateでインストールします)

これにより、手作業では到底管理できない広大なネットワーク帯域を、数行のルールに圧縮できます。最後に、このルールを ipset に投入します。

筆者手順ではこの形。

sudo ipset add ufw-blocklist IPアドレス・NWアドレス
sudo ipset save ufw-blocklist -f /etc/ufw/ipsets.save

まとめ

なぜASNごと切り捨てるのかは「彼らの根城だから」につきます。(そのあたりは筆者コラムに書いています)

そもそも、これらのボットは、海外の法が緩いVPSや出所の怪しいプロバイダに巣喰っています。

こん城ん奴ばら共は糞じゃ
撫で切りぞ
根切りぞ

ぐらいのブロックは必要です。

ホグワーツ×ルピシアフレーバーティー感想。

先だって購入した「ホグワーツ×ルピシア」コラボ。

全て試したので感想を記しておきます。

  • グリフィンドール:シナモンたっぷり聞かせたアップルティー
    • → ザ・王道。「飲むアップルパイ」という形。映画に出て来たあの暖かな談話室の雰囲気満点です。
  • レイブンクロー:ブルーベリーとバニラ漂うベルガモットティー
    • 理性と機知。フレーバーティーの代名詞たるベルガモット(アールグレイ)にイメージカラーの果実、ブルーベリーという独創性があります。
  • ハッフルパフ:アプリコットやらマンゴー風味のキャラメルティー
    • 寮のイメージという点ではこれが一番です。キャラメルのコクが薬草学を体現。
  • スリザリン:コーヒーの香りをクローブ/レモングラスで引き締めたチョコレートティー
    • コーヒーと紅茶を、両者の相性抜群なチョコレートでまとめ、ハーブで調えるのは狡猾と野心、そして魔法薬学のイメージたっぷり。

個人的なイチオシはハッフルパフ。香りと優しさが段違い。また、システムのリリース時に飲むスリザリンは「オールグリーン」の験担ぎとしてちょうどいいものでした。

続:ipsetによるufwブロックの効率化スクリプト。

このスクリプトのver.2といったところです。

#!/bin/bash

# セット名の定義
SET_NAME="ufw-blocklist"
SAVE_FILE="/etc/ufw/ipsets.save"

# 1. root権限チェック
if [[ $EUID -ne 0 ]]; then
   echo "エラー: このスクリプトは sudo または root 権限で実行してください。"
   exit 1
fi

# 保存用関数 (変更があった場合のみ呼び出し)
confirm_and_save() {
    echo "------------------------------------------"
    read -p "変更をファイルに保存しますか? ($SAVE_FILE) (y/n): " confirm
    if [[ "$confirm" =~ ^[Yy]$ ]]; then
        ipset save "$SET_NAME" -f "$SAVE_FILE"
        echo "保存完了しました。"
    else
        echo "保存をスキップしました。"
    fi
}

# ipsetが存在しない場合に作成
if ! ipset list "$SET_NAME" > /dev/null 2>&1; then
    echo "情報: $SET_NAME が見つからないため新規作成します。"
    ipset create "$SET_NAME" hash:net
fi

while true; do
    echo "=========================================="
    echo " ipset 管理メニュー ($SET_NAME)"
    echo "=========================================="
    echo "1) ネットワーク帯/IP を追加 (例: 192.0.2.0/24 203.0.113.5)"
    echo "2) ネットワーク帯/IP を削除"
    echo "3) 現在のリストを表示 (list)"
    echo "q) 終了"
    echo "------------------------------------------"
    read -p "番号を選択してください: " choice

    case $choice in
        1)
            echo "【追加モード】追加したいNW帯を入力してください(空エンターでメニューに戻る)"
            echo "例: 203.0.113.0/24 198.51.100.0/24"
            changed=false
            while true; do
                read -p "追加対象: " targets
                [ -z "$targets" ] && break
                
                for target in $targets; do
                    if ipset add "$SET_NAME" "$target" 2>/dev/null; then
                        echo "  [成功] $target を追加しました。"
                        changed=true
                    else
                        echo "  [失敗] $target は既にあるか、形式が不正です。"
                    fi
                done
            done
            [ "$changed" = true ] && confirm_and_save
            ;;
        2)
            echo "【削除モード】削除したいNW帯を入力してください(空エンターでメニューに戻る)"
            changed=false
            while true; do
                read -p "削除対象: " targets
                [ -z "$targets" ] && break
                
                for target in $targets; do
                    if ipset del "$SET_NAME" "$target" 2>/dev/null; then
                        echo "  [成功] $target を削除しました。"
                        changed=true
                    else
                        echo "  [失敗] $target が見つからないか、形式が不正です。"
                    fi
                done
            done
            [ "$changed" = true ] && confirm_and_save
            ;;
        3)
            echo "--- 現在の登録内容 ---"
            ipset list "$SET_NAME" | grep -A 100 "Members:"
            ;;
        q)
            echo "終了します。"
            exit 0
            ;;
        *)
            echo "無効な選択です。"
            ;;
    esac
    echo ""
done

試作版との違いは

  1. 連続入力に対応。ASNが持つNWを連続で断つことができます。
  2. 既にブロックされているNW/IPアドレスをチェックする機能を追加。

まだ詰められる感じなのでもう少し続けます。

弁当、バリエーションの広がり。

ランチバッグを買えた変化として、「より弁当の盛りを考えよう」思うようになりました。

そこで、持て余していた弁当箱に声をかけました。

この二段弁当箱はサイズ感も高さも申し分なしだったため、

  • 豚丼
  • 卵焼き(カレー風味)
  • 焼き豆腐
  • ピーマン焼き浸し
  • サツマイモ煮付け

と、ちょっとした駅弁並みに盛ることができました。

この成功体験があり、その翌日は

  • 焼き鳥丼
  • 卵焼き(カレー風味)
  • 鶏とブロッコリー炒め
  • ピーマン焼き浸し

それぞれ、鶏団子の味噌汁と、温まりボリュームあるものに。

興味が続くうちはこのスタイルを続けよう思いました。

お茶とお茶菓子。

東京駅にマホウドコロができたという話を聞き、早速行ってみました。

9と3/4ホームが東京駅にもできているというのが少し面白く。

ここでのお目当ては

ホグワーツ各寮をイメージしたお茶。ハッフルパフは既にいただいていたので残り3寮がようやく揃ったという形です。

そして、後日、お茶菓子を追加。

1/6フィギュアがそのまま背景になる程度の大きさ塗料なので、食べ害があります。

休日の弁当作り。

土曜日、たまにはということで弁当を作ってのお出かけ。

時間に余裕があるので、しっかりと卵を巻きます。

スープジャーに詰める味噌汁は

  • しめじ
  • 豆腐
  • ネギ

さらに、母が勧めるおいしいお味噌。

こうしてできあがって広げたのがこちらです。ご飯は牡蠣の甘露煮を混ぜたもの。缶詰なので食あたりのリスクを軽減させました。

結果として:

  • 暖かい汁物付きのご飯を
  • お気に入りの環境で食べる

いい経験となりました。

鰺と蛸。

午後休を利用して、久しぶりに巣鴨の定食屋を訪れました。

注文したのは

鰺のたたき定食と

蛸の唐揚げ。

醤油をはじくような勢いの鰺の脂ののり具合に、ネギとショウガが別添えというさりげない気遣い。
たこの唐揚げにしても、吸盤がそのまま活きているかのような歯ごたえと凝縮された旨味。

ですが、真に素晴らしかったのはご飯、味噌汁、漬物の3点セット。出汁の贅沢さが尋常ではなく、大根葉とワカメが出汁と味噌を引き立て。
漬物はおかずとご飯の永久機関を完成させます。

そして、食後20分後に最後に口に残るのがご飯の甘さというのも完璧。これで「合計で」2000円というのはレジの故障か何かかと思ったほどです。

ガイアと航法。(スマートフォン版『ガイアプロジェクト』イタル人チャレンジ。

パワートークンを燃やしてもガイアエリアに移動するだけであり、首府を解放済みの場合は、そのガイアエリアからのトークンを4つ排除することで任意の技術タイルを取得することができるイタル人。

その分、パワートークンの減りが早いため

  • パワーアクション:トークン×2
  • ラウンドブースター:トークン×2+鉱石1

の2つはコンスタントに取ることが必須。

今回のゲームは、それが両方ともできたため可能な盤面がありました。

初期配置

非常にありがたいことに、受動パワーがとても得やすい初期配置。これによって、失点を恐れずガンガンとパワーをもらって資源を獲得。

順当に首府を解放してガイア戦略。また、次元横断星が散らばっているため

  • 航法
  • ガイア計画

の2つに絞って研究を(タイルを消費して)あげていく戦略を取ります。

3R目

この段階で、施設数は黒のマッド・アンドロイドに水をあけられていますが

4R目

ここで2差。QICを消費して、より次元横断星が安いところへ進出できたのもありがたいです。

5R目

ラス前のラウンドで施設数を逆転。

6R開始

5Rに同盟を組んで、航法ゴール。暗黒惑星を右上に配置し、ゲーム終了目的でもある「衛星数」につないでいきます。

最終盤面

広範囲にまたがる形での同盟を2つ追加。

  • 施設数:17
  • 衛星数:12

と、全く文句ないものになりました。

施設数とタイル

個人ボードで開いていない施設が右学院と研究所のみと言う。(学院開放は最終ラウンドだったので右の学院を取るべきでした)

得点

得点は166点。上級タイルが「ガイア(鉱山)×2」だったらもっと取れていたでしょうが、

  • ガイア3点と7勝利点タイルで43点
  • ガイアゴールで16点

は誇れる数字でした。

Page 1 of 285

Powered by WordPress & Theme by Anders Norén