月: 2023年3月 Page 1 of 4

キーボードフットスイッチを使ってみての感想。

諸条件が揃えば、役に立つツールであると判明です。

キーの最初の割当

最初は左から

  1. Ctrl
  2. Ctrl + Alt + Delet
  3. Win + L
  4. Enter

という順番でやっていました。ですが、以下の問題が判明。

最初の割当の問題点

Ctrl + Alt + Deletは思ったよりも使わない。

ロック画面から戻るときはEnterで十分でした。

踏み間違いが度々発生。

特にEnterを実行したらWindowsロックが走ることもしばしば。

そこで、運用を替えます。

キー割り当ての変更

左から

  1. Windows + L
  2. Shift
  3. Ctrl
  4. Enter

に変更し、更に、オートマ車を運転するときのように「左足は固定して右足だけで操作する」に変更です。

変更後の改善点

踏み間違いの低減

ロック時のキーを左端にすることで踏み間違いが減りました。また、固定した左足があるので、一番踏みにくいペダルになります。

変更後の感想

足一本でスクリーンロックが便利すぎる。

マグカップを持っての中座が多いので、手を使わずに画面をロックできるアドバンテージは大きいです。

小指の負担軽減。

Shift も Ctrlも小指で操作することが多いので、これを変わりに足で操作。慣れてしまえば指の負担がものすごく減りました。

まとめ

条件

  • キーの適切な配置
  • 運用方法
  • 運用に必要な広さ

が揃えば、このデバイスは入力効率がとても高まると判明。もう1つの購入も検討に入ります。

キーボードフットスイッチ最初の感想。

新たな入力デバイスに手を出しました。

エディクン フットスイッチ

こちらの分割キーボードを購入したところから以下の商品を購入です。

購入に至ったきっかけ

エディタをviからnanoに変えたことが大きいです。

こちらはCtrlを多用するため、小指の負担を少しでも減らそうと言う試みでした。

また、業務中に

  • Ctrl
  • Ctrl + Alt + Delete
  • Windows + L
  • Enter

の入力機会は特に多いので、これらを自動化してしまおうというのもあります。

設定

設定はとても簡単に行えました。

このように、ペダルに割り当てるアクションを割り当てるだけです。

設定後の感想

思った以上に便利ではありますが、

  • 存在を忘れる(ついついキーボード上のEnterを押してしまう)
  • 脚の操作が存外難しい

というところ。もう少し体が慣れてから改めて感想を書こうと思います。

『ライザのアトリエ3』ゼッテルと旅人の水珠による特性の統合(及び別の中和剤への移し替え)。

『ライザのアトリエ2』で培った知識がここでも使えました。

概要

コアアイテムであれば

  • クリティカル
  • 破壊力上昇

装備品であれば

  • ステータス強化(攻撃/防御など)

等の特性を1つにまとめたいケースに対するちょっとしたテクニックです。

また、中和剤・赤の特性を中和剤・緑などに移し替えるときにも役立ちます。

前提

全ての特性を引き出すことができるだけの

  • 素材(特に属性値の大きさは重要です)が揃っている
  • 投入回数追加を解放している

が条件です。(回数や属性値は鍵の底上げも考慮してください)また、材料として

  • 泡立つ水(カーク諸島で採取)
  • 氷属性のキノコ
  • 紙くず

は多用します。

手順

さっくりとした手順

  1. 特性を統合したい中和剤を用意します。
  2. 複数の中和剤を用いてゼッテルを作り、特性を統合します。
  3. ゼッテルを原料にして旅人の水珠を調合します。
  4. 旅人の水珠を原料にして中和剤を作成します。

詳細手順

統合したい中和剤を複数選びます。

ここでは

  1. 中和剤・緑(全能力強化 ++ 50)
  2. 中和剤・青(スキル強化 ++ 50 / 攻撃強化++50)

を用意しました。レベルのある特性はループさせて全開にしておきます。

このとき、「品質上昇++」をループに組み込んでおけばループの過程で中和剤自身を品質上限まで上げられます。

ゼッテルを調合します。

  • 紙くずの属性値が1以上あれば品質は適当で構いません。
  • 中和剤を投入するマテリアル環に上記、統合したい中和剤を入れていきます。
  • 特性のマテリアル環は忘れずに解放しましょう。

引き継ぎ特性の時に統合した特性を選んでいきます。

旅人の水珠を調合します。

  • 中和剤の特性を統合させたゼッテルを組み込んでいきます。
  • ここでも特性の解放が必要です。
  • 旅人の水珠で特性を解放させるの属性値は3と厳しくなっているので、素材の厳選や鍵による底上げが必要です。

引き継ぎ特性はゼッテルで統合させたものを選びます。

これによって、各種中和剤から抽出した特性を統合した「水」ができあがりました。

まとめ

全ての中和剤は「水」を必要としているので、ここまで来れば

  • これを元に特性を統合した中和剤を作る
  • 他の色の中和剤を作る

まで一本です。

また、採取道具や他の調合素材は中和剤の原料となる素材を追加することが可能です。

動物素材や金属から特性を移し替えることもできますので、このテクニックは覚えておくと便利です。

『ライザのアトリエ3』中和剤による特性の強化ループ。

概要

『ライザのアトリエ2』と同様の「同じ色の中和剤による特性の強化ループ」が有効でした。

メカニズム

中和剤・黄のパターンで説明します。

  1. 必要とする材料に鉱石。
  2. 効果により鉱石を付与できる。

このことから、「鉱石を付与した中和剤・黄を投入することで特性Lvが上昇していく」ループを組み込むことができます。

実例

上記の中和剤・黄でやってみます。

実例の前提条件

  • ある程度の原料が揃っていること(属性値3の原料が揃っていない序盤ではできません)
  • スキルツリーの解放によって投入回数や品質上限を上げていること(ここでは700を例にします)

さっくりとした手順

  1. ループしたい特性を持つ原料を中和剤に投入します。
  2. 中和剤が必要とする材料と同じ効果を付与します。
  3. 特性を解放させて中和剤を完成させます。
  4. 完成させた中和剤を原料にして同じ手順を繰り返していきます。

原料投入

調合画面で中和剤・黄を選びます。

上げていきたい特性を選びます。

ここでは分かりやすく「品質上昇」を入れます。

(絞り込み検索が便利です)

中和剤が必要とする材料効果を付与します。

効果2の(鉱石)付与を用います。

中和剤を完成させます。

引き継ぎ特性で先ほどの品質上昇系を選択します。(品質上承継では特性全てを解放させればループが短くなります)

ループを開始します。

同じ中和剤・黄を選択します。

原料に直前に調合した中和剤を「複数」入れます。

この、複数がポイントです。たとえ最初の特性Lv.が1だとしても、できた数だけ(基本は4)投入していけば

4 → 16 → 64

とLvは爆発的に上昇していきます。(この回数をいられるよう、スキルツリーで投入数は増やしていきましょう)

効果・特性を解放して中和剤を完成させます。

先ほどよりも特性レベルや品質が上昇していくのが分かります。

結果が得られるまでループを開始します。

ループには、この中和剤のみならずその他の原料も採取が必要です。

最終的に品質上昇++だけでこの結果になりました。

まとめ

中和剤は基本的な材料の代わりが可能なので、これを覚えておけば、ある程度の特性や品質を上げていくことができます。

ChatGPTによるシェルスクリプト。(続:Ubuntuサーバのパッケージ全体の更新とサービス再起動の有無) 

こちらのスクリプトを修正しました。(正確にはChatGPTに修正してもらいました)

修正版スクリプト

#!/bin/bash

# インストールされているパッケージの一覧を取得して別ファイルに出力します。
now=$(date +%Y%m%d)
dpkg-query -W > installed_packages_$now.txt

# aptitude updateを行います。
aptitude update

# updateの結果:
if aptitude search '~U' | grep -q '^i'; then
    # 対象パッケージ,変更前バージョン,変更後のバージョン を記入した日付付きのファイルを作成。
    now=$(date +%Y%m%d)
    upgraded_packages=$(mktemp)

    # パッケージのキャッシュをクリアした上でパッケージアップグレードを実施。
    aptitude clean
    aptitude -y full-upgrade | tee $upgraded_packages >/dev/null

    # パッケージ一覧からの差分を別ファイルで作成。(実行日の日付を付与)
    new_packages=$(mktemp)
    dpkg-query -W > $new_packages
    diff -u installed_packages_$now.txt $new_packages > package_diff_$now.txt

   # 新しいパッケージ名を取得
   DIFF_FILE="package_diff_$now.txt"
   NEW_PACKAGES=$(grep -E "^\+[^+]" $DIFF_FILE | awk '{print $1}' | cut -c 2-)

   # 変更されたパッケージの数と、新しいバージョンのパッケージ名のリストを表示
   UPDATED_PACKAGES=$(echo "$NEW_PACKAGES" | wc -l)
   echo "$UPDATED_PACKAGES 件のパッケージに変更がありました。以下のパッケージが更新されました:"
   echo "$NEW_PACKAGES"

    # checkrestartを実行して結果を取得
    now=$(date +%Y%m%d)
    checkrestart_output=$(checkrestart)

    # サービスを再起動する必要のあるプロセスを抽出してファイルに出力
    restart_services=$(echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | awk '{print $NF}' | sort -u)

    if [[ -n "$restart_services" ]]; then
        # ファイル名に日付を追加
        now=$(date +%Y%m%d)
        filename="restart_services_$now.txt"

        echo "以下のサービスを再起動してください:" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$" >> "$filename"

        echo "以下のサービスを再起動してください:"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$"


    else
        echo "再起動するサービスはありません"
    fi
fi

差分

+   # 新しいパッケージ名を取得
+   DIFF_FILE="package_diff_$now.txt"
+   NEW_PACKAGES=$(grep -E "^\+[^+]" $DIFF_FILE | awk '{print $1}' | cut -c 2-)
+
+   # 変更されたパッケージの数と、新しいバージョンのパッケージ名のリストを表示
+   UPDATED_PACKAGES=$(echo "$NEW_PACKAGES" | wc -l)
+   echo "$UPDATED_PACKAGES 件のパッケージに変更がありました。以下のパッケージが更新されました:"
+   echo "$NEW_PACKAGES"

これによって、アップグレードするパッケージを明確化させました。

次の展望

「どこまで自動化できるか」が課題となります。パッケージによっては設定ファイルを残すかどうかのウィザードが表示されるので、それに対する自動実行までいけたらと思います。

ChatGPTによるシェルスクリプト。(Ubuntuサーバのパッケージ全体の更新とサービス再起動の有無)

脆弱性などに対応するため、Linuxサーバのパッケージを最新に保つことは重要です。

ですが、どこかでトラブルが発生した際に「どのパッケージを更新してから異常が発生したか」の履歴を追うことも必要。

そこで、以下のシェルスクリプトをChatGPTに尋ねながら作ってみました。

動作確認環境

  • Ubuntu 20.04で動作を確認しました。
  • 筆者の好みの関係上、パッケージ管理はaptitudeを用いています。
  • また、サービス再起動の有無を確認するため、checkrestartをインストールします。(debian-goodiesをインストール)

要件

ChatGPTに要求した要件は以下の通りです。

  • パッケージ一覧のリストを作成する。
  • パッケージ全体のupdateを行う。
  • そのupdateで差異があった場合はファイルに出力して更新を行う。
  • サービス再起動があったらそれを標準出力とファイルに出力する。

かなりの試行を重ねて以下のスクリプトができあがりました。

スクリプト内容

  • update-packages.sh
#!/bin/bash

# インストールされているパッケージの一覧を取得して別ファイルに出力します。
now=$(date +%Y%m%d)
dpkg-query -W > installed_packages_$now.txt

# aptitude updateを行います。
aptitude update

# updateの結果:
if aptitude search '~U' | grep -q '^i'; then
    # 対象パッケージ,変更前バージョン,変更後のバージョン を記入した日付付きのファイルを作成。
    now=$(date +%Y%m%d)
    upgraded_packages=$(mktemp)

    # パッケージのキャッシュをクリアした上でパッケージアップグレードを実施。
    aptitude clean
    aptitude -y full-upgrade | tee $upgraded_packages >/dev/null

    # パッケージ一覧からの差分を別ファイルで作成。(実行日の日付を付与)
    new_packages=$(mktemp)
    dpkg-query -W > $new_packages
    diff -u installed_packages_$now.txt $new_packages > package_diff_$now.txt

    # checkrestartを実行して結果を取得
    now=$(date +%Y%m%d)
    checkrestart_output=$(checkrestart)

    # サービスを再起動する必要のあるプロセスを抽出してファイルに出力
    restart_services=$(echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | awk '{print $NF}' | sort -u)

    if [[ -n "$restart_services" ]]; then
        # ファイル名に日付を追加
        now=$(date +%Y%m%d)
        filename="restart_services_$now.txt"

        echo "以下のサービスを再起動してください:" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$" >> "$filename"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$" >> "$filename"

        echo "以下のサービスを再起動してください:"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep -v "restart$"
        echo "$checkrestart_output" | awk '/^(These are the systemd services|These are the initd scripts)/{flag=1;next}/^$/{flag=0}flag' | grep "restart$"


    else
        echo "再起動するサービスはありません"
    fi
fi

記入後、以下を実施します。

sudo chown root:root update-packages.sh
# root権限で実施するため

sudo chmod 744 update-packages.sh

確認結果

sudo bash update-packages.sh

を実行後、

  • 現在インストールされているパッケージのバージョンを別ファイルに出力
  • パッケージのアップデート
  • その際に差分があればアップグレード
  • サービス再起動の有無を判断し、あればそのサービスを表示

という結果が出ました。

今後の展望

  • 可読性を高くする
  • 自動実行を行う
  • ログ化してローテーションを行う

等は実施したいです。

ゲーム『ライザのアトリエ3』最初の感想。

続編が出ると想像すらしていなかった「3」がいよいよ現実のものとなりました。

はやる気持ちを抑えてダウンロードしてインストールし、起動して数時間ほど遊んだ感想をネタバレあまりなしで書きます。

キャラクターがとかく動く。

表情がとても豊か。ガストが2021年にリリースした『BLUE REFLECTION TIE/帝』や2022年の『ソフィーのアトリエ2』で培った技術をフルに活かしているという印象です。

コンテナ倍加。

以前の5,000から10,000へと倍増。(ただ、これでも足りなくなりそうです)

戦闘時の声の掛け合い

個人的にとても気に入ったところです。この掛け合いがやたらと発生するので、戦闘時がまるで一つのセッションのようです。

調整された調合。

「バランス調整」といったところでしょうか。1と2でできていた「レシピ変化による武器の強化」は実質的に封じられていますし、アイテムリビルドもまだ解放されていません。

とはいえ、

  • 中和剤ループ
  • 中和剤やゼッテルを介した特性の移し替え

などは建材ですし、新システムの調合も悪くありません。

ゲームはまだ序盤なので、これからが凄く楽しみです。

備考

ネタバレありの感想はRedmineのコメントに記しています。

https://atelier.reisalin.com/issues/37

多目的スコアシート。(電卓付き電子メモパッド)

百均で見つけ思わず購入です。

700円商品と結構高額。ですが、

  • ソーラー電卓
  • 電子メモ

が一緒になったもの。

広げたときのサイズはiPad miniより少し小さいかなという程度です。

「ボードゲームのスコア計算と記録を一緒にやってくれる」と思いました。早速、この使い勝手を確かめるために『アグリコラ』を広げます。

思った通り、右側のメモの所に得点源をかき、左の電卓で計算。最終スコアを記入する余白もありました。

また、iPadと比べて断然安価なのでボードゲームカフェやオープン会で広げても大丈夫ですし、各人がスマートフォンの電卓を立ち上げる必要も減ります。

何のかんので便利なので職場用にも持っておきたいやつでした。

ソロゲーと背景。(2023年3月)

集中してボードゲームソロを行う気分となったので、そのときの簡単な記録と「それを用いた撮影」です。

アルルの丘

準備やプレイ時間の兼ね合いなどで稼働率は低いながらも充実感が強い作品。

今回は割とオーソドックスに「15点建物を3軒建てる」を目標にして120点を取ることができました。

アンダーウォーターシティーズ

コンポーネントが綺麗でフレーバーも大好きなのにゲームシステムが難解な『アンダーウォーターシティーズ』。今度こそクリア(7つの都市をつなげて100点を取る)を目標にしていたものの、90点とあと10点届かず。

コツは飲み込んできたのでもう少しやりこんでみたいです。

アグリコラ

こちらは別項で取り上げるサプライの使い勝手を確かめるために遊んだもの。

職業がかみ合って60点を超えることができました。

コンポーネントをしっかり手に取って動かしながら考えるという行為そのものが好きなので、もう少し時間を作らないとと感じます。

ボードゲーム『旅のあと』感想。

チップドラフトとセットコレクションが程よくまとまり、プレイ中の会話も盛り上がる中量級の良作です。

【概要】

プレイヤーたちは旅行先(京都/シンガポール)から帰ってきたばかり。

「何をしたっけ」
「この観光名所はどこだったか」
「ホテルはここだったはず」

とおのおのの記憶が微妙に食い違っています。そこで、各人は断片的な記憶を頼りに旅の詳細を思い出そうとしています。

【ゲームシステム】

ぱっと見はタイル配置ですが、その実はチップドラフト。

各手番、規定の枚数のチップのかたまりを個人ボードに条件に従って配置。これを繰り返していき、タイルと同じ形にチップが並んだら得点が発生。

このとき、

  • 共通ボードにタイルが置かれていない場合:個人ボードと同じ箇所にタイルを配置。完成ボーナスと記憶ボーナスを入手
  • 共通ボードに先にタイルが置かれていて完全に一致:完成ボーナスと記憶ボーナスを入手
  • 共通ボードに先にタイルが置かれていて一部が一致:完成ボーナスと記憶ボーナスの一部を入手
  • 共通ボードに先にタイルが置かれていて一致せず:完成ボーナスのみ入手

となっているため

何も置かれていない場合は先行しての配置を目指し、置かれている場合はそれに合わせるという協力と競合が生まれます。

全てのチップが配布されたらゲーム終了。共通目標や個人目標に合わせて最終得点計算となります。

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

○ドラフトがもたらすインタラクション

先にお伝えしたように、「チップを配置してからタイルの形が決まる」システム。
そこにランダムに加わる記憶のチップ(名所や公園などの色が書かれています)のドラフトが加わることで

「後一手で完成するけど上家に完成されそう」
「配置したいけどこの指示通りに置けるか?」

といった読み合いが生まれます。

○共通ボードかセットコレクションか

上述した共通ボードを目指す他の得点源として、レストランやショッピングエリアの大量配置ボーナスやゲーム開始時に配られる個人目標があります。
そのため、既にある共通ボードの得点を無視してでも完成を目指す余地は残されています。なので、ゲーム中は

「私の記憶が確かなら京都タワーはここにあった」
「そこにレストランなんてなかった。いいね?」

など、各人の“記憶の捏造”で盛り上がります。

○厚手でしっかりしたコンポーネント

『パッチワーク』と同じぐらいの箱の大きさでありながらぎっしりと詰まったコンポーネントはどれもしっかりとしていて、遊びごたえは充分。

各ランドマークを立てて配置できるスタンドなども心憎い演出です。

【このゲームの難点】

●実質的に4人専用ゲーム

3人では余剰のチップが生まれ、2人ルールは準備がちょっと大変です。個人ボードを東西南北に設置することからも、人数を選ばず遊べるというわけではありません。

●終盤の巻き返しが難しい

この手のゲームの常として、先行して走っている人を差しきるのは大変です。序盤のミスが終盤、致命的に響いてしまうのも難点です。
ライトに見えて一手が重いゲームと言えます。

【まとめ】

インスト合わせて1時間ほどで終わるゲームながらもインタラクションや合間の会話で盛り上がることができる良作。

個人的には、配置ゲームでありながらスペースが固定されているのでテーブルが広がらずに済むというのも好感です。

  • 4人揃っている
  • 変則的なタイル(?)配置を行いたい

という方に手に取っていただきたいゲームです。

Page 1 of 4

Powered by WordPress & Theme by Anders Norén