Steam で遊んだ時間を可視化する(チャート表示)
「Steam のゲームを遊んでいるせいで趣味ゲー開発が進んでないのでは?」という疑念を抱いてしまった私は、真実を求めてツール開発を始めた。
前回の記事で Steam Web API を使ってゲームのプレイ時間を記録する Python スクリプトを作成したので、今回はチャート表示を実装します。
やったこと
JavaScript ライブラリの chart.js を使ってチャート表示を実現します。
もう少し詳しく書くと、
- Steam Web API の取得結果を日付をつけて保存する。
- csv 相当のデータに変換する。
- 変換したデータを埋め込んだ html ファイルを作って chart.js で描画する。
という処理になります。
そして、作ったスクリプトがこれらです。
save_playtime.py (1.12kB)
ダウンロードlog2csv.py (1.87kB)
ダウンロードchart.py (2.39kB)
ダウンロードutil.py (108.00B)
ダウンロード↓ チャートの例
よいです。
ただ、この仕組みには問題があって、ゲームごとに「ある日時の保存された総プレイ時間とそれ以前の日付の総プレイ時間との差からプレイ時間を計算する」という処理で最初のデータは無視されるため、記録期間中に最初にプレイしたぶんの時間はチャートに反映されません。
これについては気にしないことにします。
まとめと今後の予定
Steam のゲームを遊んだ時間を可視化した結果、「こんなにか…」という感じで精神的に大ダメージを受けています。いやまぁ、気付かないようにしてただけで知ってはいました。いろいろむつかしいです。
このツールについては、だいたい欲しい機能は実装したので満足しました。よいです。
次回からは、いつもの趣味ゲー開発に戻ります。がんばります。