【Frontier Slither】バージョン2.0に向けて予定していること
[webstore par1=’https://chrome.google.com/webstore/detail/frontier-slither/jkfiikecahagonfbnjfhjphocjlaacmc’]
当サイトで開発しているslither.ioの最新MOD「Frontier Slither」
2019年10月現在、バージョン1.5公開中です!
バージョン2.0に向けて、予定していることを書き連ねていきます。
予定なので、取りやめたり延期したりするものもあります。
逆に2.0以前のバージョンで実装することもあります。
専門的な話もあるので「こんなこと予定してるのねー」って感じでかるーく読み飛ばしてください🙇♀️
FireFox・Opera版の正式公開
現在Chrome版のみの公開となっていますが、FireFox版とOpera版も公開予定です。
各ブラウザで、動作確認をしたり拡張機能の公開方法を調べたりと色々課題があります。
派生ブラウザでも検証したいと思うので、時間かかるかも……?
MS Edgeでも拡張機能はあるようですが、そもそもEdgeがみみず向いてないので予定なしです。
各機能を小分けにして自由に読み込みできるようにする
現時点でいろいろと多機能ですが、その分読み込み時間がかかるし、動作も僅かだけど重くなる。
シビアなPC環境でやっている人も大勢いると思うので、必要な機能とそうでない機能で読み込むかどうかを各ユーザーが設定できるようにしたいと思っています。
読み込む機能を最小限にすれば、実質軽量版MODになる……はず。
Build Slither Plus 完成版の統合
Build Slither Plus?なにそれ?
って人もいると思います。
これは、
公式カスタムスキン機能の「Build Slither」を、もっと使いやすくしよう!
ってことで作られたMODです。
旧@wikiで公開していたベータ版のMODを完成させてFrontierSlitherに統合させる予定です。
これは、上記の機能小分けにも関係していて、
この機能自体も読み込むかどうか設定できるようにします。
フレームごとの処理の最適化
60FPSなら毎秒60回フレームごとにプログラムが実行されているのですが、
本家のこれの処理に古いものや少し無駄なものがあるのでそのあたりの最適化をしています。
また、MODによる拡張でもフレームごとの処理を追記する必要があるので、重くならないようにうまい具合に組み込みます。
さらにゲームの描画処理部分について話すと、
slither.ioは結構細かいところまで描画していてきれいなのですが、その分重くなっている状態。
この辺を最適化したり、グラフィック設定をより細かく設定できるように書き換えたりしています。
Vue.jsへの移行
専門的な話になるので飛ばしてOK。
このMODに限らず、slither.ioのMODはDOM操作が多いので(もちろんMODにもよります)、それらを扱いやすいようにjQueryなどのライブラリを導入していました。
このMODでもZepto.jsという軽量なjQuery互換ライブラリを使用しています。 (更にここから使用しないajaxの部分も削除しています)
一方で、上記で統合予定と言ったBuild Slither PlusはVue.jsという全く別のライブラリで作っています。
こうなると、2つのライブラリ(JavaScriptファイル)を読み込む事になってその分無駄になります。
なので、統合前にこのMODをZepto.jsからVue.jsに移行して読み込むファイルの無駄を減らそうという目論見。
現在Vue.jsを勉強しながら移行作業を進めています。
DOMとかjQueryとかVue.jsだとか、この辺の詳細な説明はとても長くなるので省きます。
気になったらググってね。
そのうち独り言のようにブログに投稿するかも。
これに関しては、2.0に向けてと言うよりもVue.jsに移行完了したら晴れて2.0にバージョンアップという、
一番大きな課題です。
まとめ
他にも色々やることは考えていますが、以上の5点を中心にバージョンアップを目指していこうと思いますのでよろしくお願いします!
年内に間に合えばいいな(棒