読書日記:『UNIXという考え方』(オーム社)感想

はじめに UNIXの考え方をまとめた『UNIXという考え方』を読みました。 20~30年前の書籍で古い情報もありますが、現代でも重要な考え方を学ぶことができました。 この記事では簡単に感想を書いておこうと思います。 下記リンクが公式サイトです。 オーム社 - UNIXという考え方 感想 スモールイズビューティフル まずは最も有名な考え方だと思われるスモールイズビューティフルです。 プログラミングをやっていれば必ずどこかで知ることになる「プログラムは小さく書く」の考え方です。 何も考えずにプログラムを書いていると、 一つのプログラムでいろいろなことをやろうとして多機能化してどんどん肥大化してしまいます。 大きいプログラムというのは読みにくいし、 保守も大変だし、 移植性も下がるし、 他のプログラムと組み合わせるのも難しいしなど、 たくさんのデメリットがあるためできるだけプログラムは小さくしようという考え方です。 そこでもう一つ重要な考え方として、 「一つのプログラムには一つのことをやらせる」というものがあります。 一つの小さいプログラムで一つのことをやらせて、 それらのプログラムを組み合わせることで複雑なこともできるようにするということが重要になってきます。 CLIでコマンドをパイプで繋いで複雑なデータ処理を行うとかがまさにこういう考え方になっていそうです。 ただ、この書籍で述べられていましたが、 lsコマンドのオプションが50個くらいあるみたいに、 コマンド一つ一つが多機能化して大きなプログラムになってしまう問題も発生しているようです。 私もいわゆるモジュール化や疎結合のような一つ一つの処理を分けて、小さなプログラムにして、組み合わせて使うというようなことを、 最近は少しずつ意識してプログラムを書くようにはしています。 とはいえまだまだ身に付けられていないので勉強あるのみという感じです。 新しい技術は拒否される UNIXも最初はビジネスの世界では受け入れられず、 大学などの研究で好まれて使われていたという説明があって、 今では安定した立ち位置にいるUNIXでさえも最初はそんな感じだったのかと驚きました。 2026年現在では急速に発展し続けているAIが一部では受け入れられてなかったりしていて、 歴史は繰り返すという言葉の通りかなと思っています。 早く試作する 実際に作って動かしてみないと課題は見つからないという考え方で、 できるだけ早く試作しようと本書では述べられています。 仕事では完璧に仕様を決めてから開発に取り掛かることが望まれそうですが、 開発中に仕様変更が必要になることも多々あったり、 そもそも仕様の認識が合っていなくて作ってから認識のズレが分かったりするなどが起こりえます。 つまり最初に完璧な仕様を作成するというのが基本的には困難ということになりそうです。 私も実際に作ってみないと本当にできるのかよく分からないことが多いので、 早く試作するというのは大事な考え方だと思っています(私の場合は経験不足な部分もありそうですが)。 また、ドキュメントについて、詳細で丁寧なドキュメントが必要があれば最終的に作成することになるが、 何よりも開発を優先して、 ドキュメントは基本的な情報を書いたものがあればよいと書いてありました。 OSSでドキュメントが不親切だなと思ったことがいくらかありますが、 リソースが足りない状況では開発のほうに集中してドキュメントは必要最低限になるのも仕方ないかと改めて思いました。 結局はどれだけドキュメントが用意されていようと動かないことには意味がないということになると思います。 コミュニティのソフトウェア開発:3つのシステム コミュニティでソフトウェアを開発する際には3つのシステムを作ることになるという話が特におもしろかったです。 以下のような流れです。 第一のシステム:一人あるいは小数人で「こういうソフトがあったらおもしろいよね」という考えのもとに開発する。足りないところもあるが斬新で革新的なソフトウェアができあがって、成功すれば世間的に流行する。 第二のシステム:第一の成功の魅力にひかれてたくさんの人が集まってくる。開発に関わる人や意見を言う人が多くなって要求が増えてソフト自体がどんどん多機能化、肥大化していく。人数の増えたコアメンバ間でも意見が一致せず、迷走気味になったりもする。 第三のシステム:第一や第二の開発を行っていた人たちは飽きたり他のおもしろいプロジェクトに移ったりなどしていなくなり、別の人たちが第一や第二の良いところ取りをした第三のシステムを作り始める。これが一番バランスの取れた良いソフトとなる。 ジンテーゼのような考え方でソフトウェアが作られていくのだなと思っておもしろかったです。 また、この話も実際に作ってみないと何が正しいか分からないということでもあるようです。 この話を読んだときに今使っているソフトとかも同じような道を辿っているのかも思ったりしました。 ここでもやはり歴史は繰り返すというやつです。 性能や効率よりも移植性や利便性が大事 この話は言われてみれば確かにそうだと思いました。 プログラムを書くときは性能や効率のことばかり考えがちだったのですが、 移植性や利便性を考えないと長く使えるプログラムにならないようです。 また、性能や効率はいずれコンピュータの性能が向上すれば解決するので、 現状で要求を満たせる性能に達していれば性能向上に時間を費やす必要はないとのことです。 もちろん性能や効率が高いにこしたことはありませんが、 それよりも移植性や利便性を向上させることに時間をかけたほうが良いというのは、 そのソフトを長生きさせる上では重要でなるほどとなりました。 ...

作成日: 2026年5月24日 · Yusuke Kato

スタックチャンにシンプルなText-to-Speech機能を実装して喋ってもらう

はじめに 概要 今回はシンプルなText-to-Speech機能(フォルマント合成)を実装してスタックチャンに喋ってもらおうと思います。 音声合成のライブラリは性能が高いものがいろいろあるとは思うのですが、 勉強も兼ねてシンプルな音声合成機能を実装してみます(実装の大枠はGeminiにお願いします)。 過去の記事 M5Stack製のスタックチャンをmicro-ROSとArduinoで動かす方法を記事にまとめました。 スタックチャンをmicro-ROSで動かす - Arduino編 移動ロボットとスタックチャンの連携もやってみました。 スタックチャンをラズパイマウスに搭載してカメラを使った顔の検出と追従 Geminiに音声合成機能を実装してもらった 「勉強も兼ねて実装する」と言いつつ、音声合成機能のプログラムはGeminiに書いてもらいました。 この記事ではGeminiに実装してもらったプログラムを読み解いていこうと思います。 Geminiに実装してもらったプログラムは下記リンクで公開しています。 GitHub - stack-chan_micro-ros_arduino/speech.ino ちなみにプログラム全体の流れとしては下記の通りです。 トピックで文字列を受け取る 文字列を音声に変換する スピーカーで音声を出力する この記事では基本的なArduinoのお作法やmicro-ROSの処理の説明は省いて、 音声合成機能部分を読み解いていきます。 プログラムを読み解く 注意: 音声合成について素人なので説明が間違っていたらすみません。 フォルマント このプログラムではフォルマント合成でテキストを音声に変換して、 人工的に人間の声を模倣しています。 フォルマントについては下記のWikipediaの「フォルマント」ページを参照します。 Wikipedia - フォルマント フォルマントは人間の音声内で周囲よりも強度が高い周波数帯域のことです。 フォルマントは音声内に複数存在することもあり、周波数の低いほうから「第一フォルマント(F1)」、「第二フォルマント(F2)」、…と続いていきます。 私の理解だとフォルマントがその音声の特徴になるかと思います。 つまり逆に考えると、フォルマントを人工的に再現できるとその音声が生み出せるということになります。 ちなみに人間の音声におけるフォルマントは、主に口腔や鼻腔等での共鳴によって発生するようです。 特に、第一フォルマントは口の開きの大きさ、第二フォルマントは舌の前後の位置に影響されるとのことです。 そして今回のプログラムでは、この第一フォルマントと第二フォルマントの周波数を再現することで母音(a,i,u,e,o)の音を模倣しています。 周波数は下記のように設定されています。 1列目が第一フォルマント、2列目が第二フォルマントです。 母音のa,i,u,e,oの5つそれぞれに値を設定します。 const float VOWEL_FREQ[5][2] = { {800.0, 1200.0}, // a {300.0, 2300.0}, // i {300.0, 1200.0}, // u {500.0, 1900.0}, // e {500.0, 800.0} // o }; これらの周波数は下記リンクの研究で計測されています。 日本語母音のフォルマント周波数の年齢による変化(粕谷ら、2006) Biquad Filter このプログラムでは、Biquad Filterというフィルタを使って、 音のベースとなる非対称の矩形波(声帯の模倣となるパルス波)を入力し、指定した周波数帯(第一フォルマント、第二フォルマント)を強調させた滑らかな波形を出力します。 そして第一フォルマントと第二フォルマントのそれぞれの波形を足し合わせて母音(a,i,u,e,o)の音声を作成します。 ...

作成日: 2026年5月22日 · 最終更新日: 2026年5月23日 · Yusuke Kato

スタックチャンをラズパイマウスに搭載してカメラを使った顔の検出と追従

はじめに 概要 M5Stack製のStackChan(スタックチャン)をアールティの小型移動ロボットRaspberry Pi Mouse(ラズパイマウス)に搭載して、 スタックチャンのカメラを使った顔の検出と追従を行いました。 スタックチャンのカメラ画像をmicro-ROSでトピックとして配信、 ラズパイマウス側のROS 2で画像を受け取ってOpenCVで顔を検出、 顔の位置が画像の中心かつ顔の大きさが範囲内に収まるようにスタックチャンとラズパイマウスを動かします。 注意: ちなみにラズパイマウスは自社製品ですが今回は個人開発です。宣伝とかではないです。 これまでにやったこと、今回やること まずラズパイマウスをROS 2で動かせるようにセットアップしました。 Raspberry Pi Mouseをセットアップ 次にmicro-ROSとArduinoを使ってROS 2のトピック経由でスタックチャンのモータを動かせるようにしました。 スタックチャンをmicro-ROSで動かす - Arduino編 そして今回はスタックチャンのカメラ画像をトピックで配信してOpenCVによる顔の検出を行い、 スタックチャンとラズパイマウスのモータを動かして顔を追従させます。 開発環境 開発環境は前回と同様なので前回の記事を参照ください。 スタックチャンをmicro-ROSで動かす - Arduino編(再掲) スタックチャンのカメラ画像をトピックで配信 まずはスタックチャンのカメラから画像を取得してmicro-ROSで配信します。 カメラ画像の取得方法は下記の公式のサンプルプログラムを参考にしました。 M5Stack - StackChan Camera カメラ 実際に作成したプログラムは下記です(だいたいはGeminiに書いてもらいました)。 GitHub - stack-chan_micro-ros_arduino/camera_node.ino 注意点としては画像は比較的にデータサイズが大きいため、マイコンで処理する場合は扱う画像を小さくするなどの対策が必要になることがあります。 また、micro-ROSで画像をトピックとして配信するわけですが、ここでもデータサイズに制限があってあまり大きなデータは扱えないようです。 そのため今回は.frame_size = FRAMESIZE_QQVGAのように解像度は160x120に設定して、 fmt2jpg()でjpg形式に圧縮してからCompressedImageとして配信しています。 画像がグレースケールで問題なければPIXFORMAT_GRAYSCALEを設定したり、 解像度がもっと小さくてもよければFRAMESIZE_96X96を設定したりもできます。 また、配信周期は一応5Hzに設定していますが、実際は1~2Hz程度になっていました。 以上のプログラムでスタックチャンのカメラ画像を/stackchan/camera/image/compressedというトピック名で配信できました。 スタックチャンにプログラムを書き込んでmicro-ROS agentを起動した後、rqtを使って配信されているカメラ画像を確認できました。 実行方法は下記のREADMEを参照ください。 GitHub - stack-chan_micro-ROS_arduino/README#camera 顔を検出してスタックチャンとラズパイマウスで追従する カメラ画像が取得できたので本題の顔の検出と追従を行います。 ROS 2のトピックのpublish/subscribeを行うので専用のROS 2パッケージを作成しました。 下記のGitHubリポジトリとして公開しています。 GitHub - YusukeKato/stackchan_on_raspimouse ...

作成日: 2026年5月16日 · Yusuke Kato

スタックチャンをmicro-ROSで動かす - Arduino編

はじめに KickStarterでM5Stack製のスタックチャンを手に入れたので、 micro-ROSとROS 2、Arduino IDEを使ってスタックチャンのモータの制御と現在角度の取得をやってみようと思います。 KickStarterのM5Stack製スタックチャンの情報は下記リンクです。 KickStarter: M5Stack - スタックチャン 開発環境 下記の環境で開発しています。 ROS 2を使用するためUbuntu PCが必要になります。 PC Ubuntu 24.04 LTS ROS 2 Jazzy Arduino IDE 2.3.8 Docker 29.5.0 Arduino IDE - Boards esp32 3.3.8 M5Stack 3.3.7 Arduino IDE - Library micro_ros_arduino 2.0.7-humble 2026/05/17追記:3.0.0-ironでも動作確認済み M5StackChan 1.0.1 M5Stack製スタックチャン用のプログラムはGitHubでも公開しています。 GitHub - YusukeKato/stack-chan_micro-ros_arduino ROS 2のインストール ROS 2 Jazzyの公式チュートリアルは下記リンクです。 ROS 2 Jazzy Tutorials ROS 2 Jazzyのインストールについては私のほうでも別の記事に書いたので、そちらを参考にしていただければと思います。 ROS 2 Jazzy公式チュートリアル01: ROS 2 Jazzyのインストールから動作確認まで M5Stack製スタックチャンのスペック M5Stack製スタックチャンの詳細は下記リンクの公式ページで確認できます。 ...

作成日: 2026年5月13日 · 最終更新日: 2026年5月17日 · Yusuke Kato

AlpacaHackで始めるCTF入門8:初めてのDaily AlpacaHackに挑戦 2026/05/08 Vending Machine

はじめに 概要 前回から一年以上経って久々のAlpacaHackです。 どうやら毎日問題が出題されるDaily AlpacaHackというものが始まっていて、 しかも初心者向けの教育的な問題ということなので、 CTF初心者の私にちょうどよさそうです。 今回は直近で簡単そうな問題(Easy)である2026年5月8日の「Vending Machine」に挑戦してみようと思います。 Daily AlpacaHack 2026/05/08 - Vending Machine AlpacaHack AlpacaHackへのリンクはこちら AlpacaHackのサイトへのリンク 前回の記事 2024年12月09日の記事です。 AlpacaHackで始めるCTF入門7:AlpacaHack Round 5 - XorshiftStreamに挑戦 問題内容 今回挑戦する問題「Vending Machine」は自販機スクリプトからFlagを購入することを目指す問題のようです。 スクリプトを実行すると入力が求められるのでa~eのいずれかを入力するとそれに対応した商品が購入できます。 ここでfがFlagに対応しているのですが、単純にfを入力しても不正な入力と判定されてしまいます。 実際に実行してみた↓ $ nc 34.170.146.252 30573 Please select an item. ---------------- a: apple juice b: banana juice c: coke d: draft beer e: energy drink f: flag x: exit ---------------- your choice> a # aを入力 You bought apple juice. Thank you! your choice> f # fを入力 Invalid choice. your choice> x # xを入力 Bye. スクリプトを読んでみる この問題の自販機スクリプトserver.pyを読んでみます。 ...

作成日: 2026年5月10日 · Yusuke Kato

Raspberry Pi Mouseをセットアップ

はじめに せっかくのゴールデンウィークなので家でもロボット開発をしてみようということで、 アールティのRaspberry Pi Mouse V3(通称:ラズパイマウス)を購入してみました。 最終的にはM5Stack製のスタックチャンと連携させるところまでやりたいと思っています。 注意: ちなみにラズパイマウスは自社製品ですが今回は個人開発です。宣伝とかではないです。 ラズパイマウスについて 下記写真がラズパイマウスです。ROS 2対応で2つの車輪が付いた移動ロボットです。 詳しい情報については下記リンクの公式ページで説明されています。 株式会社アールティ - Raspberry Pi Mouse V3 ラズパイマウスの上にスタックチャンを乗せたかったのでオプションキットのマルチLiDARマウントも追加で購入してみました。 ラズパイマウスのセットアップ 開封 私はラズパイマウスのフルキットを購入しました。 ちょうどRaspberry Piも欲しかったので手に入って良かったです。 環境 今回は下記環境をセットアップしました。 Ubuntu Server 24.04 LTS ROS 2 Jazzy セットアップに使用したPCはWindows 11です。 セットアップ セットアップ手順は下記の公式チュートリアルに従いました。 基本的にはチュートリアル通りにセットアップを行ったのでこの記事では細かい説明は省略します。 RT Corporation Software Tutorials - Raspberry Pi Mouse Raspberry Pi Imagerを久しぶりに使いましたが、Wi-Fiやsshの設定も一緒にできてやっぱり便利ですね。 OSを書き込んでラズパイマウスを起動した後、まずはデバイスドライバをインストールしました。 ちなみにRaspberry Pi 4Bをディスプレイに繋ぐためにはmicroHDMIケーブルが必要です。 私はディスプレイに繋ぐのが少々手間だったので最初からsshで接続しました。 デバイスドライバのインストールが完了したら次にROS 2 Jazzyをインストールします。 CLI版のUbuntu Serverを使用しているので、ROS 2もros-jazzy-ros-baseのほう(desktop版ではないほう)をインストールしました。 ...

作成日: 2026年5月2日 · Yusuke Kato

Pokemon Champions日記2:シングルバトルでマスターボール級へ

はじめに Pokemon Championsを一週間くらい遊んでいます。 ポケモンバトルは初心者で、 好きなポケモンを使ったり、 バトルで強かった相手のポケモンを自分でも使ってみたり、 攻略サイトで紹介されているポケモンを使ってみたりしていました。 そしてようやくマスターボール級まで上がったので記録を残しておきます。 下記がPokemon Championsの公式サイトのリンクです。 Pokemon Champions公式サイト マスターボール級へ上がった シングルバトルでマスターボール級へ上がった時のスクショです。 ハイパーボール級のⅠまで結構サクサク上がったのですが、 残り一勝でマスターボール級に上がるというところから連敗を重ねてどんどんランクが落ちてしまいました。 その後ハイパーボール級のⅡ~Ⅰの間で勝ったり負けたりを繰り返してようやくマスターボール級に上がれたという流れです。 自分のキャラクターも少しずつ変更を加えていて、 今はオシャレなお姉さんみたいな見た目をしています。 ただ最初はお兄さんみたいな見た目を選んだので性別は男性のはずです。 主に使っているポケモン パーティのポケモンを入れ替えながらバトルを模索していて、 その中でも最初から使っているポケモンを紹介します。 マリルリ まずは私のパーティの主力であるマリルリです。 マリルリは能力値的には弱いほうのようですが、 タイプが水とフェアリーで現在の環境(ドラゴンやじめん、ほのおなど)に対してかなり強いのと、 特性の「ちからもち」で物理技がかなり強くなって、 かなり良いポケモンだと思います。 弱点のワザでなければ一発は耐えられるので耐久性も悪いわけではないです。 おすすめです。 ゲンガー 次は評判の高いゲンガーです。 ゲンガーは耐久性は低いですが、特攻と素早さが高くて先にワザを出して相手のHPを削っていく戦い方になります。 相手の特防が低ければワンパンもしやすいです。 きあいのタスキでワンパンされないようにしたり、メガゲンガーにして能力値を上げたりなど戦い方もいくつか選べそうです。 特攻が高いのでタイプ一致していないワザでも効果抜群を取れたらワンパンで倒せる可能性がそこそこあります。 おすすめです。 カビゴン 最後はカビゴンです。 カビゴンは見た目の通り耐久性が売りで格闘ワザで効果抜群を取られなければだいたいの攻撃は一発耐えられます。 さらには一発どころから2,3発耐えられたりもします。 「たべのこし」を持たせておけばさらに耐久性が上がります。 あと「じしん」や「れいとうパンチ」、「かみくだく」など様々なタイプの強めのワザを覚えられて、 いろいろな相手に効果抜群を取れて戦いやすかったりします。 最近の環境と対策 物理耐性のあるポケモンが多い アーマーガアやブリジュラス、カバルドン、ギルガルドなど物理耐性が高く、 さらに防御の能力値を上げられるポケモンと当たることが多いです。 これらのポケモンは物理ワザでは効果抜群でも一発では倒せなくて厄介でした。 パーティに特殊ワザでじめんタイプやはがねタイプに効果抜群ワザを出して戦えるポケモンを用意しておかないとしんどいと思います。 ドラゴンは単純に強い ほとんどのプレイヤーがパーティ内にドラゴンタイプのポケモンを入れているので、 ドラゴン対策をしていないと簡単に負けます。 私の場合はマリルリで倒しています。 メガリザードンYに注意 マリルリを使う注意点として、メガリザードンYのソーラービームでワンパンされるので気をつける必要があります。 タイプ的にリザードンはほのおタイプが入っているのでマリルリで勝てそうに思いますが、 実際は特性の「ひでり」でソーラービームを溜めなしで打って来てマリルリでは耐えられません。 マリルリを出した時にメガリザードンYが出てきたらすぐに入れ替えましょう。 ...

作成日: 2026年4月18日 · Yusuke Kato

Pokemon Champions日記1:ポケモンバトルしたい

はじめに ポケモンバトル特化のゲーム「Pokemon Champions」がSwitchで販売開始したのでさっそく遊んでみました。 私はポケモンシリーズはいくつかクリアしていますが、対人戦のポケモンバトルは初心者です。 あと最近のポケモンはプレイしていないので知らないポケモンも多いです。 そんな状態で分からないことは多いのですが、基本プレイは無料とのことなのでひとまず遊んでみようかと思います。 下記がPokemon Championsの公式サイトのリンクです。 Pokemon Champions公式サイト ちなみに現在はNintendo Switchだけですが、いずれはスマホアプリ版が出るっぽいです。 ポケモンスカウト Pokemon Championsではポケモンスカウト機能があって、 いわゆるソシャゲのガチャ的な仕組みでポケモンを手に入れることができます。 他のポケモン作品からポケモンを持ってこれる機能もありますが、 私は他にポケモンをプレイしていないので今のところスカウト機能で手に入れたポケモンだけでバトルしています。 下記画像に写っている赤髪が私で、 おじさんはなぜか私をジムの後継ぎにしてくれたコーディさん、 お姉さんはポケモンをスカウトできる牧場みたいなところのルッコラさんです。 スカウトでは1度に10匹のポケモンが提示されて、その中から1匹のポケモンを選択して手に入れます。 ポケモンの能力値やワザ構成、性格、特性などはランダムっぽいですが、 あとでトレーニング機能で自由に変更可能です。 ボックス内のポケモン 自分のポケモンはいつものボックスで確認できます。 現状の私のポケモンは下記画像のようになっています。 スカウトだけでもたくさんのポケモンを手に入れられるので、 今のところは他のポケモン作品を持っていなくても特に困っていないです。 最近のポケモンは詳しくないですが、 ソウブレイズが強くてカッコいいので気に入っています。 カイリューは早期ログインキャンペーンみたいなものでもらいました。 バンギラスやガルーラ、カビゴンのような耐久力のあるポケモンが安心感があって結構好きです。 あとメガシンカも使いどころをまだ理解できていませんが楽しいです。 ポケモンのトレーニング ポケモンの能力値とワザ構成、性格、特性はトレーニングで自由に変更できます。 ただし、VPというポイントかトレーニングチケットが必要なので注意が必要です。 スターターセットみたいなものを購入するとチケットがたくさんもらえます。 ランクバトル Pokemon Championsにはバトルが何種類かありますが、 メインはランクバトル(シングルとダブルがある)かと思います。 ランダムでユーザ同士でバトルして勝つとどんどんランクが上がっていきます。 最初はビギナーでチュートリアルをクリアするとモンスターボール級に上がります。 そしてモンスターボール級で何回か勝ち進むとスーパーボール級になります。 ↑服もポイントで購入できます。赤色系で統一するファッションを目指しています。 現在のランクは下記の通りです。 ビギナー級 モンスターボール級 スーパーボール級 ハイパーボール級 マスターボール級 チャンピオン級 また、一ヶ月程度のシーズンごとにランクが決まるようです。 私も一番上を目指して楽しんでいきたいと思います。 あと今はシングルバトルをメインに遊んでいますが、 ダブルバトルも遊んでみたいですね。 おわりに 今回はPokemon Championsでポケモンバトルをやってみました。 初心者なりにポケモンバトルも楽しめていて、 好きなポケモンでバトルに勝てた時の達成感も凄いので、 引き続き上を目指して勝ち進んでいきたいと思います。 それでは、また。

作成日: 2026年4月11日 · Yusuke Kato

GARAGE ガラージュのプレイ記録

はじめに 概要 かつて30万円ほどで取引されていた幻のゲームであり、 現在はリマスター版が販売されて遊びやすくなった「GARAGE ガラージュ」をプレイしました。 クリア記念に記録を残しておきます。 下記がSteamの販売ページのリンクです。 Steam - GARAGE ガラージュ 注意 本記事はネタバレありなので未プレイの方はご注意ください。 プレイのきっかけ 私がガラージュを知ったのは元にじさんじライバーの黛灰さんの配信でした。 25万円で購入したという話を見かけて気になって配信を見始めましたが、 ゲームの雰囲気が素敵すぎてビックリしたことを何となく覚えています。 さすがに25万円は払えませんが、 リマスター版は2000円くらいなのでようやく自分でもプレイできます。 プレイ記録 ゲームの始まり 主人公らしき人間が怪しげな機械に入っているムービーから始まります。 この怪しげな機械が「ガラージュ」で、Steamの販売ページでは「精神治療装置」と説明されています。 つまり、主人公は精神に何かしら異常があってガラージュで治療を受けているということです。 ガラージュによって精神世界に入り込むとゲーム開始です。 この世界においては、 鏡に映っているのが主人公で、 最初のムービーの人間とは異なる姿になっています。 アドベンチャーゲームらしく、 画面上をクリックしてアイテムを取得したり、 ギミックを操作したり、 主人公を移動させたりできます。 部屋から外に出ると木造の建物と移動用のレールが敷かれた世界が広がっています。 主人公を含めた人のような機械たちはこのレールを使って移動しています。 あと本ゲームでは釣り要素がかなり凝っていて、かつ、重要になっています。金策にも利用できます。 その釣りでエサとして使用する蟹などを「ビンドウ」という道具を仕掛けて捕獲できます。 ちなみに釣るのは魚ではなく蛙です。 ...

作成日: 2026年4月8日 · Yusuke Kato

ブログをHugoで作り替えたので記事追加をテストしてみる

はじめに Geminiに聞きながらこのブログをHugoで作り替えました。 デザインも整えてもらって綺麗になりました。 今回は新しく記事を追加するテストを行います。 見出しテスト1 この見出しが1です。 見出し2.1 この見出しは2です。 見出し2.2 この見出しは2です。 見出し3.1 この見出しは3です。 見出し3.2 この見出しは3です。 見出し4.1 この見出しは4です。 見出し4.2 この見出しは4です。 箇条書きテスト テスト1 テスト2 テスト2 テスト1 テスト2 テスト3 テスト4 URLテスト YusukeKatoBlog 画像テスト YouTubeテスト おわりに 運用しやすくなってありがたいですね。 それでは、また。

作成日: 2026年3月5日 · Yusuke Kato