ごあいさつ
いつもはJavascriptやphpを書いているPinonです。
夜中の1時ごろによくLeagueOfLegendsをやっています。
好きなChampionはAniviaです。 Aniviaちゃんかわいい。
sliver5の雑魚です
riot apiのAdventCalenderということで、
riot apiを使ったものをやっとまともになったので紹介します。
作ったもの
lol-name-dbというものを作りました
夜中の1時ごろに友人とよくNormalをしているのですが、
その時によく
「この人…前戦った相手じゃない…?」
と話をしています。
しかしゲームクライアントから見れるmatchingHistoryは最新の10件しか表示されません。
そこで、戦った人全てを保存しておくアプリケーションを作りました。
登録しておけば1時間に1回(仕様)更新され、どんどん増えていくはずです。
使ったもの
- riot api
- DataDragon
- laravel - phpのframeworkを勉強したかった
- jquery
- foundation - css framework
- heroku - ドメインを取ったりするのがめんどうだったので
苦労した点
- APIのリクエスト上限が
10 request(s) every 10 second(s) 500 request(s) every 10 minute(s)
という仕様で、APIを叩いている時にすぐ上限がきてしまう。
- sleepを挟んで処理を遅らせた。
- 時間の比較がstrtotimeで同じ時間の時は弾く処理をしていたが、何故か弾かれない条件があった。
- Carbonをつかった。これは他のものにも使えそう
- CUSTOM MODEでbotのみと戦うと、JSONの中にfellowPlayersは無い。
- これを見つけるのに苦労した。何故かJSONの中に無かったのはriot plzと思った。
残タスク
- lol-name-dbっていう名前をかっちょいいのにしたい
- namelistが増えるとどうしても縦長になるのでページネーションを入れる
- おされなfaviconがほしい。
- 削除、ログアウト、SummonerNameを変更できるようにする。
などなど
感想とか
好きなゲームで、アプリケーションが作れるということがすごく楽しかった。
好きなモノだとモチベが上がる。
APIを公開することは別のゲームとかでもやってほしいなーと思います。
技術についてはたくさん勉強になった。
laravelの使い方を1から教えてくれたhamada君や、
デバッグを行うためにNormalに付き合ってくれたFriendのみんなには本当にお世話になりました:)