原神が好きなので原神でプログラミングの勉強をする その1

最近無趣味がさらに加速して、ソシャゲも買い切りゲームもまったくやらなくなってしまったんですが、相変わらず原神だけはやっています。
お金をかけてるってのもあるんですが、やっぱゲーム自体がよく出来てるんだと思います。

さて、最近はデジタル化が進んで、小学校でもプログラミングをやるとかなんとか。
興味のあることでプログラミングが学べるなら何ていいことでしょう!ということで今回は原神でプログラミングの勉強をしたいと思います。

初心者向けです。

GitHubっていうのがあるんですよ

GitHub(ギットハブ)は、ソフトウェア開発のプラットフォームであり、ソースコードをホスティングする。
~~~
GitHubにソースコードをホスティングすることで複数人のソフトウエア開発者と協働してコードをレビューしたり、プロジェクトを管理しつつ開発を行うことができる。
Wikipedia

プログラミングをやる以上、必ずGitHubに出会うことになるので先に知っておくといいでしょう。簡単に言えば自分の作ったプログラムを公開して、いろんな人に使ってもらったり、使った人の意見を取り入れて改良したりすることができるサイトという感じです。
ちなみに公開する内容は「ソースコード」と呼ばれるもので、プログラムの中身が書かれています。それをなんやかんやすると実際に使えるものになるって感じですね。

つまりここで原神と検索すると、世界中の人たちが作った原神に関するプログラムが見れるってわけです。

GitHubでググれ

GitHubで「Genshin」と検索してみたらこんな感じのものが出てきました。

一番上にあるのはDimbreath/GenshinDataというものですね。
これはプログラムではありませんが、原神の様々な解析データの詰め合わせのようです。

2番目にあるのは7eu7d7/genshin_auto_fishというもので、釣りの画面を解析して、自動で最適な位置に餌を落として釣ってくれるプログラムみたいですね。「Python」というプログラミング言語で作られているようです。

3番目はiuuu/genshin-wish-exportというもので、ガチャの履歴をファイル等にっ出力してくれるもののようですね。自分の課金レベルがわかりそうです。「Javascript」というプログラミング言語で作られているようです。

また、左下を見るとどんなプログラミング言語で作られているプログラムがどれくらいあるか見ることができます。

「genshin」に関するプログラムはPythonで作られたものが一番多く、それに続いてJavaScript、HTML、TypeScriptとなっています。

せっかくなのでそれぞれのプログラミング言語についてちょっと紹介しましょう。

  • Python:将来性が高くナウでヤングな人たちに人気の言語、機械学習界隈で幅を利かせている

  • JavaScript:Webサイトに動きをつけるために生まれた言語、ほぼすべてのWEBサイトで使われている(阿部寛のホームページを除く)

  • HTML:Webサイトの支配者、阿部寛のホームページでも使われている

  • TypeScript:JavaScriptをナウでヤングなものにアップデートしたもの

原神のデータベースで遊ぼう!

今回は2番目に人気だった言語、JavaScriptでソートして、3番目にあるgenshin-dbを使って遊びながら勉強してみようと思います

さてこのプログラムで何ができるのか知るために、解説ページを翻訳してみましょう。

何やらいろんなワードが入っていますので、1個づつ解説。

  • ジェンシン:原神のこと

  • 検索API:何かを検索できるプログラムらしい

  • JSONデータ:jsonという書き方のファイルのこと

  • インパクト!:原神のことかな

  • バージョン2.8:原神のバージョンのことらしい

  • ファンダムウィキ:商業系のwikiサイト

  • GenshinDataリポジトリ:GitHubでググった時に1番上に出てきていたDimbreath/GenshinDataのこと

  • ソース:ここからデータを持ってきましたよ、という大元のこと

要するにこのプログラムは
ファンダムウィキやGenshinDataから「ジェンシンインパクト!バージョン2.8」に関するJSONデータを持ってきて、それを検索できるAPIなんですよということです。

どんなものが検索できるのかも書いてあり、例えばキャラやスキル、武器、聖遺物などの情報を検索できるようです。

そしてこのプログラムを動かすにはノードv12とnpmをインストールすると書いてありますね。

ということで次の記事では実際に環境を作ってこのプログラムを動かしてみたいと思います。

次の記事

この記事が気に入ったらサポートをしてみませんか?