2019年9月某日に、simaiの大型バージョンアップ版 “3simai”をリリース致します。
※このページでは、2simai EXpand以前のことを【旧作】と呼び、3simaiのことを【新作】と呼びます
なぜバージョンアップを行うに至ったのか?
2018年12月に『
maimai でらっくす』(以下、『でらっくす』)の情報が発表されましたが、
その時点で1年半以上simaiのプログラムを全くと言っていいほど触っていなかったこと、
『でらっくす』の要素が当時の自分にはあまり受け入れられなかったこと、
そしてFlash(simaiが動いているプログラムのエンジンのようなもの)が2020年で実質その役目を終えるため、
「自分が作ってみたくて作ったように、誰かが新しいのを作って、それが受け入れられる時代が来るだろう」と
その時は思っていました。
ところが、旧作ユーザーからタッチノーツを希望されるユーザーがこちらが予想していた以上に多かったことと、
その当時の自分の技術力をそこそこに詰め込んだように見えたsimaiも、
ビジュアル的にも内部処理的にも今の時代にはそぐわないところがあったこと、
某放送において「ゲームを盛り上げるのは消費者(プレーヤー)である」という発言をさせていただいたことから、
バージョンアップするには十分な理由が揃っていました。
また、『でらっくす』稼働日の時点でCelecaは求職中で、作業に充てる時間が確保できる状態だったため、
作り直すとしたら今しかないということで、今回のバージョンアップに至りました。
思えばsimai ver1.00をリリースしたのはmaimai PLUS時代で、これからmaimaiが大きく発展していく、というタイミングで制作しました。
ある方から、「(その方自身において)シミュレータが作られることは
音ゲーとして認められた証」というコメントをいただいたことがあり、
このタイミングで3simaiをリリースするのは、ある意味『でらっくす』を音ゲーとして改めて認めるということになるのかもしれません。
※これを書いている時点で、ゲームとしてのプレー・仕様の調査を兼ねて合計150クレジットを投入し、
レート10000に到達させているので、私の中ではすでに認めているつもりです
simaiと公式のmaimaiは、金輪際相容れることのない存在であることは当然明白です。
それでもsimaiの存在が、どんなに小さなことでもいいのでmaimaiのために役に立つのであれば幸いです。
なお、前述の通りFlashは2020年で実質的に使われなくなりますが、
2021年以降でも3simaiは動作します。(ただし、swfファイルを再生できるプレーヤーの準備が必要)
さすがに7年後となれば期待の新星がsimaiに代わるシミュレータを生み出していることと思うので心配はしていませんが……。
3simaiで【できなくなる】こと
- [オプション] Sensor Framesの廃止
- いわゆるセンサーの枠組みの表示のことですが、廃止させていただきました。
理由が……当方美術や画像処理が苦手なためにセンサー画像が作成できないためです。
※旧作ではどうしていたのかというと、知人がセンサー画像を提供していただいたことで実現できていました
- [オプション] Sheet Arrangeの廃止
- 宴っぽいことができるオプションですが、あまり需要が見込めなかったことと、
新作の記述方法でいくらでも宴っぽいことはできるようになったので廃止しました。
3simaiでの【仕様変更により、ユーザー対応が必要】なこと
- [maidata.txt] &tap_ofs、&hold_ofs、&slide_ofs、&break_ofs の廃止
- オフセットの機能は残っていますが、maidata.txtにこれらを書く必要がなくなりました。
オフセットはオプションから5ms単位で調整する仕様に変更しました。
- [maidata.txt] ファイルの文字コードを「UTF-8形式 (UTF-8 BOMなし形式)」に限定した
- 当方がWindowsのパソコンしかないためうかつだったのですが、
Mac OSのパソコンで起動した場合、どうやっても日本語が文字化けしてしまうユーザーがいらっしゃったようです。
そこでOS間の問題をなくすため、maidata.txtはUTF-8形式限定となりました。
- [maidata.txt] コメント記述のための記号が「>>」から「||」に変更された
- 理由はずばり、スライドの記号として「>」が使われているため。
「||あいうえお」とかを書くと、その行はコメント扱いとなります。
また、このコメントの仕様にバグがあったため、こちらも修正しました。
- [maidata.txt] フリーメッセージを(freemsg)を「SINGLE」に名称変更
- リアルタイムでメッセージを表示する機能を「アクティブメッセージ (ACTIVE)」としていましたが、
それに対して1種類のメッセージを常に表示するので、名称をSINGLEとしました。
これに伴いmaidata.txtに記述する変数名も変わりましたが、それに関しては[こちら]から。
- [maidata.txt] ノーツデザイナー表記が1行に変更
- スペースの都合上、新作ではノーツデザイナーの表記を1行にさせていただきました。
なお、表示の際に「Notes Designer:」のような接頭辞は入らないので、
「でざいん:まいまい」「譜面作成:すらいど」「Design:HOLD」のように自由に表記を書くことができます。
- [bg.jpg] 画像の大きさが600×600pxに変更
- 旧作ではbg.jpgが300×300pxでジャストフィットになりましたが、新作では縦横それぞれ2倍の長さが必要です。
譜面が流れるフィールドがほぼ2倍になったため、この対応が必要となります。
旧作から変更された操作方法
- [全体的] マウスで画面上の[<|][|>]ボタンを押して操作する方式に変更
- 旧作ではキーボードで操作していましたが、何がどれなのか分かりにくいため、
マウスで直感的に変更したい項目を操作できるようにしました。
また、言語が英語から日本語になっています。
ただし、使用頻度の高い以下のキーボード操作は残しています。
[1]~[7]:難易度選択 ←テンキーの[1]~[7]も有効になりました
[←][↑][↓][→]:リング・タッチスピードの変更
[A][S][D]:再生開始時間の調整
[Space]:maidata.txt、bg.jpgのリロード
[Backspace]:再生途中・再生終了後のスタンバイモード移行
- PLAYモードの実行方法の変更
- 2simaiから実装されたPLAYモードは新作でも使用できますが、
スタンバイモードから[P]を押しながら難易度選択をする、という操作に変わりました。
旧作から変更された仕様
- 画面サイズが640x360pxから、1280x720pxに拡大
- 旧作が640x360pxだったのは、ニコニコ動画に投稿する際に画面サイズを考えなくていいという理由からでしたが、
6年半以上が経ち、動画が現代人に身近となった今はもはや720pの時代!
ということでsimaiもその大きさに対応させることにしました。
Celecaは制作中に大きさに慣れてしまいましたが、初めて起動すると大きさに驚くかもしれません。
- 背景の明るさの仕様変更
- 旧作では(明るさと謳いつつも)bg.jpgの透明度の値を操作させていましたが、
新作ではbg.jpgの上に真っ黒の画像が乗っかり、その真っ黒の画像の透明度を操作することで明るさが変わるようにしました。
このため、新作では明るさを0%にすると、背景は真っ黒になります。
- リングスピード・タッチスピードを5ms単位で変更可能に
- 新作では「0.005秒」という表現をせずに、ミリセカンド(ms)で表現するようになっています。
この変更により、最速で5msの表示ができるようになりました。
- 内蔵音源(TAP音など)の変更
- 新しくEXリング・TOUCH HOLD最中・花火エフェクトの音源が加わるため、既存の効果音も一新しました。
- 7番目の難易度(主に創作譜面用)の名称をmai-EDITからORIGINALに変更
- BPMの表示が、実際にBPMが変わった瞬間に反映されるようになった
- 旧作では、「BPMが変わった後の最初のノーツを処理しきった瞬間」に表示BPMが変わっていましたが、
新作ではノーツが来ていなくとも、BPMが変わった瞬間に表示が変わります。
- Notes Densityを「A.N.D. (Average Notes Density)」に名称変更し、内部計算を修正
- 2simaiから譜面の1秒間あたりのノーツ平均密度が分かるようになりましたが、
結果からいうと、この計算式にバグがありました。大変申し訳ございませんでした。
新作では正しい計算式で計算するようになり、小数第5位まで表示するようになりました。
また、正しい計算式を行う際に、最低でも3ノーツないと計算ができないため、
2コンボ目までは計算がされない仕様となっています。
新作から追加される仕様
- 難易度表記として数字以外の表示を実装
- 例えば&lv_1に対して「※舞」と書くと、EASYのレベルが「舞」となります。
「※」の次に書かれた一文字をその難易度のレベルとして設定します。
- EACH( / )や同始点スライド( * )の際に、2種(2本)にとどまらずいくらでもつなげられるように進化
- 要するに【1b/2b/3b/4b/5b】や、【1-3[4:1]*-4[4:1]*-5[4:1]】のようなことができます。
- TOUCH、TOUCH HOLDの実装
- 例えば「E1」と書くと、大体『でらっくす』におけるE1あたりのところにTOUCHノーツが浮かび上がります。
TOUCH HOLDにしたい場合、その記述の後ろに「h[1:1]」などのように書きます。
つまりTOUCHとHOLDの記述を混ぜて「E1h[1:1]」のように書けば、TOUCH HOLDの記述になります。
なお、Cセンサーは『でらっくす』では「C1」と「C2」がありますが、simaiでは「C」だけでOKです。
- 花火エフェクトの実装
- TOUCHノーツでは、ときどき触れると花火のような虹色の全体エフェクトが発生することがあります。
これをsimaiでは便宜上「花火エフェクト」と呼ぶことにします。
これを発生させたい場合、「Cf」のように後ろに「f」をつけると発生します。
TOUCH HOLDに花火エフェクトをつける場合は「Chf[1:1]」などのように書き、
この場合はTOUCH HOLDの長押しが終わるタイミングで花火エフェクトが発生します。
- EXリングの実装
- TAP、HOLD、☆TAPの場合は、EXリングに変更することが可能です。
1x、2hx[1:1]、3x-4[2:1]などのように、それぞれの記述の後ろに「x」をつけると、そのノーツがEXリングになります。
- 疑似EACHの実装
- ふつうEACHを記述する時、例えば1番と2番のTAPのEACHは「1/2」と書くのが正しい記述ですが、
これを「1`2」と書くと、2番TAPがほんの一瞬だけ遅れます。
「1`2`3」と書くと、3つのTAPはほぼほぼ同時に飛んできますが、1よりも2が遅く、2よりも3が遅く飛んできます。
この記述は、最近見られる「EACHっぽいけどほんの僅かにずれている譜面」を記述する時に有効です。
旧作であれば、そのためだけに音符の長さを変えなければならず、非常に難しい調整が必要でしたが、
新作では「/」を「`」に変えて書くだけで実装できるようになります。
- 六角形TAP(正六角形に近い短いHOLD)の簡易記述を実装
- ふつう、HOLDは1h[1:1]のような記述をしますが、後ろのカッコ以降を省いて「1h」とだけ書いた場合、
通称「六角形TAP」の見た目で飛んでくるようにしました。
TOUCH HOLDでもこの記述を使うことができ、その場合は処理されるタイミングとほぼ同時にTOUCH HOLDが消えます。
- ☆TAPが飛んでこないSLIDEの実装
- 「1-4[4:1]」←これはふつうのSLIDE用書式です。
「1?-4[4:1]」←このように書くと、☆TAPは飛んでこず、流れる☆が徐々に浮かび上がってから、SLIDEをなぞります。
「1!-4[4:1]」←このように書くと、☆TAPは飛んでこず、SLIDEをなぞり始める瞬間に流れる☆がいきなり表示され、SLIDEをなぞります。
- 強制的にTAPや☆TAPにビジュアルを変更する記述を実装
- 「1$」のように書くと、飛んでくるのは☆TAPとなります(これは2simai EXpandの時点で実装済み)。
「1@-4[2:1]」などのように書くと、本来の☆TAPではなくふつうのTAPが1に飛んできます。
それぞれの記述の末尾に「b」をつければ、それぞれビジュアル変更された上でそれがBREAKとなります。
- スコアシステムとして『でらっくす』と『FiNALE』の2種類を実装
- 『でらっくす』ではFiNALEまでのSCOREの概念がなくなったため、達成率%とでらっくスコアの表示となります。
Ver.DX1.02-A以降で使われている、「BREAK加点なしで100.5000%」の計算方法になっています。
『FiNALE』はいわゆる旧作までの計算方法です。この場合、TOUCHはひとつ500点として計算されます。
- SLIDEの☆の色をピンク色にする機能を実装
- 『でらっくす』で実装された視覚的オプションをsimaiにも導入しました。
- ノーツカラースタイルの実装
- 本家maimaiに近い配色の「NORMAL」と、3simai特有の「RAINBOW」があります。
「RAINBOW」にすると、HOLDが紫色、TOUCHが緑色、☆TAPが青色(SLIDEの軌道は水色)になります。
既存のTAP=桃色、BREAK=赤色、EACH=黄色、TOUCH HOLD=虹色と組み合わせれば、カラフルな譜面を作ることができます。
視覚的なお遊び要素ですが、意外にこちらの方が見やすい人もいるかも……。
なお、上記の「☆の色をピンク」のオプションを有効にしていた場合は、「RAINBOW」でも☆TAPは桃色になります。
- EXリングの無効化を実装
- 譜面内にEXリングの記述があっても、そのEXリングを通常リングとして再生することができます。
- 花火エフェクト設定を実装
- 『でらっくす』で導入された花火エフェクトは派手で、TOUCHにおけるBREAKのような使い方ができそうですが、
知人プレーヤーのつぶやきを見ると「見にくいから消せるようにしたい」という意見をよく見るため、
譜面内に花火エフェクトの記述があっても、エフェクトを発生させないようにできます。
また、「エフェクトがあってもいいけどせめて目印が欲しい」という意見もときどき見たため、
あるTOUCHが花火エフェクトつきであれば、そのTOUCHに“×”マークを表示させるという設定を入れてみました。
なお、「“×”マークは欲しいけどエフェクトはいらない」という設定もできます。
簡易的にまとめたので、しっかりとした詳細は別途ページにまとめさせていただきたいと思います。
最後になりましたが、こんな古臭いプログラムをたくさん使っていただいて誠にありがとうございます。
おっと忘れていました。デモ版動画は
こちらからどうぞ。
- ありがとうごさいます!制作本当にお疲れ様です!そして本当にありがとうごさいます! -- 名無しさん (2019-09-10 00:22:39)
- この時を待ち望んでいました。お疲れ様です、ありがとう。 -- 名無しさん (2019-09-10 00:44:27)
- 制作お疲れ様でした。本当にありがとうございます。 -- 名無しさん (2019-09-10 07:32:28)
- ありがとうございます!! -- じょーじ (2019-09-10 07:56:19)
- でらっくす版の達成率の計算式が誤っているかも知れません。wiki→https://maimai.gamerch.com/%E9%81%94%E6%88%90%E7%8E%87%E3%81%AE%E8%A8%88%E7%AE%97 -- 名無しさん (2019-09-10 08:05:19)
- ↑実は計算式が自信なかったのでこちらの計算式を実装してみます。ありがとうございますm(_ _)m -- Celeca (2019-09-10 11:34:27)
- 実はひそかにお待ちしておりました!!!!!!!! -- 名無しさん (2019-09-10 11:57:59)
- ありがとうございます!製作お疲れ様です! -- 名無しさん (2019-09-11 08:05:17)
- そろそろかな。 -- 名無しさん (2019-09-11 23:58:53)
- 遂に…! -- 名無しさん (2019-09-12 04:15:27)
- マリオの日に出せるかどうかだな -- すたぷり (2019-09-12 07:28:57)
- 9/14 24:00頃だよ -- 名無しさん (2019-09-14 12:49:00)
最終更新:2019年09月14日 12:49