Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プログラミングで遊ぶ

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for pocke pocke
October 25, 2025

 プログラミングで遊ぶ

Avatar for pocke

pocke

October 25, 2025
Tweet

More Decks by pocke

Other Decks in Technology

Transcript

  1. ElinでのMOD • ElinはMODフレンドリーなゲーム ◦ MOD作成、公開が許可されている ◦ Steam上に公式にMOD公開プラットフォームが存在する ◦ MODのソースコード公開が許可されている ◦

    Elin本体のソースコード公開が許可されている (?!?!) • Unity / C# 製 • 私は便利系を主に公開、時々ジョークMOD ◦ 現時点で12個公開 ◦ 利用者が一番多いMODで4700ユーザーほど
  2. Webアプリ編 ペット(仲間)の育成をするにあたって、困ることが増えてきた • 公式のWikiだと、情報が足りなかったり、検索性に難がある。 • MOD開発リソースとして、有志がゲーム内データのCSVを公開している ◦ https://docs.google.com/spreadsheets/d/1CJqsXFF2FLlpPz710oCpNFYF4W_5yoVn/edit?g id=1016121330#gid=1016121330 ◦

    そのCSVを眺めれば、キャラクターの (ほぼ)すべてが理解できる • しかし、CSVはとてもめんどくさい ◦ 複数のCSV(キャラクター、職業、種族など )を自力でmergeする必要がある ◦ アビリティ名がゲーム内 IDで表記されていて、自力で変換が必要 ◦ UIがスプレッドシート それならCSVをいい感じに見れるWebアプリを作ろう!
  3. 技術構成 • Next.js, SSG only • TypeScript ◦ (ちょっとだけRuby) •

    MUI • Cloudflare Pages ランニングコストをかけないため、完全に静的なページを生成、配信
  4. AIの活躍 開発のほとんどをClaude Codeで行った • HTML要素の配置をやってくれるのが本当に助かる ◦ 90点ぐらいのUIをうまく作ってくれればいい、という期待にしっかり応えてくれる • 結構めちゃくちゃなコードを書かれることもそこそこある ◦

    手直しの指示は必要 • コアのロジックはある程度自分で実装・細かく指示出しをした ◦ CSVの内容をどう解釈するべきか ◦ これもElin側のコードを合わせて読ませたら、もっと AIに任せられたかも…
  5. 問題: 完全飯を作る Elinでは、食事でキャラクターが成長する • 食事に含まれる特性によって、成長するステータス が変化する ◦ 対象となるステータスは 16個 •

    食事は料理スキルによって、複数の食材を組み合わ せてクラフトできる • 食材ごとに特性が決まっている(== 成長するステータ スが異なる) どのような組合せを選べば、全能力が上昇する完全飯を 作れるか
  6. 課題 • 単純に全探索すると、ものすごい数の組合せを探索しないといけない ◦ 5つの異なるカテゴリの食材を使うレシピ ◦ それぞれのカテゴリで食材の候補が 26, 400, 736,

    566, 20種類ある ◦ 全組み合わせは86647808000通り(866億通り) • 品種改良というややこしい要素がある ◦ 食材となる農作物は自作できる ◦ 農作物は品種改良でき、対象のステータス 16個の中の9個のいずれかを上昇させる事ができる ◦ つまり農作物の場合は候補数が 9倍になり、候補が更に膨れ上がる
  7. 前処理: パレート最適問題 ある食材Aのステータス上昇値が、別の食材Bのそれと比べてすべて同じか上回って いるのであれば、食材Bは考慮する必要がない 例: • 食材Aは筋力が3, 耐久が2上がる • 食材Bは筋力が3,

    耐久が1上がる • この場合、食材Bは必要がない 食材データがスプレッドシートで提供されていたので、GASで実装。 これで食材数が16, 71, 89, 73, 19に、組合せが140231248(1.4億)に減少
  8. まとめ • プログラミングを使って、ゲームを色々な方向から楽しんでいる ◦ MOD、コードリーディング、 Webアプリ、組合せ最適 • AIによって慣れない分野に手を出しやすくなった ◦ C#,

    Webフロントエンド • Elinはプログラミングを活かしやすいゲーム ◦ ゲームによってはデコンパイルが許されていない場合もあるので注意 Thanks for your listening!