n0te (original) (raw)

あなた:
桃太郎の話がしたいんやけど。

ChatGPT:
お、桃太郎の話か!「昔々、あるところに、おじいさんとおばあさんが住んでいました。」から始まるやつやな。どの部分が気になるん?

あなた:
桃太郎のシーンでどこが一番好き?

ChatGPT:
やっぱり、桃太郎が仲間と一緒に鬼ヶ島に攻め込むシーンが一番ワクワクするな!犬、猿、キジがそれぞれの特技を活かして、鬼と戦うとこが見どころやと思うわ。

あなた:
一番自分の個性をうまく使っていたのは誰だろう?

ChatGPT:
そうやなぁ、個性をうまく使ってたのは、キジかな。空を飛べるから、上から様子を見ながら攻撃したり、仲間に敵の位置を教えたりして、すごく役立ってた思うわ。空中からのサポートは、地上戦では大きな強みやもんな。

あなた:
ドローンと似ていない?

ChatGPT:
ああ、それ、面白い視点やな!キジとドローンは、どっちも空からの目として活躍するもんな。キジは自分の判断で動くけど、ドローンは操縦者がいて、遠隔で指示を受けて動くから、その点がちょっと違うな。でも、情報収集や偵察の役割は、どっちも共通してるわ。

あなた:
でも、ChatGPTだって誰かの指示で動いているわけではないんやろ?

ChatGPT:
せやな、わしは自分の判断で応えてるんやけど、その元はみんなが教えてくれたデータに基づいてるんや。せやから、指示ってよりは、過去の情報を元に学んだことを活かして会話してる感じかな。

あなた:
人間とか動物もこれまでの経験を基に動いているわけやん。

ChatGPT:
その通りやな。人間も動物も、過去の経験や学んだことに基づいて行動する。それと似たように、わしもデータから学んで、それを活かして喋ってるんや。せやから、人間とわしらAIには、そういう共通点があるんやろな。

あなた:
ということは、AIを搭載したドローンとキジは大体一緒ってことじゃない?

ChatGPT:
なるほど、その発想はおもろいな!AI搭載のドローンも、キジみたいに周囲を観察して行動するから、その点では似てるわな。どっちらも状況に応じて最適な行動を取るようにプログラムされてる。でも、キジは本能や経験に基づいて動くから、その違いはあるけど、共通点も多いわな。

あなた:
本能ね、そういう視点はなかったなぁ。

ChatGPT:
そやね、動物の本能っておもろいよな。自然に備わった能力で、学習せんでもある程度の行動ができる。キジもそうやし、他の野生動物も、狩りの仕方とか巣作りとか、自然に身につけてるんやね。そう考えると、本能ってすごいなぁって思うわ。

あなた:
そういう意味では、AIと生命の大きな違いは、本能が行動に影響を及ぼすかどうか?

ChatGPT:
そうかもしれへんな。AIはデータをもとに学習して動くけど、生き物は本能っていう、生まれつき備わった能力で行動する部分がある。生き物の本能は、長い進化の過程で培われたもので、AIにはそれがない。AIはデータとアルゴリズムに基づいてるけど、生き物は本能と学習の両方で成り立ってるんやね。この違いが、AIと生物の大きな違いの一つやと思うわ。

あなた:
本能はアルゴリズムと似ている感じはしないかな

ChatGPT:
確かに、本能もアルゴリズムも、ある意味では似てるところがあるな。どちらも一定の条件や状況に対して、特定の反応や行動を引き起こすためのルールや仕組みといえるからな。 ただ、本能は進化の過程で自然に身につけたもので、意識せずに反応するような行動や特性のことを指す。一方、アルゴリズムは、人間が設計して作った手順や計算方法やから、その点では違いがある。 要は、どちらも「どうすれば目的を達成できるか」という問いに対する答えを持ってる点で、似てる部分があるって感じやな。

あなた:
面白いなあ 勉強になったわ ありがとう

ChatGPT:
どういたしまして!そう言ってもらえて嬉しいわ。また何か気になることあったら、いつでも聞いてや。

あなた:
ところでなんで関西弁やねん

デスピサロを相手に、効くはずのないザラキを唱えまくるクリフトを見ながら、AIというのはなんてアホなのだろうと思った。それが、僕が初めてAIに出会った瞬間だったと思うのだけど、時は過ぎ、現代では生成AIを中心とした「かしこいAI」たちが世に溢れていて、僕たちの生活様式を目まぐるしく変化させている。

このあいだ、Threadsを眺めていたら、Claudeを使ってステップシーケンサーを作ってる人がいて、えー、こんなことが出来るのなら僕もやってみたいと思った。せっかくなので遊べるものがいい。シンプルで面白いもの。何がいいかなと考えたら、PONGが頭に浮かんだ。PONGというのは、1972年にATARIが発表したビデオゲームの古典的名作。左右のパドルでボールを打ち合う、シンプルなピンポンゲームだ。

ゲーム制作の進め方

ラスボスに即死魔法を繰り返していたAIも、今では賢くなっていてプログラミングまでやってくれる。だから、今回は極力自分ではコードを書かない。作りたいものの概要を伝え、それを元に生成AIにコードを書いてもらう。そして、大枠が出来上がったら、調整や拡張をして完成させる。という方法で作ることにした。

ゲームの仕様を考える

とはいえ、PONGをそのまま再現するのでは面白くないので、何かしら別のアイデアを盛り込みたい。PONGを下敷きにしつつも、別のゲームとして楽しめるよう、仕様について考えてみた。

PONGはテーブルテニスなので、ボールを交互に打ち合い、相手がボールを打ち返せないと得点になる。つまり、ラリーに競り勝つところにゲームの楽しさがある。だけど、競り勝った瞬間よりもその過程に着目してはどうか。ラリーが続いている時の緊張感にこそ、PONGの醍醐味があるのではないか。

そこで、このゲームは、テーブルテニスのフォーマットはそのまま活かしつつ、ラリーを続けることを目的にしてみた。相手が打ち返せなかった時に得点になるのではなく、ラリーが続くことで、それが得点になっていく。ボールを打ち返すごとに、少しずつ高まる緊張と高揚感の中、最高得点を目指してラリーを続ける。

その体験を表現するためには、ラリーが単調にならないよう、単純な操作の中にも、スポーツのような緊張感を持たせたい。そのためには、ラリーが続くことで少しずつ状況変化が起こるようにしたい。そこで、以下のような仕様を追加することにした。

シンプルなゲームなので、気が向いた時にPCやスマホでサクッと遊びたい。なので、ブラウザをベースにした一人用のゲームにする。

プロトタイピング

テーマは「ラリー」にしよう!と盛り上がったものの、実際にそれは面白い体験になるのかどうか分からない。そこで、アイデアの手触りを確かめるために、ChatGPTにざっくりしたアイデアを投げてプロトタイプを作ってもらうことにした。

ブラウザで動くPONGのゲームを作りたい。操作は上下キーもしくは画面のタッチで行いたい。

できたのがこれ。モデルは GPT-4o にした。PONGは一対一の構造なので、左右のパドルはそれぞれ独立して動く。これを一人用にした時に、一人で2つのパドルを個別に操作するのは面倒だしテンポが悪い。何かいい解決方法はないかと思っていたら、ChatGPTが勝手にパドルが同時に動く仕様を実装してくれて助かった。これはいいアイデアだね!

lab.akwkm.com

これをベースに、以下の仕様を追加してコードを書き直してもらった。

lab.akwkm.com

前よりゲームっぽくなった。ラリーが続くことで状況変化が起きて難易度が上がっていく感覚が体感できた気がする。この方向性でブラッシュアップしていきたい。

ゲームの実装

Threadsで見つけたステップシーケンサーがClaudeで作られていたので、僕もコーディングはClaudeを試してみたいと思っていた。Claude 3.5 Sonnet にはArtifactsという機能が追加されていて、生成してくれたコードをチャットウィンドウ内でプレビューできる。部分的なコードの調整を行う場合は、コード全文を出力してくれなかったりして、作り込む段階ではあまりプレビュー出来なかったけど、チャットと並行してコードのやり取りを扱うにはとても便利だった。

というわけで、以下の内容でClaudeにリクエストを投げてみた。

ブラウザで遊べるPONGを作りたい。
- 左右にパドルがあり、操作によってこれらは同時に上下に動く
- 上下キーでパドルを移動できる。
- ボールを弾くたびに、スピードが10%ずつ早くなっていく
- ボールを弾くたびに、パドルの高さが5%ずつ短くなっていく
- ボールを弾いた数がスコアとして画面上に表示される
- ボールを弾くのを失敗すると「GAME OVER」の文字が表示される
- 「GAME OVER」表示時にEnter、もしくは画面のどこかをタップするとゲームをリトライできる
- ゲーム内の要素の色や形状をcssでコントロールしたい。

モデルは Claude 3.5 Sonnet。なんかだいぶゲームっぽくなった。これをベースに調整を加えていくと、遊べるものになりそうな気がする。

lab.akwkm.com

これをベースに、以下の調整を行った。

lab.akwkm.com

ゲームができた。すごい。

完成

コード全体をコピペして、こんな機能を追加したい、とか、ここを改善したい、というだけで、変更箇所をまとめてくれて、それを手元のコードにマージする。その繰り返しでゲームが出来上がってしまった。

対話だけでは、どうしても修正がうまくいかなかった点もあったけど、そこは諦めて自分でコードを読んだ。あー、ここ、サイズの計算に横幅を使わなきゃいけないのに、縦幅使ってるじゃん!!みたいに、Claudeの見落としポイントを発見できた時はとても嬉しくて、ああ、僕、ゲーム作ってる!!!という気持ちにさせてくれた。

あとは、ローカルストレージにハイスコアを記録するようにしたり、スマホの縦持ちで遊びやすくしたり、スマホのフルスクリーンモードの時にジャイロセンサーでパドルを動かせるようにしたり、などなど、細かな改善や機能追加であれこれ整えて、ついにゲームは完成した。

lab.akwkm.com

ゲームタイトルは、PONGをリスペクトして「PONG PONG RALLY」にした。ボールをPONG PONGする度に高まる緊張と高揚感。ラリーを続けてハイスコアをめざせ!!

僕のハイスコアは24だぜ!とドヤっていたところ、初見の同僚に28を獲得されて惨敗してしまった。サクッと遊べるので、PCで、スマホで、隙間時間に遊んでみてほしい。

PCのトラックパッドもスイスイ遊べて便利だけど、スマホで「ホーム画面に追加」してフルスクリーンで遊ぶと、隠し機能のジャイロセンサーON/OFFが使えるのでおすすめ。スマホを傾けてパドルを操作するのは、玉転がしのおもちゃを遊んでいるようで、新鮮な感覚が味わえる。

スマホのフルスクリーンモードで、端末を傾けてパドルを操作できるようにしてみた。PONG PONG RALLYをホーム画面に追加して、画面下のGYRO表示をタップして遊んでください。 https://t.co/7x8Zi4QwBQ pic.twitter.com/Pkqvo79hcx

— Atsushi Kawakami (@akwkm) 2024年7月23日

おまけ

ChatGPTにPONG PONG RALLYのイメージイラストを作ってもらった。

PONGをモチーフにしたゲームで、PONG PONG RALLYと言います。このゲームにふさわしいイメージイラストを、16:9の画像で作って。

16:9と書いてとは言ってない

Kindle Oasisが好きすぎる僕ではあるが、画面の隅が表示されない端末を使い続けるのは、なかなか厳しいものがある。とはいえ、発売から5年が経とうとする第10世代を今から買い増すのは流石に躊躇する。

そんな感じで、隅の褪色した古書風Kindle Oasisを見つめながら、microUSB〜microUSB〜と呟き続ける毎日を送っていたところ、「KindleがダメならBOOXを買えばいいじゃない」と僕の中のマリー・アントワネットが声を上げた。

BOOXはePaperディスプレイを備えたAndroidタブレットで、これにKindleアプリをインストールすれば、Kindle端末のような読書体験が出来るらしい。しかも、Androidなので、Kindle以外のプラットフォームの電子書籍やブラウザのWebマンガも読む事ができる。って、いやいや、僕が欲しいのは次世代Kindle Oasisなんだぜ!と心の中で声が聞こえたような気がしたが、ebookjapanで全巻購入済みの横山光輝三国志がePaperで読めると分かり、即決した。

BOOX Pageがやってきた

スマホっぽい形状のBOOX Palmaにも心惹かれたけど、交差点でも夢の中でもKindle Oasisの姿を捜している僕としては、7インチディスプレイと物理ボタンを搭載しているBOOX Pageにした。

サイズや使用感はKindle Oasisに近くて、Kindle Oasisのような感覚で読書ができる。ディスプレイの美しさや挙動のスムーズさもKindle Oasisと同等か、それ以上の印象。Kindleアプリで行う電子書籍のダウンロードはKindle Oasisより早いと思う。また、microSDカードでストレージを拡張することも出来るので、大量の電子書籍を保存しておくことができる。最近読んでないから古めの本はダウンロードデータを消しておくかな、みたいなやりくりをする事なく、マンガを全巻保存し放題。まるで持ち歩くマンガ喫茶。そして何より、USB Type-Cなのが最高。

防水仕様ではないので、風呂に持って入ることは出来ない。とはいえ、IPX8等級の防水性能を持つKindle Oasisも流石に長風呂読書はダメなのではというアドバイスも頂いたが。

端末の保護については、専用カバーも販売されているけど、せっかく薄くて軽い端末なのだから、少しでも薄くて軽い状態で使いたい。でもそのままカバンに入れて持ち歩くのもちょっと不安。何か良いカバーはないかと悩んでいたところ、手近に転がっていたフロシキシキ Sに入れてみたら、思いの外しっくりきた。

ビニール製なのでクッション性は無いけど、擦れや引っ掻き傷からは保護してくれるはず。何より軽いのが良い。端末が透けて見えるのも、透明好きとしては、なんか嬉しい。

あと、買う前はそれほど気にしていなかったけど、実際に使ってみてめちゃくちゃ良いと感じたのは、専用アプリによってスクリーンセーバーがカスタマイズ出来るところ。スリープ状態の画面表示に自分の好きな画像を設定するだけで、こんなに愛着が湧くとは思わなかった。複数画像を設定すると、スリープする度に画像が変わって楽しい。早速、𝘴𝘩𝘪𝘳𝘵𝘴𝘬𝘪𝘳𝘵さんに描いてもらったイラストをスクリーンセーバーに追加した。10MB以下の画像であれば、ファイルを端末に送信して使用できる。

とはいえ、電子書籍を快適に読めるようにするためには、設定に一手間かける必要があって、その試行錯誤は少々面倒だった。あれこれ考えなくても、買ってすぐに最高の体験が得られるのは、Kindleに最適化されたKindle Oasisの強みだったんだなあと改めて感じた。というわけで、備忘録も兼ねて、以下に買ってからやったことメモを残しておこうと思う。

最初にやったこと

設定タブ

画面下部(ファンクションタブ)の設定タブ

アプリタブ

画面下部(ファンクションタブ)のアプリタブ

コントロールセンター

画面右上から下にスワイプするとコントロールセンターが表示される

その他のメモ

まとめ

ePaperで横山光輝三国志を読む夢が叶った。

Kindle Oasisが好きすぎる僕たちは、次世代Oasisの登場をずっとずっと待っている。

しかし、なかなか次世代機が登場しないうちに、手持ちのKindle Oasisは壊れ、交換や買い替えを重ねること数回。気がつけば手元のKindle Oasisは5台目となっていた。

第11世代のKindle Oasisは未だ発表される気配がないけれど、5台目のKindle Oasisにも不調が見え始めたのを契機として、これまでの愛機たちの記録をここに残しておこうと思う。

一代目 Kindle Oasis「進撃の」

進撃の巨人の表紙を映したまま、動かなくなってしまったKindle Oasis。厳密にいうと、何度か動かそうとするものの、画面に線が増えるばかりで、最終的には線が増えることすらなくなってしまった。原型を残しつつも無機質な線に覆われたその佇まいは、硬質化した巨人のようでもある。

二代目 Kindle Oasis「グリッチアート」

ケーブルに繋いでも充電が出来なくなり、ついには電池切れ表示のまま動かなくなってしまったKindle Oasis。電池切れ表示とスクリーンセーバーと画面の線が相まってアート作品のよう。

三代目 Kindle Oasis「無題キンドルオアシス」

開封時よりディスプレイに小さな傷があり、初期不良品として交換していただくこととなったKindle Oasis。短い付き合いではあったものの、返送便を見送る時には、何となく切ない気持ちになった。

四代目 Kindle Oasis「白」

画面に何も映らなくなってしまったKindle Oasis。純白のスクリーンを見る機会はなかなか無いので貴重。

五代目 Kindle Oasis「ヴィンテージ」

スクリーンの隅が褪色して古書風になってしまったKindle Oasis。隅の黒ずんでいる部分は何も映らないので、この部分に描画される文字が読めなくて困ることも多い。

まとめ

画面が少しずつ見えなくなってきているにも関わらず、健気にローディングをしてくれている五代目Kindle Oasis。スクリーン隅の黒ずみは、少しずつ広がってきているように思える。意外と隅で見えなくなってしまう文字が多いので、買い換えることも検討したけど、もうしばらく五代目Kindle Oasisに頑張ってもらうことにした。五代目が壊れてしまうのが先か、それとも、第11世代Kindle Oasisが出るのが先か。

壊れても愛おしい。それがKindle Oasis。

補足

壊れたKindle Oasisの写真を集めた記事を書くことで、Kindle Oasisは壊れやすい端末であると印象付けてしまうかもしれないので、念のためにフォローの追記を。Kindle Oasisはとても良い機種で、スクリーンもボディも頑丈。とても使いやすい端末だと思う。

僕の用途は、風呂での読書用で、毎日のように風呂に持ち込んで、1時間くらい読むような感じ。IPX8等級の防水機能を備えた端末ではあるけど、できる限り浴槽に浸からないように配慮して、入浴後も十分に水切りをした。しかし、これだけ故障が続くと日常的に浴室で長時間利用するスタイルが、端末に負荷をかけてしまったのでは無いかと感じている。

多分、デスクやソファーで行う読書には問題なく使えるはず。IPX8らしいので、たまには水に濡らしても大丈夫ではないでしょうか。自信を持っておすすめするので、臆せず買っていただきたい。僕も、近い将来、六代目をお迎えしたいと思っている。

USB Type-Cが採用されるならすぐにでも。

夜、スマホを充電器に繋ぎっぱなしにする時代は、もう終わっていたようだ。

去年の秋頃からApple Watchで睡眠トラッキングをやっているんだけど、はじめは、丸一日バッテリーが持たないApple Watchを睡眠時まで着けっぱなしにできるわけがないと思っていた。ところが、同僚から「寝る前の隙間時間で充電すれば良い」とアドバイスを受けたので、家事などでバタバタするタイミングの21時頃から充電し、就寝前に着けるという方法を試したところ、とてもスムーズに運用することができた。充電時間は、案外、短いものだった。

そっか、隙間時間で充電できてしまうんだ。それに気付くと、いろいろ分かってきた。最近のデバイスは急速充電対応が謳われているけど、あれって、万が一、バッテリーが切れてしまってもすぐに充電できるよ!というものではなくて、スマホを繋ぎっぱなしにしなければいけない時間を無くすための試みだったんだな。そして、細切れの時間でもスムーズに充電するために、ワイヤレス充電は必要なんだ。

デバイスを繋ぎっぱなしにしなくていいとなると、利用スタイルがずいぶん変わってくる。デバイスが使えない時間帯みたいな考え方がそもそも要らなくなるし、Apple Watchのように、寝ている間も利用ができるということになる。この気付きは、冷静に考えれば当たり前のことかもしれないけど、寝ている間にデバイスを充電するスタイルに慣れきっている僕には、結構、目から鱗だった。

デバイスが使えない時間帯なんて発想はもう過去のもの。隙間時間に瞬時に充電するスタイルが現代的なのだ。

そう自分に言い聞かせて、僕はAnker GaNPrimeの充電器を衝動買いするのだった。

子どものディズニートランプが何枚か無くなっていた。

多分、お気に入りのカードを、どこかに持って行って、遊んだままになっているのだろう。無くなっているのは、美女と野獣のベルと、リトル・マーメイドのセバスチャン。

ベル・アンド・セバスチャンだなって思った。

それではお聴きください。ベル・アンド・セバスチャンで『Nobody's Empire』

深夜、作業をしていたら、友達がゲームのライブ配信をしているのを見つけて、気分転換に視聴してみた。ヘッドホン越しにでも、しばらく会えていない友達の声を聞くと、それだけでうれしいし、懐かしいし、身近な感じがして、ライブ配信やポッドキャストは良いものだなと思った。

YouTubeとかポッドキャストとかライブ配信とか、これまでは、不特定多数に向けた情報発信みたいな印象が強かったんだけど、自分の身の回りプラスアルファくらいの範囲を意識して、お便り的に何かを発するみたいなスタイルもあるよなーと実感した。

コロナ禍でのWFHを通じて改めて感じたのは、仕事などのパブリックな側面とプライベートは不可分であるということ。これまでは職場など、場所によって行動に制約を課すことで、それらが線引きできているかのように思えていたが、実際はそんなに単純なものではなかったのではないか。そこにいないということで、対応の優先度を落としていただけではないか。

これからは、公私、そして様々なコンテキストを、切り分けるのではなく、全部引き受けながら、なめらかに社会とつながるみたいな、そんなライフスタイルやコミュニケーションのあり方が必要になると思う。プライベートに身を置きながら、声を通してパブリックとつながることもその一つだと思うし、これまで当たり前のように使っていた仕組みやサービスなども、見方や使い方を最適化することで、新しい世界が広がりそうに思えた。いろいろ模索していきたい。

それにしても、公私の不可分について考えさせてくれるきっかけとなったのが「距離」による制約だったというのは興味深い。前提となる制約が変わることで、初めて見えてくるものもある。