MA$AKIの雑記

略してMA$A記


---------------------------------------------
更新履歴

2024/02/27    1.02   公開

2023/12/12 1.0 公開



---------------------------------------------


皆さんおはようございます。お口の恋人こと、MA$AKIでございます。
嘘です。どちらかといえば親の仇です。



早速ですが本題です。


題して!!!!!








MILLIONDOLLAR!!!!

RESULT!!!!!!!!!!




画像
XHARD CLEAR AAA

20231212_192254_★11 Le Reve -Luminous Dream- NO PLAY A

20231113_173531_sl3 ヒメタイプ [エヒメ] HARD CLEAR AA




特徴

アレです。
そっくりですね。そっくりじゃなかったとしたら泣く
ただし手作りです。作っている様子は過去の記事などをご覧ください。

・円グラフ搭載しました。
いい感じになっていることを願います。
ちなみに、円グラフ周辺をクリックで以前のF/S数の詳細表示と切り替えることができます。

・EXSCOREレート表記
EXスコアをクリックするとスコア⇔レートの表示を切り替えることができます。

・ランク+表記
oraja本体側で用意されていたNEXT RANKの数値を独自計算で求めるようにしたため、
AAA-0(AA)などのムカつく表記の消滅。
AAA+20などのランクボーダー+の際の白文字表記
に対応しました。だいたい近い方に対しての+-が表示されます。
これに伴って他だいたいのスキンとランク差分が1点ズレる場合がありますが、
そこは飲み込んでください。というかほかのスキンもこれをやってくれ プレイヤーとして頼む

・独自BGM搭載
oraja側ではなく、スキン側の実装で
 ・ループBGM
 ・画面遷移時のシャッター音

を搭載しています。

↑こんなかんじ

orajaの本体側で歓声のようなSEを設定することで、
歓声+BGMというそれっぽい組み合わせが作れるようになっています。
歓声を含んだsoundsetは近日公開予定です。

・マスコット対応してます。
ピョコピョコ動きます。かわいいですね。
自分の好きな画像に差し替えることも可能です。消すこともできます。

・フレーム選択ができます。
デフォルトは上部の「STAGE RESULT」表記のみですが、
・以前のバージョンの料理や旅を感じる垂れ幕
・未来の街並みを感じる装飾
をそれぞれ選択可能になっています。

・オリジナル機能「プレイヤーデータ」
差し替え可能な画像とテキストを画面内に表示することができます。
CUSTOMIZE/PLAYERDATA内のICONフォルダに好きな画像を入れ、
SUTOMIZE/CUSTOMOPTIONS.luaを編集することで好きなテキストを表示することができます。
リザルトのSNS共有の際に映える機能になってるといいな・・・という感じです!

dfdf
名称
↑こんなかんじ 文字の寄せ位置とかも編集できるョ

・TODAY PLAYED NOTES
画面右下に本日のプレイノート数を表示するようになりました。
スキンフォルダ内でtxtファイルで管理されており、以前の日付の物が蓄積されます。
夜中プレイされる方のために日付変更時間の調整機能もありますので、ぜひよろしくお願いします。

・こまけえ機能、変更点
一部の発狂BMSテーブルでは中央下部の難易度名+難易度数値をテーブル名+テーブル内難易度に差し替えます。また、コース道中では一律でCOURSE MODE表記になります。
PACEMAKER表記が復活しました。ちなみにMAXではDJ AUTOさんが出てきます。
・死亡時残りノーツ数を削除しました。今後機能強化を図って復活予定です。
・TOTAL FAST/SLOWの数値をGREAT以下orPGも含めるか選択できるようになりました。
・プライマリIRを自動取得するようにしました。ただし後述の注意点があります。

今後の予定

・コースリザルト対応
ちなみにコース道中での1st~FINALのステージ表記などにはすでに対応済です。

既知の不具合

・一部IRが正しく表示されない。
 ☆現時点でMocha・MinIR以外への対応予定はありません。対応のための改変も禁止です。
派生本体での使用非推奨や、いわゆる明らかに法的に問題のある場所との距離を取るなどの兼ね合いです。
ご理解ください。
なおCinammonIRについては様子を見て今後対応する可能性はあります。


更新履歴
・1.02(2024/02/27)
・orajaの更新に伴う音声再生系の機能の対応作業

・1.01(2023/12/15)
 ・いらん項目の削除
 ・背景に重ねる周辺の影を選択式に変更
→背景が原因でスコアなど見にくい場合はオンで若干改善する可能性があります。
 ・マスコットの位置調整をするとシャッターがバチクソズレる問題の修正



注意事項(2023/12/12改訂)

”””二次配布禁止”””です
今回のバージョンより、一部ファイルの入出力を含む機能がありますので、
安全の観点からもご協力をお願いいたします。
ユーザー様におかれましても、同様の理由から二次配布のファイルを利用することのないよう、
お気を付けください。

既存の画像ファイルを改変する行為は禁止とします。
内容変更の際は画像を追加し、Lua側に要素を追加する形での変更をしてください。
アプデ対応の観点からもそっちの方が取り回しが良いと思います。

Mocha配布版以外の本体・Mocha、MinIR以外のIR・およびそれらの独自機能に対応するための改変は一切禁止とさせていただきます。

本スキンを利用して、解析BMS等の権利的に著しく問題のあるファイルを絶対にプレイしないでください。
Do not use this Skin for playing illegal BMS files.

解析により取得された素材かどうかに関わらず、
商業流通している音楽ゲームから画像を流用する行為は絶対におやめください。

本スキンおよび内容物を使ったSNS投稿・動画・ライブ配信等は特に制限しません。
ただし本スキン以外の素材・ソフトウェア・楽曲・映像などについてはよくご確認のうえ、
最終的には各自で判断をお願い致します。

本スキンおよび内容物を利用したSNS投稿・動画・ライブ配信等を収益化する行為(広告・投げ銭やそれらに類する機能の利用)
の一切を禁止させていただきます。
というかBMSでプレイヤーが収益得ようとすんな

当スキンを利用して被った不利益・損害等に対する責任は負いかねますのでご了承ください。

上記の内容が守られていないことを確認した場合、
明確に原因のアカウント名等を指した上で公開終了等の対応をとる場合があります。
ご了承ください。

注意事項に関しての内容が配布物内の記載と食い違っている場合、こちらの記事内の記載を正としてください。

また、この内容は予告なく変更される場合があります。予めご了承ください。





キャプチャkasu
↑こういう事をしないでください
あとこの人は1.0~使わないでください。

その他使用した際に起こった不都合の責任・負担は負いかねますのでご注意ください。


導入方法

1.ダウンロードする
2.beatorajaのskinフォルダにいい感じに入れる
3.今日から君もMILLIONDOLLARだ!

アップデートの際はいったん削除しての再導入が事故が少ないと思います。

また、0.5以前との互換性がまるで無いのでお気を付けください。


ダウンロード

ver1.02(2024/2/27更新)

こちら


ver1.02より、対応verが0.8.7になっています。お気を付けください。
現時点で1.00~のCUSTOMEOPTIONS.Luaはそのまま使えます。
不安な場合は更新前にLuaを保管しておくなどの対応を各自お願いいたします。


ここまで読んでいただきありがとうございました。
読んでない方は中のreadmeはちゃんと読んでくださいね!いや読んでても!


感想・要望などはTwitterのリプやこちらの記事のコメント欄などでお願いします!




前回の記事ではブチギレながらLuaを書くところをお送りしました。
素材が組みあがってく様子を見るのは精神にいいですね。本当か?

と!こ!ろ!で!
今年もBOFの季節でございます。
アテクシ毎年PUNCH OUTというチームでBMSを製作しております。
今回の拙作ARGENTINE BACKBREAKERで参加しております。
アルゼンチンバックブリーカー、いかつい名前ですね。
スキン使いたきゃインプレ高評価入れろ!
みたいなことはめんどくせえ人に怒られそうなので言うつもりはないですが、
今回個人的に激アツマジヤバの自信作なので
是非遊んでいただけたらと思います。インプレもくれればくれるほど良い。
よろGENTINE BACKBREAKER!!!!!

※※注意※※
この記事は「このスキン使っても大丈夫かな・・・」と思ってるそこの皆さんにちょっとだけ安心していただくため、
全力でブチ切れながら手作りで製作している様子を記録した記事です。
「仮にも製作者なら絶対に言っちゃダメだろ」みたいな内容が出てくる可能性がありますので、
どうか温かい目で見るか、そこは見て見ぬふりをしていただければと思います・・・。
という体のBOFの宣伝記事です。
この記事読むのもいいですが、ぜひプレー!!!!!!

やれGENTINE BACKBREAKER


~~~製作記スタート~~~

前回の記事の時点で、そもそも本来の進捗的には八割くらい完成していました。

Q:じゃあなんでまだ作業増やすの?
A:はっ倒すぞ


~~円グラフとか~~

正直何年も前から実装してるスキンはあったので若干のいまさら感はありますが、
それっぽスキンを謳っているなら搭載しておきたい要素ではありました。
現実はつらくきびしいものである
1週間ぐらいかけて他のいくつかのスキンの実装を参考にようやく画像表示に成功しました。
以下後から自分で見返す用の簡単な概要
・各判定の数字を使って各判定(合算していく)/トータルノーツの割合を出す
・for文を利用して
1.度数分の画像を配置、
2.それが↑で出した割合を超えたタイミング毎に色を変える処理を挟む
3.360度繰り返す
4.完成

正直今もう一回無から作り出せとか言われたら絶対無理

中心あたりが汚いのごまかすために上にかぶせる画像も作ります。
本家確かカプセルみたいな質感だったはずなんですけど、
最近5次出荷で見たらそもそも視認全然できなくてウケました。
バカばっか(ルリルリ)
完成 前回搭載した要素を利用してクリックで切り替えできるようにしました。
前バージョンにはなかった要素ですね。
最初はだっせえと思ってたんですけど、2Pプレイ時にはそもそもこんな感じになるらしいです。
バランス悪いので右にも足しました。



~独自機能の追加とか~

なんか変なことをしていますね。なんなんでしょうか。
実装しました。
特定IRのフォルダ名を判別して、譜面難易度を難易度表のものと差し替えます。
現状で、
・発狂難易度表&overjoy
・Satellite&Stella
に対応してる(はず)なのですが、ここら辺は周りの意見聞いて追加対応も考えたいところです。
というかなんかそれなりに人口ある難易度表あったら教えてください!
上に関連して、フォルダ名のテキストからを数字を判別して難易度値に入れるように。
優しい人の助けを得た。
Luaに対する基本的な理解がないままやってる
のでこういうことになります。

画面左上に簡単な操作方法を追加。
右下に日付表示を追加。

~~機能復活~~
前回一律でTARGETとしていた部分を再度PACEMAKER表記に再改修します。
そもそもなんで変えざるをえなかったのかというと、
ここに仕様変更が入り、ペースメーカーもライバル名としてテキストで取得するためです。
以前はクリアランクなどと同じ方式で、数字を設定に対応する数字を取得していたのですが、
いつの間にかその数値が使えないうえで一律↑の仕様になっていました。
github読む限り、もうネットに転がってるスキン向けの対応としてop値は復活しそうなのですが、
今回はライバルネーム表示への対応も同時に行います。
行いました。

先ほどから使っている、テキストの内容を判別する方法を用いて、
・PACEMAKERを指定されている場合はPACEMAKER XXXの表記
・ライバルを指定している場合はライバル✙名前表記
と分岐するようにしました。
あとおまけでPACEMAKER MAXはDJ AUTOになります。

~見失い始めたゴール~
Luaスキンでやれることの一つにファイルの読み書きがあります。
Modernchicではインプレ支援などの機能で使われています。
完全に外部にファイルを作成できるので、↑のような使い方の他にも
独自に持ち越したい要素の作成に使えると思いました。
というわけでやってみました。orajaから取得した内容をテキストファイルに出力しています。
これだけでもプレイ履歴の作成みたいなことはできます(たしかmodernchicにある)。
これを利用して今回作成したい機能はズバリ
今日の総プレイノーツ数の表示です。

アカウント累計のプレイノーツ数はoraja側で実装されていますが、1日単位でのノーツ数はありませんでした。
・右下のスペースを埋めたい!
・独自要素作りたい!

と思った結果、今回実装へと踏み切ることになります。

ただ、毎回毎回他スキンからパクってたら当然自分の成長のためにもいかんわけで、
ここで何人目かになる強力な助っ人を呼びます。

悪魔のツールChatGPTの登場です。
こいつマジですごすぎませんか?????
2行ぐらいの文章で質問したらLuaのコード帰ってくるんだけど????
こんなんあったらスキンなんてすぐ完成しちまうよ!
話が違うだろ!!!!!!!!!!

キko-do
↑血と汗の結晶(完成品)

最終的にはorajaとは全然関係ないLuaやリファレンスを見ながら8割テメーで書くハメになりました。クソが!!!!!!
実装としては、
・テキストを読み込み、日付と保存したプレイ済ノーツ数を読み込む
・日付が今日ではない場合、テキストが存在しない場合は初期化処理して保存
・日付が一致している場合はプレイ済ノーツ数に今回の処理ノーツ数を加算して保存。
という形になりました。
因みに日付が変わった場合は以前のファイルが完全に破棄されるわけではなく、
日付名でテキストファイルが残るようにしています。
上達記録なんかの役には立つのではないでしょうか。
将来的には某タワー機能みたいなのもできたら面白いかもしれませんね!
わたしは今、適当なことを言っています。

~大ガチギレ音声再生編~
毎度のことながらの実装方法には目を瞑っておくとして、音声再生に手を出しました。

Lua単体でやれる機能ではありませんが、
orajaが使用しているライブラリを拝借して鳴らす形になります。
こちらもModernchicで使用されており、
独自機能に対する効果音や、キャラボイスの実装に使われております。

そして先にやりたいことを言ってしまうと、
リザルトBGMの実装」になります。
0.8.5時点でorajaにはない機能(gitみたらなんか今後対応しそうな気配がある)でして、
Soundsetの効果音に完成を入れて、リザルトBGMを流すということをやりたかったのです。
結果として地獄を見ることになりました。

まず、ループ再生の実装はModernchicにはありません。
ただ、ほかに参考にできる文献もほぼありません。
詰みです。

と思っていたらてねのさんがorajaのgithubから必要な要素見つけてくれたのですんなり再生できました。

しかしここで問題が発生します。
ループ再生が止められず、選局・プレイ中まで貫通しました。
Modernchicにループ再生はないので当然停止に関する情報もありません。
流石に許して欲しい

停止命令自体は情報貰った中にあるので、停止命令を含んだ関数を作ることは比較的簡単です。
ポイントは
「画面遷移のタイミングで作った停止処理を呼び出す」
ということになります。

beatorajaにはカスタムイベントというものがあるらしいのですが、
使ってるスキンをほぼ見かけません。なんで?
ただ、ここが重要なポイントであることは流石にわかるので、
ここからはこれの書き方を理解しようともがいていきます。

1

なんでこんな優しい人たちが僕の周りに来てくれるんでしょうか。
因みにこの方そもそも自分がやりたかったRESULTのループ再生についてプルリク出してた方らしく、
なんかこう、速くアップデートしてくれという感情が沸き上がってきます。
かなり一要素に時間を取られましたが、何とか実装できました。

リザルトBGM消すときの演出が寂しくなってしまうのでシャッターを作り始めました。
ちなみにDDR閉店風のシャッターを以前作ってニコニコで素材を公開したところ、
最近になってちょいちょい使ってくださる方が現れてきておりありがたい限りでございます。
とりあえずいい感じになったのではないでしょうか。
という訳で最終こんな感じになりました。
デザイン全然違う気もしますが前段で燃え尽きてカロリーかける情熱がないです。

ついでというか、BGMをループ再生する都合で効果音を歓声にする必要があるので、
Soundsetも作りました。Resultと同時か、こちらとBGMを先に公開するかもしれません。

というわけで、Resultスキンの制作もかなり完成に近づいてきました。
後は本当に面白くない細々とした作業を進めれば、いよいよ公開・・・!
ということで本スキンを使ってくださっている皆様におかれましては
楽しみにしていただければ、と思っております。

それでですね?
当然みなさま待ってる間も当然BMSやるわけですよね?
そんな皆様におススメしたいのが拙作、ARGENTINE BACKBREAKERでございます。
ちなみに読みはアルゼンチンバックブリーカーでございます。
今回本当に自信作なんですよォ・・・!
プレーもインフレもお願いしますよォ・・・!

というわけで宣伝とブチ切れを挟んだバーガー記事でございました。
次の更新では何かしら公開できるようなものを用意する予定ですので、
ぜひともお待ちいただければと思います。
BACKBREAKERしながらな!!!!!!!



皆さんこんばんは、昭和の怪物ことMA$AKIでございます。
嘘です。平成のハリボテです。

前回の記事では画像の制作工程でしたが今回からはいよいよ実際に配置です!
ただ、配置に関しては前バージョンでもやってた事なので、
大した労力にはならないでしょう!!!!!
1ヵ月前の私はそう思っていました

※※注意※※

この記事は「このスキン使っても大丈夫かな・・・」と思ってるそこの皆さんにちょっとだけ安心していただくため、
全力でブチ切れながら手作りで製作している様子を記録した記事です。
「仮にも製作者なら絶対に言っちゃダメだろ」みたいな内容が出てくる可能性がありますので、
どうか温かい目で見るか、そこは見て見ぬふりをしていただければと思います・・・。
配布はまだです、前バージョンで我慢してね!!!!

では今回もレッツ製作記!!!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~
今回の目標の一つとして、
今までの制作が基本的にすべて一番初めに作ったDecideの継ぎ足しだったので、
そこをある程度でも解消することが一つ課題としてあります。

なぜか手伝ってくれる優しい人2 りっくさんでございます。
BMSのスキンといえばこの人!という方も多いのではないでしょうか。
ちなみに氏のorajaスキン製作のきっかけ作ってるのは僕なので(過言)、
氏のスキンを使っている方は僕にも少し感謝して欲しいです(過言)

それに対してコイツの口の利き方は何なんだ?

話は少し脱線しますが、氏の制作している音楽ゲーム、Ez-MuseIIにて、
拙作「GERMAN SUPLEX」で参加しております。ちなみにいわゆる元プレアン枠でした。
BMSユーザーの方であれば気軽に楽しめるゲームになっておりますので、
どうもSUPLEXのほどよろしくお願いいたします。


流用しても変わらん部分だけ残したらこうなりました。

これは更新サボって永遠に放置してる間に実装されてたみたいです。
現時点でこのブログで配布しているバージョンではIRの名前は自己選択式です。
いつの間にか、曲名や数字を呼び出す方式でIRの名前も呼び出せるようになってたみたいです。
俺が気付いてなかっただけの可能性もあります。


これはLuaを書く時(他を知らん)のお約束ですが、等号は==です。
これだとif文で分岐の条件置く部分で変数に要素を入れてるので当然動きません。
こういう事の繰り返しでLuaはできてるんですね~~~~~~(全ギレ)

今回やりたかったことその2、Luaの分割です。
今回はリザルトなので変数や機能要素、プレイヤーボードの分離のみですが、
将来的に別スキンを作る際には、要素ごとに綺麗に分割したいと考えています。

クソが!!!!!!!!




画像切り出しのxy/whを永遠に間違えているため、同じミスが永遠に続きます。


めげない しょげない 泣いちゃダメ


ブチギレねえとは言ってねえよな!!???!??!??
ああ!??!????!??!??!?

おい!!??!??!??!?
やってやんぞ!??!?!?!?
やんぞ!????ああ!!??!?!?!?!!!???


それでも前に進まなきゃダメなんだ 止まれないんだ


さっき言ってたIR機能からの派生ですね。
IRの文字列を勝手に取得して、対応したIR名を良い感じのフォントで表示します。
ちなみにフォントをそのまま入れるのが規約的に憚られるため、
完全に画像化したものを表示しております。

IR機能は他のカスタマイズと違って基本は強制表示ですが、
これは解析対策の面などを考えて、派生本体で使いにくくするために意図的にやっています。

話が少しズレますが、これに際してMochaとMinIR以外に対応IRがないかを確認したところ、
教えてもらったページから3クリックぐらいでよからぬゲームの名前が見えたため、
現状ではこの2つ以外は対応しない予定です。あしからず。

あたしって、ほんとバカ

あたしって、ほんとバ
オメーいい加減学習しろや!!!!!!!!!!!

無理でした。

こんなピンポイントで狂うことある??????


そんなこんなで結構製作も進みました。
作った素材置いてるだけだから当然といえば当然ですが。。。

Twitterに画像を張ってる理由の一つに、あとから進捗を見返すためというのがあります。
こういうのって時間置いて確認するのやっぱ大事ですよね!

失敗は 成功の素 大事だよ(五七五)
んなわけねえだろ ぶち食らわすぞ(七七)


★今回の割と大事なところ★

前置きをするとLR2から機能的にはそうなのでorajaが悪いわけではないんですが、
僕がBMSのプレイヤーとして明確に嫌いな点として
NEXT RANKの仕様があります。

いわゆる本家との違いとして、
・+表記が存在しない
・-0の存在があります。

要するにAAA-000AAなんですよね。
これめっちゃキショくないですか?????

幸い、orajaはLuaでスキンを書くことができ、
表示する数字に関しても、独自の計算結果を表示することが可能です。

やるっぺよ!!!!!!!


やりました。
orajaのランクに関する計算式を流用して、ノーツ数から勝手に計算して表示するようにしました。
問題点として、本来の数字を引用してるスキンとは1点差分がズレるのですが、
これはもう使っていただくなら受け入れて頂くほかありません。
ちなみに、正確な確認はしていませんがhij_simpleなどは以前からこの方式を使っていたみたいです。
★今回の割と大事なところおわり★


引き続き終わらせていきます。


求:このメモの解読方法
出:KISS...FOR YOU...

こういう自分にはない領域から意見をくれると新しいことはしやすくていいですね。
皆も要望あったら教えてくれな!!!!!!!!


特定の表示をクリックで制御する術を覚えました!


こういう事をせずにいられない生き物なんです 許して・・・

レート表記の小数点用にドットを書き足しました。
スキン製作ではこういう追加製作が地味に多いです。
ここにも計画性のNASAが出ていますね

ウケたさからこういうしょうもないこと言うのやめたい
ちなみにアマギフは常に募集しているのでよろしくお願いいたします。
当然何かを約束するものではありませんがあんなんなんぼあってもいいですからね
お前らも欲しいんだろ!!!!素直になれよ!!!!!!!
欲しいだろ誰だって!!!!!!!金はよ!!!!!!!!!!


今回はここまでです!次回はさらに苦しむ自分の姿をお送りする予定です。
スキンもだいぶいい感じになる様子をお送りできるかなと思います。
あとたぶんめちゃめちゃBOFの宣伝をします。

それではまた次回お会いしましょう!









こんなこと絶対に言うな





↑このページのトップヘ