Javaの授業で作ったブラックジャックは、本当に小さな作品だった。

画面も、機能も、今見ればかなり素朴だったと思う。

でも、自分の手元でカードが配られ、数字が動き、勝敗が決まる。

それだけで、かなり嬉しかった。

大学を中退し、愛知で沈み、せどりで崩れ、会計事務所で削られ、再エネの現場で消耗してきた後だった。

それでも、自分の頭で何かを組み立てられる。

そう感じられたことは、思っていた以上に大きかった。

しかも、隣にはAIがいた。

Copilotに聞けば、次に何を書けばいいか返ってくる。

エラーも相談できる。

仕様も一緒に考えられる。

もしかすると、これはかなり大きな武器になるのではないか。

仮想通貨で減った分を、別の形で取り返したい気持ちもあった。

カードゲームを作って、サイトにして、広告やアフィリエイトにつなげられないか。

そんな構想が、少しずつ膨らんでいった。

最初は、作れる気がしていた。

でも、作れる気がすることと、作り切れることは、まったく違った。

小さな成功体験は、すぐに大きな構想へ変わった

ブラックジャックが動いた時、単純に楽しかった。

カードゲームはルールがはっきりしている。

勝敗がある。

数字がある。

UIも作りやすそうに見える。

それに、子どもの頃からゲームやカードゲームにはどこか惹かれていた。

運だけではない。

でも、完全な実力勝負でもない。

限られた手札の中で、どう選ぶか。

その感じが、自分の人生の選択にも少し似ていた。

だから、ただの授業課題で終わらせるのが惜しくなった。

もっと作れるのではないか。

ブラックジャックだけでなく、別のカードゲームも作れるのではないか。

ゲームごとに攻略記事を書けば、検索から人が来るかもしれない。

広告も貼れるかもしれない。

ゲーム系のASPやエンタメ系の広告につなげられるかもしれない。

仮想通貨で減った資産を、何か別の形で少しでも回収できるかもしれない。

そうやって、小さな成功体験は、すぐに大きな構想へ変わっていった。

AIに聞けば、何でも前に進む気がした

当時の自分にとって、AIはかなり魅力的だった。

分からないことを聞けば返ってくる。

コードを書いてくれる。

設計の相談にも乗ってくれる。

エラー文を貼れば、原因らしきものを説明してくれる。

今までなら一人で詰まっていたところに、誰かが横にいるような感じがあった。

もちろん、その誰かは人間ではない。

でも、孤独に開発している側からすると、それだけでも大きかった。

会計事務所でも、再エネの会社でも、分からないことを聞ける相手が十分にいるとは限らなかった。

相手の機嫌もある。

忙しさもある。

こんなことを聞いていいのかという遠慮もある。

AIには、それがない。

何度聞いても怒らない。

雑に聞いても、何かしら返ってくる。

その気楽さは、かなり危険なほど心地よかった。

だから僕は、だんだんAIに任せれば作れるはずだと思うようになっていった。

EclipseからVSCodeへ移った頃から、景色が変わった

授業課題の範囲では、開発環境もある程度決まっていた。

教わる内容も、作るものも、複雑すぎなかった。

でも、本格的に自分のものとして作ろうとすると、景色が変わる。

Eclipseで作った小さな作品を、そのまま膨らませればいいわけではなかった。

VSCodeを使ってみる。

フォルダ構成を考える。

ファイルを分ける。

フロントエンドとバックエンドを意識する。

状態管理、ルール判定、画面表示、履歴、演出、テスト。

最初は一つの課題だったものが、いつの間にか小さなプロダクトのようになっていく。

すると、急に自分の中の地図が足りなくなる。

AIは道を提案してくれる。

でも、全体の地図を持っているわけではない。

どの道を選ぶのか。

何を削るのか。

どこまで作るのか。

それを決めるのは、結局自分だった。

仕様は、増やすより削る方が難しかった

カードゲームを作るなら、あれも入れたい。

この演出も欲しい。

履歴も見せたい。

CPUの思考も自然にしたい。

スマホでも遊びやすくしたい。

将来は別のゲームも追加したい。

そう考え始めると、仕様は簡単に膨らむ。

AIに相談すると、もっともらしい提案が返ってくる。

それいいな、と思う。

さらに足す。

また相談する。

また足す。

気づけば、最初のブラックジャックとは別物になっている。

でも、仕様が増えるほど、完成は遠くなる。

作りたいものが具体化したようで、実際には輪郭がぼやけていく。

何を最小単位として完成と呼ぶのか。

どこまでできれば公開していいのか。

その線引きができないまま、僕は機能を足していった。

今振り返ると、仕様を増やすことより、削ることの方がずっと難しかった。

一歩進んで、二歩下がるようなデバッグ

開発が進むほど、エラーも増えた。

一つ直す。

別のところが壊れる。

表示は直ったのに、ルール判定がおかしくなる。

ルール判定を直すと、今度は画面の状態がずれる。

AIに聞く。

修正案が返ってくる。

それを入れる。

動く。

でも、別のケースで壊れる。

まるで一歩進んで、二歩下がるようだった。

もちろん、これはAIだけのせいではない。

むしろ、原因は自分の設計の甘さにあった。

どこが正で、どこが派生なのか。

どこに責務を持たせるのか。

どの状態を信用するのか。

そこが曖昧なまま作ると、AIはその曖昧さを拡張してしまう。

AIは便利だ。

でも、便利な道具ほど、使う人間の曖昧さも増幅する。

AIは魔法ではなく、問いを映す鏡だった

この頃、僕は少しずつ分かり始めた。

AIは、何でも勝手に完成させてくれる魔法ではない。

むしろ、自分の問いの粗さをそのまま映す鏡に近い。

何を作りたいのかが曖昧なら、返ってくる答えもどこか曖昧になる。

責務の分け方が曖昧なら、修正も場当たり的になる。

完成の定義が曖昧なら、いつまでも終わらない。

AIに任せているつもりで、実際には自分の設計不足から目をそらしていただけの場面もあった。

それでも、AIを使うこと自体が間違いだったとは思わない。

一人では調べきれなかったことに触れられた。

コードの考え方も、設計の言葉も、以前よりは見えるようになった。

ただ、AIを使えば楽に作れるという期待は、少しずつ崩れていった。

AIを使うほど、人間側の判断が必要になる。

それが、思っていたよりずっと重かった。

それでも、何かを作ろうとしていた自分は嫌いではない

仮想通貨の含み損を抱えながら、カードゲーム開発に向かっていた自分には、焦りがあった。

取り返したい気持ちがあった。

何者かになりたい気持ちもあった。

だから、きれいな挑戦だったとは言い切れない。

でも、何かを作ろうとしていた自分まで否定したくはない。

愛知で配信やゲームを見て時間を溶かしていた頃とは違う。

せどりで不良在庫を積み上げていた頃とも違う。

そこには、少なくとも手を動かして、理解しようとして、形にしようとする時間があった。

うまくいかなかった部分は多い。

仕様は膨らんだ。

デバッグにも疲れた。

完成から遠ざかる感覚もあった。

それでも、AIと向き合いながら何かを作ろうとした経験は、その後の転職活動でも効いてくる。

応募書類を書く時。

過去の経歴を棚卸しする時。

メールを書く時。

自分が何をしてきたのかを言葉にする時。

AIは、コードだけでなく、自分の過去を整理する道具にもなり始めていた。

次に読む応募書類を書きながら、過去を棚卸ししていった

電験二種の合格通知をきっかけに始めた転職活動。エージェント面談、職務経歴書、メール対応を通じて、過去の棚卸しをAIに手伝ってもらうようになる。

読む