はじめに
前回の記事で書いた
②工業ゲームで生産性を最大化するための自動計算フローチャート
についての記事になります。
なぜ作ろうと思ったか
配信上でこのアイテムを作るには何を何台置くのが正解か
画面上に表示しつつ今作ってるものがわかるとリスナーが見やすいのではないか
と思ったことがきっかけでツールを作ろうとしました。
簡単に図にするとこんな感じです。
[AAA]───┐
├──[CCC]
[BBB]───┘
目標
作るにあたり以下を目標にしました。
・知人配信者にも配布できる
・プログラムに詳しくなくても利用できる
・ローカルで機能する
作るにあたり詰まってしまった点
最初に考えたのは、
・素材名
・作成秒数
・作成機材
をまとめたJSONファイルを読んで動作するものでした。
しかし、これを動かすにはローカルサーバーを立てる必要があり、
プログラムに詳しくなくても利用できるから外れてしまいます。
次に考えたのがOBSにプラグインとして導入できないかです。
OBSには標準でスクリプト機能があり、Luaを使ってOBSの中で完結できないかと考えました。
しかしながらOBSLuaには標準でJSON読み込み機能がありませんでした。
調べたところLua用JSONパーサを用意すればいけそうだったので、
最終的に
obs-industrial/
│
├─ industrial.lua
├─ dkjson.lua
└─ recipes.json
という形にしたところいったん表示することができました。
じゃあなぜ作るのをやめたの?
あとはrecipes.jsonにゲームのアイテムの情報をすべて作成し、
画面表示を整えてあげればよい状態にはなりました。
ここで配信者周りにツールを使ってみてくれないかと持って行ったところ
・配信上でガチガチに工業化作業をするつもりがない
・最高率のものはYoutube解説から持ってくるから使わない
という声が多く上がりました。
また、最高効率については土地に対してテトリスのように隙間なく埋める必要もあり、
それについてOBSのオーバーレイで表示するのが難しいという点に気づきました。
ポキッ
結論
ぱっと思いついたものをとりあえず作ってみたはいいものの
本当にそのツールを使う人がいるのかという点で調査をしていなかったためお蔵入りになった。
学び
今回のツール開発はお蔵入りになりましたが、
Lua用JSONパーサを用意することでjsonファイルからの読み込みができることを学びました。
今後、何かしらの役に立てばいいなと思いつつ今回の話はこれで終わりとさせていただきます。