もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

実践で学ぶコード改善の極意 5行ルールで強く美しくリファクタリングする 第5章

はじめに

こんばんは。

一人輪読会です。

読むのはこちら。

前回はこちら

kojirooooocks.hatenablog.com

本題 => 第5章 類似したコードをまとめて1つにする

本章で重要だと感じた点

  • 不要な抽象化をは避けよう。

終わりに

参考コードが多めの章でしたが、そこまで難しいものではありませんでした。

この先も やる気はやれば出る の精神で無理やりやっていきます。

現場からは以上です。

実践で学ぶコード改善の極意 5行ルールで強く美しくリファクタリングする 第4章

はじめに

こんばんは。

一人輪読会です。

読むのはこちら。

前回はこちら

kojirooooocks.hatenablog.com

本題 => 第4章 タイプコードを機能させる

本章で重要だと感じた点

  • 汎用性の高すぎるメソッドは身を滅ぼすよね。
  • 継承はインタフェースからだけにしよう。

終わりに

まぁまぁ実践的なテクニックもでてきたけど、結構初級者向けです。

もう少し読み進めます。

この先も やる気はやれば出る の精神で無理やりやっていきます。

現場からは以上です。

実践で学ぶコード改善の極意 5行ルールで強く美しくリファクタリングする 第3章

はじめに

こんばんは。

一人輪読会です。

読むのはこちら。

前回はこちら

kojirooooocks.hatenablog.com

本題 => 第3章 長い関数を分割する

本章で重要だと感じた点

  • 5行ルールは個人的にはやりすぎ感あるけど考え方は理解できる。
  • if文は最初の一回だけルールも個人的には少しやりすぎ感あり。
  • 結局メソッド名大事だよ

終わりに

すっかり忘れてました。 から一から読み直してました。

もう少し読み進めます。

この先も やる気はやれば出る の精神で無理やりやっていきます。

現場からは以上です。

Godot MCPでClaude Codeからゲームエンジンを操作してみた

はじめに

こんばんは。

今回は Godot MCP について書きます。

これを使うと、Claude Codeからゲームエンジンの操作ができます。

具体的には、シーンの作成、ノードの追加・削除・移動、プロパティの変更、GDScriptの編集、プロジェクトの実行やデバッグ出力の取得、などができます。

要するに、Godotエディタを開かなくても、ターミナルからゲームを組み立てられるということです。

環境

  • Claude Code
  • Godot Engine 4.x
  • Godot MCP(Godotプロジェクトにプラグインとして追加)

実際に使ってみた

シーンの作成

Claude Codeに「プレイヤーのシーンを作って」と指示すると、Godot MCPを通じてシーンファイルを作成してくれます。

ノードの階層構造も指示通りに組んでくれるので、手作業でポチポチやるより明らかに速いです。

スクリプトの編集

GDScriptの作成や編集もできます。

「プレイヤーの移動処理を書いて」と言えば、シーンにアタッチされたスクリプトを直接編集してくれます。

ここは普段のClaude Codeでの開発と同じ感覚ですね。コードを書く→レビューする→直す、のサイクルが回せます。

プロジェクトを実行して、コンソールのエラーやログを取得することもできます。

エラーが出たら、その内容をそのまま読み取って修正案を出してくれるので、エディタとターミナルを行き来する回数が減ります。

良かったこと

とにかく Claude Codeだけで完結できるのが自分にとっては最高でした。

あの独特なポチポチ操作がないってだけでも最高です。

気になったこと

複雑なUI周りはまだ苦手みたいです。

シンプルなシーンやスクリプトなら問題ないのですが、込み入ったUIレイアウトや、複数シーンのコンポジションになると、期待通りにいかないことがあります。

あとは、簡単な位置の調整に結構時間がかかるとかがありました。微妙な位置調整に10分とかかかったり...

Godot自体が初めてなので、MCPの問題なのか自分の理解不足なのか判別がつかない場面もありました。これは使っていく中で切り分けていくしかないですね。

まとめ

Godot MCPを使って、Claude Codeからゲームエンジンを操作してみた話でした。

普段の開発ワークフローがそのまま活かせるのが大きな利点で、設計に集中できる環境は個人開発と相性がいいなと感じています。

まだまだ始めたばかりですが、AIでどこまでゲームが作れるのか、引き続き試していきます。

もっと良いやり方や、Godot MCPの使い方のコツなどがあれば、ぜひ教えてください。

ではでは。

PixelLab MCPでゲームのドット絵を生成してみた

PixelLab MCPでゲームのドット絵を生成してみた

はじめに

こんばんは。

今回は PixelLab MCP について、実際に触ってみた感想を書きます。

PixelLab MCPとは

PixelLabは、AIでピクセルアートを生成できるサービスです。

そのMCPサーバーをClaude Codeに接続すると、ターミナルからテキスト指示でドット絵を生成できるようになります。

できることは主にこんな感じです。

  • キャラクターの生成(4方向・8方向対応)
  • アニメーションの追加(歩行、待機、攻撃など)

環境

  • Claude Code
  • PixelLab MCP(APIトークンが必要)

セットアップは公式サイトにガイドがあるので割愛します。Claude Codeの設定ファイルにMCPサーバーのURLとトークンを追加するだけです。

実際に使ってみた

キャラクター生成

Claude Codeに「剣を持った戦士のドット絵を作って」みたいな指示を出すと、PixelLab MCPを呼び出してキャラクターを生成してくれます。

指定できるパラメータがいくつかあって、キャンバスサイズ、方向数(4方向か8方向か)、カメラアングル(トップダウンかサイドビューか)、アウトラインのスタイル、シェーディングの複雑さ、などを調整できます。

ワードRPGはトップダウン視点で考えているので、low top-down のカメラアングルで生成しました。

生成には2〜3分くらいかかります。4方向で2〜3分、8方向だと3〜5分くらいです。

アニメーション追加

生成したキャラクターに対して、歩行アニメーションを追加することもできます。

これもClaude Code経由で指示するだけです。既存のキャラクターIDを指定して、どのアニメーションを追加するかを伝えれば、PixelLabが処理してくれます。

良かったこと

コードを書く流れのまま、アセット生成までできるのが一番のメリットです。

普通だったら、コードを書く→別のツールを開く→ドット絵を描く→ファイルを保存→プロジェクトに取り込む、という手順が必要です。それがClaude Codeのターミナル上で完結します。

自分のようにドット絵が描けない人間にとっては、この環境がなかったらゲーム開発自体がかなり厳しかったと思います。

気になったこと

細かい調整が難しいです。

「もうちょっと左腕を上げて」とか「この色をもう少し暗く」みたいな微調整は、テキスト指示だけだとなかなか思い通りにいきません。

生成されるドット絵のクオリティは十分実用的なんですが、「このキャラはこうあるべき」という明確なイメージがあるときには、何度か試行錯誤が必要です。

例えば以下の命令で作ってみました。

PixelLabで以下のキャラクターを生成して。
- 説明: 若い冒険者。茶色の短髪で、スナフキンのような服装。
- キャンバスサイズ: 64
- 方向数: 右向きのみ
- アニメーション: 
  - 歩行
  - ダッシュ
- カメラアングル: 低めの見下ろし視点
- アウトライン: 黒の単色アウトライン
- シェーディング: 最大
- ディテール: 最大

微妙ですよね。。

こっからいろいろと試行錯誤する必要あります。

またその際はおそらく無料枠では間に合いません。

本格的に使うならサブスクリプションが必要になります。試す段階では無料枠で十分ですが、大量にアセットを作るなら考慮が必要です。

まとめ

PixelLab MCPは、ドット絵が描けないプログラマにとってはかなりありがたいツールです。

Claude Codeとの連携で、コーディングの文脈を切り替えずにアセット生成できるのは想像以上に快適でした。

細かい調整の難しさはありますが、プロトタイプ段階のアセットとしては十分な品質です。

次回はGodot MCPについて書く予定です。

ではでは。

ゲーム作り始めてみた。

はじめに

こんばんは。

最近、個人開発でゲームを作り始めました。

Claude Codeバリバリ開発してて、これはもうなにも出来ないものはないんじゃないかな?と思ったのがきっかけです。

「言葉」を使って戦うっていうコンセプトのゲームを考えてます。

まだ考えている段階のものも多いですが、コンセプトとしてはこんな感じです。

開発環境

今回の開発環境は以下です。

Claude Code + Godot MCP + PixelLab MCP

godotengine.org

www.pixellab.ai

Claude Code は普段の仕事でも使っているので慣れているのですが、今回はMCPサーバーを2つ接続して使っています。

Godot MCP は、GodotエンジンとAIを繋ぐMCPサーバーです。Claude Codeからシーンの作成やノードの操作、スクリプトの編集などができます。AIがエディタを直接操作できるようなイメージです。

PixelLab MCP は、ピクセルアートをAIで生成するMCPサーバーです。キャラクターのドット絵やアニメーションを、テキストの指示だけで生成してくれます。

コードを書くのも、ゲームエンジンを操作するのも、ドット絵を作るのも、全部Claude Codeを起点にしてやっています。

絵もかけないし、Unityもあの独自のUIの操作に断念した僕にとっては神環境でした。

なぜこの構成にしたか

もともとはバニラのJavaScriptとHTMLでプロトタイプを作っていました。

ただ、ゲームエンジンなしで本格的なゲームを作るのはやっぱり厳しいなと感じて、Godotに乗り換えることにしました。Godotはオープンソースで軽量だし、2Dゲームとの相性がいいです。

それに加えて、MCPでClaude Codeと繋げられるというのが大きかったです。

普段の仕事でClaude Codeのワークフローはそれなりに固まっているので、その延長線上でゲーム開発もできるんじゃないかと思いました。

PixelLabも同じ理由です。自分はドット絵が描けないので、AIに頼れるのはありがたいなとおもったからです。

MCPで繋がっているので、コードを書く流れの中でそのままアセット生成まで持っていけます。

現状

正直、まだ全然できていません。

環境構築が終わって、ちょっと触り始めたくらいの段階です。

でも、この「AIにゲームエンジンもアセット生成も任せて、自分は設計に集中する」っていう開発スタイルが成り立つのかどうか、試していくのが楽しみです。

個人でゲーム作ってる方や、AIでゲーム開発してる方がいたら、ぜひ情報交換しましょう。

ではでは。

自分のスキルファイルをチームに公開した話

はじめに

こんばんは。

最近自分が作ってきたClaude Code のスキルファイル群を、お世話になっている企業のレポジトリに公開しました。

前提

僕は設計思想に関するスキルを作っていました。

このスキルは自分の開発ワークフローの中核で、日々の実装でかなり重宝していました。

もちろんお世話になってる企業には、Claude Codeを使用していいよと許可をもらってました。

ある日、お世話になっている企業から「そのスキルファイル、会社のレポジトリに入れてほしい」と言われました。

葛藤

正直、抵抗がありました。

僕はフリーランスなので社員として関わっているわけではありません。

このスキルファイルは、自分が試行錯誤しながら作ったもので、自分の開発の質を支えている一部でもあります。

で、思ったんです。

「これ公開したら、俺いらなくなるんじゃない?」

それでも公開した

結局、公開しました。

理由は3つです。

  1. チーム全体の生産性が上がるならその方がいいと思ったから
  2. 自分だけが効率よく開発できてもチームとして速くならなければ意味がないと思ったから
  3. シンプルにお世話になっているから

公開してみたら

公開したら、チームのメンバーがすごく喜んでくれました。早速使い始めてくれていて、それを見たときは素直に嬉しかったです。

自分が作ったものが誰かの役に立っている。それは普通に嬉しいことです。

それでも思うこと

ただ、公開したことで、自分が切られる可能性は増えたなとは思っています。

こういう人の良さみたいなので何でもOKしてたら、フリーランスは務まらないのかもしれないなと思ったりもしました。

でも、少なくとも今回の判断を後悔はしていないです。たぶん。いやしてるかも。

まとめ

こういう葛藤、フリーランスで働いている方はどう折り合いをつけているんでしょうか。もし考えがある方はぜひ教えてください。

ではでは。