スプラトゥーン レイダースをクリアしました

はじめに 2026年7月23日に発売したスプラトゥーンの新作ゲーム「スプラトゥーン レイダース」(以下、レイダース)をさっそくプレイしてみました。 スプラトゥーン3のサーモンランに新要素とストーリーを盛り込んで一つのゲームにしたような作品で、 スプラトゥーンをソロプレイで楽しく遊ぶことができてとても良かったです。 ストーリー上の最後のボス(?)を倒してスタッフロールが流れるところまでいったので、 この記事では感想をまとめておこうと思います。 スプラトゥーン レイダース公式サイト 注意 この記事はレイダースのネタバレを含んでいるため、まだ未プレイの方はご注意ください。 難易度について プレイ開始時に3段階の難易度設定がありました。 私はスプラトゥーン1から3まで一通りプレイしていて操作は慣れているので 「サバイバー」を選択しました。 個人的には「サバイバー」でも結構サクサククリアできたので、 もう一つ難しいモードがあっても楽しめそうな気がしました。 (ストーリークリア後に「激辛」が追加されるので難しいステージは遊べそうです) ゲーム内容について ゲーム内容はサーモンランのようにシャケを倒してイクラを取得するのと、 各エリアで採掘みたいなことをして素材を集めていきます。 これまでのサーモンランなどと大きく異なっている点は、 サブ武器がこれまでのボムなどではなくて、 「ガジェット」と呼ばれるこれまでにない新しい攻撃方法のサブ武器が使えるようになっている点です。 ガジェットは複数持っていけるので組み合わせもいろいろ考えられておもしろいです。 また、ガジェットの能力を向上させたり、能力を追加したりできる「パーツ」もいろいろ組み合わせられるので、 かなりのやり込み要素になりそうです。 ガジェット、奥が深いと思います。 ストーリーについて 今回はスプラトゥーン3でおなじみの「すりみ連合」と一緒にお宝をハントするストーリーになっています。 ストーリーはゲームプレイを邪魔しすぎないようにくどさがなくサクサクと進み、 とはいえ安っぽさもなくてちょうどよく楽しめて良かったです。 私はスプラトゥーン3をそこまでやりこんでいなかったので、 すりみ連合との出会いも久しぶりだったのですが、 三人とも個性豊かで逆にスプラトゥーン3も久しぶりにやりたくなりました。 マンタローと私↓ フウカ↓ ウツホ↓ 演出について スプラトゥーンは昔から演出がオシャレだった記憶がありますが、 今回も映像や間に挟まる画像などがオシャレかつ綺麗で良かったです。 たとえばステージクリア後のお宝ゲット演出は、 各キャラクターごとに複数用意されていて、どれも素敵でした。 パートナー:マンタロー↓ パートナー:ウツホ↓ パートナー:フウカ↓ ラスボスについて スプラトゥーンは昔から王道的なストーリーやキャラクターデザインのようでありながら、 少しダークな部分も持ち合わせていたりしますが、 今回もラスボスがダークな神話世界の上位存在みたいな見た目をしていて良かったです (個人的にダークソウルが好きなので)。 ラスボスを倒した時点でレベルは43まで上がっていました。 おそらくもっと低くても倒せると思いますが、 私はどんどんレベルを上げて余裕を持ってボスを倒したい派なのでこんな感じになっています。 ...

作成日: 2026年7月26日 · Yusuke Kato

GodotのテキストエディタとしてVSCodeを設定する:店舗経営シミュレーションゲーム開発日記2

はじめに 概要 Godotで店舗経営シミュレーションゲームを開発しています。 最終目標としてSteamで販売するところまでやってみる予定です。 ゲーム開発の経緯や開発環境については前回の記事を参照ください。 Godotで開発しているゲームをGitHubで管理する:店舗経営シミュレーションゲーム開発日記1 今回やること 今回はGodotのテキストエディタとしてVisual Studio Code(VSCode)を設定します。 VSCodeは拡張機能が豊富でGitHub Copilotなども使えるので、標準のエディタよりも開発しやすいかと思っています。 GodotにVSCodeを設定する VSCodeをインストール VSCodeをまだインストールしていない場合は公式サイトからインストールします。 VSCode公式サイト VSCodeにGodotの拡張機能をインストール VSCodeでGodot用の拡張機能「godot-tools」が公開されているためインストールします。 この拡張機能でコードがハイライトされたり、補完機能が使えたりします。 Godotの設定を変更する Godotを開いたらエディタタブからエディタ設定を選択します。 一覧からテキストエディタの外部の項目を見つけてクリックします。 外部エディターを使用にチェックを入れてから、高度な設定をオンにします。 最後に実行パスにGodotエディタのパスを入れます。 実行フラグは自動で入力されました。 以上で設定は完了です。 VSCodeでスクリプトを開く 正しく設定されているか動作確認してみます。 Godotエディタ上で適当なスクリプト(.gd)を開いてみます。 VSCodeが自動的に開いたら無事設定できています。 下図のようにコードがハイライトされることを確認できました。 今回は以上で作業完了です。 おわりに 今回は開発準備としてGodotのテキストエディタにVSCodeを設定しました。 VSCodeは開発しやすくなる機能がたくさんあるので、 ゲーム開発でもどんどん使っていこうと思います。 次回から実際にゲームを作っていく予定なので引き続きよろしくお願いいたします。 それでは、また。

作成日: 2026年7月22日 · Yusuke Kato

Godotで開発しているゲームをGitHubで管理する:店舗経営シミュレーションゲーム開発日記1

はじめに 目的 学生の頃から趣味でゲームを作っていましたが、 一つのゲームを時間をかけて作り上げる経験はまだしたことがなかったため、 これから細く長くゲーム開発をしてみようと思います。 最終的にはSteamで販売するところまでいきたいと思っています。 ゲームを完成させて販売するまでの開発記録やその他諸々の情報を本連載にまとめていきますので、よろしくお願いいたします。 作りたいゲーム 作りたいゲームは店舗経営のシミュレーションゲームです。 タイトルはまだ決めていないです。 画像素材はたくさん必要になりそうですが、 開発に必要な技術レベルはそこまで要求されなさそうなので、一人でも作り切れるかと思っています。 イメージしているのは「レミュオールの錬金術師」で、 子供の頃に朧気に遊んだ記憶がある程度ではあるのですが、 気軽に遊べてやり込むこともできる素晴らしいゲームだったと思います(またプレイしたいですね)。 レミュオールの錬金術師を参考にしつつ、自分なりの店舗経営シミュレーションゲームを作っていきます。 犬と猫:レミュオールの錬金術師 開発環境 Windows 11 ゲームの対象OSがWindowsなので開発もWindowsにしておきます Godot 4.6.3 Unityと迷いましたが、Godotが軽量なゲームエンジンということで選択しました Godotは最近ユーザ数もどんどん増えている大注目のゲームエンジンらしいです ちなみに読み方は「ゴドー」とのことです(「ゴドット」だと思っていました) GitHub Desktop WindowsだとCLI環境でGitのコマンドを実行するのが少し面倒なのでGUIアプリを使用します GUIアプリが使いづらかったら別の方法を検討します Visual Studio Code エディタといえばVSCode一択になりそうです(個人的な感想です) Godot上にもエディタがありますがVScodeにGodot用プラグインもあるらしいのでVSCodeのほうが使いやすい気がします 今回やること 今回の記事ではGodotのプロジェクトをGitHubで管理するまでの流れを紹介します。 GodotのプロジェクトをGitHubで管理する Godotをインストール ゲームエンジンであるGodotをインストールします。 Godotはオープンソースのソフトウェアで無料で使用できます。 Godot公式サイト Godotでプロジェクト作成 Godotのインストールが完了したらさっそく開いて、プロジェクトを新規作成します。 まだタイトルが決まっていないため、プロジェクト名は「shop-sim」にしておきます。 保存場所は好きなところを選択して、レンダラーは「互換性」にします。 今回作成するゲームは2Dゲームで高精度なグラフィックが求められるわけでもないので、 デフォルトで選択されている「互換性」が最適そうです。 バージョン管理メタデータもデフォルトで選択されている「Git」にします。 プロジェクトを作成するとGodotのエディターが開きます。 Godotでの操作は今回はここまでです。 プロジェクトをGitHubリポジトリとしてアップロードする GitHub Desktopを開きます。 まだインストールしていない場合は下記の公式サイトからダウンロードします。 GitHub Desktop公式サイト まずはGodotのプロジェクトフォルダをGit管理するために、 GitHub DesktopのFile > Add local Repositoryをクリックします。 Chooseボタンを押して先ほど作成したGodotのプロジェクトフォルダを選択してから、 Add Repositoryボタンを押します。 ここで警告が出るのでcreate a repositoryをクリックします。 ...

作成日: 2026年7月20日 · 最終更新日: 2026年7月22日 · Yusuke Kato

シェル芸勉強会第75回に参加 & shellgeiaiを使ってみた

はじめに 2026年6月13日(土)に開催されたシェル芸勉強会の第75回にオンライン(YouTubeの配信)で参加しました。 知らない知識をいろいろ頭に詰め込めてとても勉強になりました。 LTもAIとシェル芸の連携という興味深い内容で知見が得られて良かったです。 参加募集のconnpassのページは下記リンクです。 connpass - jus共催 第75回募集期間短くでごめんなさいファイルの検索を極めるシェル芸勉強会 YouTubeの配信のリンクは下記です。 LTのリンクはこちらです。 amanoeseさんのLT(shellgeiai) caroさんのLT(lmline) シェル芸勉強会の感想 今回はファイル検索がテーマでそれに関する問題が出題されました。 私もfindとgrepでファイルを探すことくらいは普段もしていたのですが、 今回の問題の内容では知らないことがたくさん出てきてこんなことができるんだなぁということと、 全然こんなこと考えたことがなかったなぁということが多かったです。 たとえば「ファイル名に使えない文字」というものをそもそも考えたことがなかったので、 考えるきっかけになっておもしろかったです。 今回学べたこととしてグロブはあまり使ってこなかったけど便利そうなのと、 findのオプションは知らないものがたくさんあるということがありました。 print0オプションで区切り文字をヌル文字に変更できるというのも知りませんでした。 使いどころもたまにありそうで、便利なオプションはちゃんと覚えておきたいですね。 問題は今回も難しいものが多かったです。 3問目あたりから自力で解けなくなってきて調べながら少しずつ進めていきました。 回答と解説がとてもありがたかったです。 今回はオンラインでしたが都合があえば現地参加もしたいと思っています。 現地の空気を浴びたいですね。 LTの感想 LTは2件あってどちらもLLMとシェル芸の連携がテーマだったと思います。 最近はプログラムを書くのも自動化してきていて、 私も流行りに乗っていきたいと思っていたので勉強になりました。 紹介されていたshellgeiaiとlmlineがどちらもおもしろそうで試してみたくなりました。 今回はshellgeiaiで遊ばせていただきます。 shellgeiaiで遊んでみる LTでamanoeseさんが発表していたshellgeiaiがおもしろそうだったので実際に使ってみました。 GitHubリポジトリのリンクは下記です。 GitHub - amanoese/shellgeiai インストール リポジトリをcloneして使える状態にします。 私の環境のnpmが古かったので更新が必要でした。 ...

作成日: 2026年6月14日 · Yusuke Kato

読書日記:『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