スキップしてメイン コンテンツに移動

投稿

注目の投稿

ゲームにおける攻めと受け

ゲームにおける攻めと受け 僕がこれまでにハマったゲームのうち、 将棋 ポケモン パズドラ というゲームにはそれぞれ 攻め と 受け という概念がある。これについて今日は色々と語ろうと思う。ただの雑がたりだ。 受け ゲームを学びたての僕は、性格的に受けを重視する傾向にある。相手の攻め筋をすべて読みきった上で受け切るというのが、自分の性にあっているのだ。これは、生来の性格なので致し方がない。とは言え、受けというのは攻めることよりも難しい概念である。 攻めの場合、読み筋は一点突破できればいいので、様々な選択肢を読む必要はない。一本道で深く読み込んで相手を上回ればいいからだ。しかし、受けの場合はそうはいかない。あらゆる攻め筋を全て読みきる必要がある。広く、深く読んで読みぬけがあったら、そこで負け決まる。そのため、精神的なダメージは非常に大きい。受けが得意な人は、精神面でかなり鍛えられている人以外には向いていないと思う。 攻め 僕が遊んでいる、将棋も、ポケモンも、パズドラも、どのゲームも今は攻めが重視されている。というより、攻める方が受けるより有利な状況がずっと続いている。 例えば、将棋。相手の攻撃を全部受けきって、自分はぼちぼちと確実な攻めで行くというのは平成後期の将棋までに許された牧歌的なもので、令和の現在攻め合いのタイミングを見計らって、どれだけ上手く体をかわすかという将棋が断然増えている。それほど、攻めが精錬されている。これは将棋AIの発達により生半可な受けは通用しなくなっているという事であり、それはここ10年間積み上げてきたものであり、この流れは切り替えられないと思う。そして、将棋というゲームそのものが、攻めた方が勝ちという結論が出そうになっている。それぐらい、攻め志向なゲームに変わり果ててしまっている。 これはトッププロの話であって、アマチュアはというと、受けも攻めもバランスの良い人たちが切磋琢磨していて、受け将棋もまだ一定数存在しているが、段々とそれも駆逐される可能性が高いと僕は思っている。 例えば、ポケモン。最近、ポケモンチャンピオンズで久々に対戦環境に復帰した。めっちゃ楽しい。楽しいのはともかく、当初は相手の攻撃を受け止めた上で、相手以上の火力で殴って制圧するというのが楽しかったのだが、どうもポケモンという対戦ゲームはそう簡単に...
最近の投稿

ちょっと珍しいYouTubeチャンネル紹介記事-Norinori Core

Norinori Core 僕は作業のBGV、BGMとしてYouTubeを垂れ流してるんだけれど、最近おもしろいチャンネルがサジェストされたので、ブログ記事にしておく。将来的には見れなくなってるかもだけど。 NORINORI CORE いわゆるAI音楽カバーチャンネル。今までも色々なチャンネルがあったけれど、このチャンネルはかなり強烈かつ一定の形を持ったアレンジ曲をアップロードしている。気がついたら全曲聞いてたんだけれど、おすすめの数曲を羅列してみる。 粉雪 - レミオロメン 多分、この曲が一番最初にサジェストされたと思うんだけれど、四の五の言わずに聞いてみて欲しい。最初のイントロから超アレンジで原曲がほぼ消えているのが分かるが、Aメロ、サビと入っていくとあの名曲「粉雪」だと分かる。 オドループ - フレデリック 最近アップロードされた中でもめちゃくちゃ再生されている曲。元々ノリノリなのに、さらにノッている曲にアレンジされている。 怪物 - YOASOBI これも有名曲だが、アレンジされまくって原曲がほぼ消えている。イントロで心を掴むという構造は一緒だが、比較的イントロが生き残っている曲の一つ。 AIアレンジについて AIによる曲アレンジは今後もどんどん増えてくると思うんだけれど、このチャンネルのようにテーマを決めてアレンジして、大量生産して行くというのが一つの方向として定められた気がする。著作権的にどうなんだろうかとか、果たしてこのようなアレンジは誰にでも出来るようになるのだろうかと色々な疑問が生じる。作曲する人たちも今AIからサンプリングした音源を使っている人たちもいると思うし、音楽という分野でAIは上手に使われていくと思っている。 AI周りだと、この世界で一番最初に応用して活用していたのは、プロの将棋棋士で、AIが自分たちの能力を超えたとしても、そこから学び応用し(アレンジして)、自分の血肉として棋譜を残している。 今は、プログラマー界隈でも生成AIをベースにしたコーディング、バイブコーディングという言葉もすでに過去のものになってハーネスエンジニアリングとかそんな感じの名前になっている。この辺は、今丁度爆発的に環境構築と整理が進んでいる段階で、まだデファクトスタンダードは決まっていないというのが実情だ。 そして、この音楽...

なんとなく存在してないけれど欲しいもの

なんとなく存在してないけれど欲しいもの ミニPC 項目 性能 備考 メモリ 96GB or 128GB DDR6。Unifiedなメモリが欲しい USB Type-C port 4以上 チップセットで対応してるのがない 給電 USB PD 100W こっちはあった気がする ローカルLLMでの活用を想定している。ゲームをする気は一切無い。個人的には、Zen6世代のイメージがある。でも、USB Type-C portを4個以上積んでるチップセットが出てくるまでは相当に時間が掛かると思っている。Unifiedなメモリを使うことでこれまで出来なかった大量メモリ使用でLLMぶん回す的なことが出来たらいいなと思っている。ただ、これを手に入れる頃にはローカルLLM周りもかなり変わっている気がするので、ここまで高性能なPC無くても良いかもしれない。 スマートフォン 項目 性能 備考 無線給電 Qi2.2 もっとそれ以上の規格が出て欲しい ストレージ容量 256GB メモリ高騰のあおりを受けているが、これぐらいは欲しい NFC Type-F なんやかんやType-Fは生活で必須だと思う。Type-AかType-Bだけで済むような世界になるなら、いらないかもだけど。 SIM eSIM対応 eSIM良いよ。マジ便利 Antutu 130万以上 最低限の目安。倍以上性能あっても良い。 スマートフォンに関しては、無線給電が一番今欲しい機能。マグネット+給電に関連する周辺機器がやたら出てる割に、スマホ本体が対応していないという状況が続いている。これはあまりにも不便すぎる。ただ、色々使っていて感じているのは、Qi2.2対応すると多分発熱がエグい事になると思うので、その辺をどう対処するかは今後の課題か。メーカーにはこだわりが無いと言ったら嘘になるんだけれど、一時期使い倒してしたXiaomiはもう良いかなと思っている。理由としては、OSをカスタマイズしすぎていて、Androidっぽくないからという印象。Samsungに関しては、今まで使ってことがないので、次はSamsungにするかもしれない。あるいはSony。今使っているSharpは十分ではあるんだけれど、他のメーカーはどうな...

ObsidianのdailynoteにToDoを追加する

ObsidianのdailynoteにToDoを追加する 去年のこれくらいの時期にObsidian を始めたのだが、最近になってようやく dailynote を使うようになった。 そして、そこにToDoを記載しているのだが、これを管理するための環境を整えるのがまーまー面倒だったので、ここにまとめて置く。 コミュニティプラグインのインストール 以下コミュニティのプラグインをインストールする必用がある Tasks Dataview Templater Dataviewプラグインの設定 以下の設定をONにする。 Enable inline queries Enable JavaScript queries Enable inline JavaScript queries Templaterプラグインの設定 以下の設定をONにする Trigger Templater on new file creation templateを作る templateディレクトリ を作り、その中に daily というファイルを追加する。これの名前は何でも良い。 中身を以下にする。 # ToDo <%* // 1. Dataview APIの取得(待機処理付き) const dv = app.plugins.plugins.dataview?.api; if (!dv) { tR += "> [!CAUTION] Dataview APIが見つかりません。設定を確認してください。"; return; } // 2. 設定:過去何日まで遡るか const daysToLookBack = 7; let allIncompleteTasks = []; // 3. ループ処理 for (let i = 1; i <= daysToLookBack; i++) { // 自身の日付フォーマットに合わせてここを修正(例: "YYYY-MM-DD") const targetDateStr = tp.date.now("YYYY-MM-DD", -i); const page = dv.page(targetDateStr); ...

LLRのリリース

LLR完成 Like Live RSSReader が完成した。構想だけはでっち上げていたものの、自分の技術力(と時間)が足りなくて出来なかったが、LLMという強力な武器を手に入れることで、クソザコ開発者でも自分が思い描いていたWebサービスを構築できるようになった。非常にありがたい話です。 始め方 opmlファイルをドラッグ&ドロップで落とすか、 フィード管理 から新たにRSSを追加して使いはじめることができる。 操作方法 PCの場合、キーボード操作でほぼできるようになっているので、まずは「?」キーを押下して欲しい。そこに操作の主な説明が載っている。基本的には、Vimのキーボード操作に準拠していると思っていただければいい。 開発に関して 今回は、 Gemini CLI と Codex CLI の2つを駆使して、開発を行なった。プロンプトに関しては、 document/prompt.md に記載した。もし、新たに何かを作ろうとしてる人の参考になればと思っている。 技術選定に関して サーバに何かデータを残すという事はなるべくしたくなかったので、クライアントサイトでほぼ完結するアプリを作ることを考えた。RSSの総量も2000とか3000フィード読んでいる人は現代ではほぼいないと考えて、 IndexedDB で充分にまかなえると考えて、設計。最初はPCオンリーで動かす事を考えたが、開発中にスマホでもRSSよみてーなーと思って、最後の最後でスマホで読める最低限の機能を取り付けた。 また、ホスティング先として cloudflare を選定。最初は、Next.jsのフレームワークで作成していたが、機能的にはHTML+edge serviceで開発可能だと気がついたので、その点で負荷がある程度増えても無料枠でまかなえるcloudflareが良いなということで、一気に作り変えた。それに伴い、Next.jsはやめてビルドツールを Vite8.0 にした。最新の技術に触れたいなという気持ちもあったが、やっぱりViteはすごい優秀。ビルド速度がえげつない。Next.jsはオールインワンで作れるが、例えば今回作ったようなRSSを読み込むという単機能=マイクロサービスと組み合わせるようなシンプルなサイトならば、Viteに軍配が上がる。 バックエンドの機能に関しては、...

定期的な謎文字列

定期的に生じる謎バックアップ 70633, 106170, 95617, 78681, 82345, 71144, 83761, 322, 2172, 70271, 70325, 33377, 180147, 180163, 10897, 66319, 74879, 98790, 73381, 95036, 56276, 57223, 45219, 745, 98392, 54915, 76147, 64857, 70723, 89498, 93578, 96091, 2916, 85128, 2705, 3050, 40417, 106796, 90374, 92097, 36131, 84005, 52219, 60463, 85221, 74734, 72767, 13207, 22063, 66044, 47612, 87665, 70222, 104252, 100585, 89045, 109649, 108976, 93834, 68838, 97041, 74844, 102333, 102912, 72139, 106576, 105754, 84444, 87119, 110462, 11268, 95493, 101778, 444, 84574, 85101, 74542, 79903, 115304, 66344, 106557, 109954, 97588, 116791, 109670, 99144, 99141, 111923, 99167, 120488, 121673, 119843, 119911, 118375, 123054, 107628, 107068, 116381, 128539, 128255, 131802, 131579, 131879, 132028, 132445, 125648, 105086, 133444, 132572, 198291, 133763, 105468, 117853, 131554, 129876, 109634, 137112, 137003, 136294, 136755, 138222, 138065, 138928, 138008, 126740, 139781, 118648, 124413, 180181, 139359, 141141, 143608, 139854,...

LLRプロトタイプ、完成

LLRのプロトタイプ完成 僕が個人的に作っているWebアプリで LLR というのがあるのだが、それのプロトタイプが完成した。上の画像はそのサンプルである。 見た瞬間に、一部の読者の脳裏に 存在する記憶 が溢れ出したのでは無いだろうか。毎日RSSに張り付いて大量に生み出されていた記事を読み漁っている自分を。もしかしたら、現在進行系でそういう人もいるかもしれないが。 LLRとは何か LLRとは、僕が冗談で名前を付けたRSSのリーダーで、「 Like Live RSS Reader 」が一応正式名称( それなら、LLRRが正式名称では?ボブは訝しんだ )。でも、 ラブライブ!リーダー というもっとふざけた名前のほうが(当時は)収まりが良かったので、コードネームはラブライブ!リーダーである。さて、このLLRの開発はいつ始まったのだろうか。コミットした履歴を見ると2014年に始まったらしい。この当時の僕は構想だけ打ち立ててその後放置するというよくあるプログラマ仕草をしていた時期なので、特に何も進展のないプロジェクトだった。他にも、死にプロジェクトは山のようにある。 転換点 何を思ったのか、 2026年3月22日 、LLRの開発が急遽始まる。GitHubのログを見ると、何をしてるのか概ね分かるだろう。ここで、見るべきはdocument/prompt.mdファイルである。今回の実験の一貫として、自分が普段生成AIにどういうプロンプトを投げているかを履歴として残すようにした。すなわち、NeoVimで命令をゴリゴリ書いて、それをプロンプトに雑に投げて開発するという手法でLLRが生成されていったのを読み取れるようにしている。まあ、実際にはNeoVimで書く前にプロンプトに直接書いちゃうこともあるんだけれど。Gemini3のflash-liteは中々賢くて、指示が間違っていなければ、ほぼほぼ一発で欲しい機能を実装してくれる。でも、指示が曖昧な部分があるとその辺をものすごーく雑に実装するので、ある程度の知識がないと作ることは難しいだろう。 ちなみに、アイコンも Canva のAI機能を作って生成させた。AI生成により、フロントエンド周りは僕のように技術がない人間でも飛躍的に簡単に一揃いの素材を作れるようになったのは革命だと思う。 使用している生成AI 今回開発するに当...