原神が「より良く」なる魔法!BetterGI解析!
概要:なにこれ凄い?
皆さん、こんにちは!アキラです!いやぁ、今回GitHubトレンドで見つけたbabalae/better-genshin-impact、マジで度肝を抜かれましたよ!説明を読んだ瞬間、「これ、ゲームのUI Automationの極地じゃん…!」って叫んじゃいましたね。原神の複雑なUIをC#でここまで完璧に制御するって、一体どんな変態…いや、天才が作ったんだ?!と興奮が止まりません!自動拾取からAI釣りに全自動七聖召喚まで、これもう「ゲームをプレイしてる」っていうより「ゲームをハックしてる」感覚ですよ。エンジニア的には、こういう「不可能を可能にする」みたいな挑戦、たまらないですよね!
ここが推し!
- 驚愕のUI Automation: 普通のゲームBotって、画像認識とか座標クリックが多いじゃないですか?でもこれ、
UI Automation Testing Toolsって明記してるんですよ!つまり、Windows標準のUI Automation APIをガチで使いこなしてる可能性が高い。これなら画面解像度やゲーム内UI変更にも強いはず…技術的にめちゃくちゃ賢いアプローチだ! - AIによる全自動釣り: ただの自動釣りじゃなくて「AI」って書いてあるのがヤバい!おそらく釣りのミニゲームのパターンを学習したり、魚の動きを予測したりしてるんじゃないかと妄想しちゃいますね。ゲームAIの実践例として、僕も中身を深掘りしてみたいです!
- 全自動七聖召喚: これもまたUI Automationの腕の見せ所!複雑なカードゲームの盤面を認識し、最適な手を打つって、ただのクリックツールじゃ絶対無理。ゲームロジックを理解した上で自動化してる証拠だよね!
- 多岐にわたる自動化機能: 自動拾取、自動ストーリー、自動伐木、自動周回、自動採集…と、原神で「面倒だな」と感じるあらゆる要素をカバーしてるのが凄い。開発者の原神への深い愛情(と、もしかしたら深い恨み?笑)が感じられます!
- C#と.NETの力: この手のツールでC#が使われてるって、なんだか嬉しいんですよね。Windows環境との親和性の高さ、強力な標準ライブラリ群、そして何よりモダンな開発体験。これだからC#は最高なんだよなぁ!
サクッと試そう(使用例)
よし、じゃあ早速動かしてみようか!基本的にリリースからバイナリを落としてくるか、自分でビルドするかの二択だね。僕みたいなエンジニアなら、まずリポジトリをcloneして、自分でビルドするのが性ってやつだよね!VS CodeとかVisual Studioがあればサクッとできちゃうはず。
git clone https://github.com/babalae/better-genshin-impact.git
cd better-genshin-impact
# Visual Studioでソリューションファイルを開いてビルドするか、
# dotnet CLIでビルド。例えばこんな感じかな!
dotnet build BetterGI.sln
# ビルド後、bin/Debug (またはRelease) フォルダから実行ファイルを起動!
./bin/Debug/net*/*BetterGI.exe
もちろん、リリースから落としてくるのが一番手軽だけどね!笑 あとは起動したツールUIから設定するだけだよ!
ぶっちゃけ誰向け?
- 原神のデイリー任務に疲れた旅人: 君のためのツールだよ!毎日同じ作業の繰り返しにうんざりしてるなら、これを使えば自由な時間が爆増するはず!
- C#でのUI Automation実装に興味があるエンジニア: ゲームという複雑なUIをどう制御しているのか、コードを読むだけでめちゃくちゃ勉強になるはず!
System.Windows.Automationの世界を覗いてみよう! - ゲームハック/自動化技術にワクワクする好奇心旺盛なデベロッパー: AIがゲームをプレイする未来を今すぐ体験したい?ならこのプロジェクトは君の探求心を刺激すること間違いなし!
まとめ
いやぁ、本当にbetter-genshin-impactは、僕たちエンジニアの好奇心をこれでもかってくらい刺激してくれるプロジェクトだったね!ゲームの自動化って聞くと、どうしてもネガティブなイメージを持たれがちだけど、ここまで技術的に洗練されたアプローチを見せられると、もう尊敬しかないよ。特にUI Automationを使った実装は、ゲーム以外の分野でも応用が利きそうで、今後の発展がマジで楽しみ!もちろん、利用は自己責任だし、ゲームの規約はしっかり守ろうね!でも、こんな素晴らしいプロジェクトに出会えたことに感謝!また面白いリポジトリを見つけたら、すぐにレポートするから楽しみにしててくれよな!