[DanOni] Flash Player終了とRuffleの現時点稼働状況

Flash Playerの実行が本日からブロックされるようになりました。
Dan☆OniのFlash版は基本的に稼働しなくなりますが、CW EditionなどHTML5版へ移行した作品はこれ以後も遊ぶことができます。

移行できない作品は、Ruffleを使ってFlashをエミュレートすることで、ある程度遊ぶことが可能です。
ただある程度という言葉が示すように、現時点(1/12)では完全ではありません。
判明していることは下記の通りです。

<Chrome 機能拡張版>
■Flash MXベースのソース(楽曲と本体swfが一体)
・ ほぼ遜色なく遊べます。最初期の作品が該当します。
・ クリップボード系が機能していないため、リザルトコピーができません。

マタタビさんの作品「T&J “Short Ver.”」より

■Flash MXベースのソース (楽曲と本体swfが分離)
・ 楽曲が読み込みできず、遊べません。

TAKADRAさんの作品「Luvin’ You」より


■ParaFla!ソース(楽曲と本体swfが一体)
・ 多くの場合、Click Here!が押せません。
  Enterキーで進む設定になっていれば遊べます。
・ デバイスフォントが使われている場合、日本語表記が欠けたり、
  表示崩れ、HTMLタグがそのまま表示されるといった問題があります。
・ 音量設定が効かないようです(常時100%)
・ クリップボード系が機能していないため、リザルトコピーができません。

7chat合作「クレマ」より

■ParaFla!ソース(楽曲と本体swfが分離)
・ 基本的に上記ParaFla!ソースと同じです。
・ 楽曲が常時フェードインした状態で開始します。(プレイ不可)

■Dan☆Oniエディター(Flash版)
・ Ver3.6.0:
   ・クリップボード系が機能していないため、事実上利用不可

<デスクトップ版>
■Dan☆Oniエディター(Flash版)
・ Ver2.8.5以降:
   ・loadVarsが動作せずタイトルへ移動できない
・ Ver2.6.5  :
   ・クリップボードコピーやショートカット含め一通り動作する。
   ・ロード画面やオプションのヘッダー/フッターでコピーしたテキストを貼り付けできない。
    ファイル名指定もしくはRevivalを利用すれば復帰可能。
    (テキストエリアは、手で打ち込みすること自体はできる)

Ruffleの導入方法については本来書く場所ではないですが、下記に記載しました。
https://github.com/cwtickle/danoniplus/wiki/Ruffle

どうしても使いたい!ってとき以外はまだ待った方が良さそうです。
また、Flash Player終了でParaFla!やParaDrawが使えなくなっているので、
新作を作るならCW EditionなどHTML5版で作るべきだと思います。
https://twitter.com/cw_tickle/status/1349284024590557184

[DanOni] CW Edition 2周年

Dancing☆Onigiri (CW Edition) を作り始めてから2年が経ちました。
移植が進んでいるおかげで、実装が必要な機能が次々出てきてまだやることは多そうです(^o^)

もともとFlashやParaFlaといったツールがあって作っていたものが無くなってHTMLとCSSとJS、そして譜面データだけでどうにかする必要になったので当然と言えば当然ではあるのですが。

バージョンも17まで上がりました。
現状はあまり機能追加ができていませんが、Code ClimateやCodeQLでコード整理を続けています。最初に導入したときはIssueが400以上来て倒れそうになりましたが、2年でJavaScriptについていろいろできるようになったので、初期に作ったコードを中心に見直せるところから変えています。その割にHTML5/CSS3があまり使えていなくて、作品に活かせていないのが残念なところ(^o^)

機能については、見た目を大きく変えずに実装している機能がほとんどなので、プレイ側だとあまり差異がわからないかもしれないです。作品のカスタマイズに関するものが多いので、特殊作品が出てきたときに初めてこんな機能が、みたいなものもあります。

直近実装したい機能としてはParaFlaのテキストエフェクトみたいなのが手軽にできるといいなと思っています。今でもできるんですが、1文字ずつ切り出したりするのが手間なのでいい方法を探っています。

まだまだ先は長そうですが、引き続きよろしくお願いします m(_ _)m

[DanOni] ParaFla!ソース更新終了

少し予定より告知が遅れましたが、
Dan☆Oni ParaFla!ソースの更新を終了しました。
tanishiさんのソースを引き継いだのが2006年だったので、14年経過したことになります。
(最後の方はほとんど更新していませんでしたが)

HTML5/JS/CSSベースのCW Editionの普及がある程度進んで、
ParaFlaソースを使った新作も終息に向かったことから、2020年末を待たず終了できました。
エディターや楽曲js変換ツール・wikiなど、周辺ツールが充実してきたのも大きかったと思います。

ParaFlaソースで作ったswfも今年で見納めです。
保存を兼ねて懐かしいswfをペタペタ貼っていこうと思います。
Flashの事実上の終了まであと4か月弱になりました。
残り少なくなってきましたが、できることはやっていきたいですね。

[DanOni] 多鍵祭’20 後書き (2)

前回が全体のお話だったので、今回は個人作品について少し触れます。

今回はプレイベント2作品、合作2作品の参加でした。

No.321 Over The Turbulence ―ファミコンシューターへ愛を込めて―
いろいろ迷走した作品です。
当初はコメントにある通り、11fkeyで作ろうとしたのですがしっくり来なく、
キーコンを変えて11gkeyで作るという方向に。
右側をベースに、徐々に左側を打たせながら、最後は全体的に打たせる内容です。
12key譜面の方は11gkeyでいろいろ悩んだ後に作ったのでいつも通りの自由な譜面に仕上がりました。おまけ扱いです。

No.1R positive 3rd [Short Edit]
新キーだけだと芸が無いので作りました。
HTML5へ移植が進む中、「当時のFlashがこうだった」を再現する試みです。
Flashの裏側で動いているところも、今現在Flashを有効にしなければ起動できないところも、2020年の今だけしか実現できないので、それ自体を全部再現してしまおうという発想でした。
こういうプラグインとしての再現(?)は数年後には意識されなくなると思います。後で見返して、こういうのもあったなというのが残ったらいいなと。

ちなみに5keyの上下逆のOld Styleですが、譜面がソースの中に直書き、今のようなエディターも無いという状況もあり殆ど広まらなかったと記憶しています。
Flashは有償で手軽に手を出しにくい代物で、2004年の祭り以後は現在のDDR風&譜面ファイルの形式でソース配布されたこともあって、Old Styleで作っていたサイトで今も残っているのはisoさんのムネオハウスくらいだと思います。
以上、余談。

No.322 花鳥風雪
いつもと言いながら2年ぶりとなる7chat合作。
12回目ということで、多人数でやるのは初めての12keyになりました。
先に出来上がったのは難しい方だったのですが、想定より難しく(^o^)
これで易しい方を易しく作ったらそれはそれでつまらないので、易しい方の譜面の難化に繋がりました。それでも難しい方の序盤より簡単だと思います。

No.121R ちょこまじ☆ろんぐ
izkdicさんとの合作で、コラボをリメイクするという試み。
実はプレイベントの提出も視野にあったのですが、ちょうどizkdicさんが7chat合作の移植に注力している時期だったため、本祭に移動になりました。
途中、半分くらいまでが5月までに作った譜面で、残りが7~8月に作ったものになります。全体的に難化していますが、左手移動が決まりやすいので移動耐性があったらそうでもない難易度になっていると思います。
歌詞表示とか色変化とか、当時の譜面はほぼ当時のまま(HTML5移行時に一部変わった部分あり)になっていますので、比較してみると面白いと思います。

[DanOni] 多鍵祭’20 後書き

多鍵祭’20、お疲れさまでした。
しばらく後書きらしきものを書いてませんでしたが、今後を考えると残しておくべきだと思うので、今年は思いつく範囲で残しておきます。

今年はおススメ作品の紹介が3回目(’18, ’19, ’20)、HTML5の作品が出てきてから5回目(’18Another, ’19, ’19Another, ’20Beginners, ’20)のイベントとなり、’18や’19のときと比べると不慣れな状況からは幾分落ち着いた形での開催となりました。
また、外出自粛に伴う各種イベントの中止、イベントページ公開の大幅前倒しなどさまざまな要素が重なり、結果として昨今ではあまり類を見ない数の作品が集まりました。ありがとうございます m(_ _)m

時間に余裕ができたことにより、(突発とはいえ)プレイベントの開催もできましたし、振り返ってみるとやれることはある程度できたのかなと思います。
また今回はDiscordの利用により、作品に対する反応が直接ボイスチャットで返ってきたりというイベントの新しい一面もありました。
一方で、作品管理に時間が取られてしまい、例年のようにイベント自体への関与ができなかったことは反省点かなと思っています。
そもそも、作品を投下する際に運営が常時張り付かないといけない状況は3日も続くと限界があり(今年はあまり外出してないので大きな問題にはならなかったのですが)、この辺はスマホでもある程度投下タイミングを調整できるようにする、時間になったら自動で反映するといった自動化が少なくとも来年は無いと厳しいかな、という感じです。

来年行う場合の課題は、夏にオリンピックなどのイベントが重なって日程決定が難航しそうなことと、Flashが基本使えなくなるのでHTML5に対応した作品だけでイベントを回す必要があるということです。後者は新作に関しては今のところあまり心配していませんが、おススメ作品の取り扱いをどうするか?といったところは考えどころかと思っています。
また、Twitter/Discord/従来のチャットなど周知する場所が分散することによる部分をどのように解消していくかも一つの問題かなと。今のところはイベントページとTwitterで賄っていますが、今後どんな状況になるかはまだ見えないでいます。


来年はHTML5化が進まなければ開催の検討すらありませんでした。今後、ダンおにのようなブラウザ音ゲーがどんな方向になるのかはわかりませんが、まだ一定の需要はあるようなので、できる範囲でできたらと思っています。

続く(?)

[DanOni] CW Edition 1周年

HTML5版としてDancing☆Onigiri (CW Edition) を作り始めてから
1年が経ちました。

おかげさまで、現時点で800以上の作品が移植されました。
移植が面倒で諦める方向になることは避けたかったので、とりあえずは移植が前向きに捉えられている点についてはホッとしています。

機能的にもFlash(ParaFla)に近い状態になってきました。
バージョンが1年で9まで上がるのは想定していませんでしたが、
Flash Playerの終了時期を考えるとこのペースでギリギリだったかもなあと。
週次以上のペースで進めてもまだまだやることが多く、落ち着くのはいったいいつになるのやら(^o^)

今後は本体の他、コンバータやエディターなどの補助ツールについても余力があれば作っていく予定です。
できる限りGitHubでオープン化できるよう進めていきます。
GitHubのPull RequestやIssue、Gitterなどで引き続き開発に参加できるような形にしていきたいと思いますので、引き続きよろしくお願いします m(_ _)m

[DanOni]CW Edition

HTML5版として作っていたものを
「CW Edition」としてGitHubに公開しています。
[GitHub – Dancing☆Onigiri (CW Edition)]

ソースの自由度が高いために派生版がいろいろ出てきて、
「○○さんソース」みたいな仮の名前が横行する可能性があったので、
とりあえず区別できる名前をつけました、というだけです(^o^)
名前が変わるわけではないので、ダンおにはダンおにだと思いますけどね。

ライフゲージの実装がまだだったり、細かい仕様の粗はありますが、
この先は仕様検討に時間が掛かりそうだったのと、
jsファイルの置き換えだけで拡張が可能なメドが立ってきたので、
作品制作・公開としての利用をOK(事実上のリリース)としました。

着手から1ヶ月弱。
jsのお作法を知るのに手間取りましたが、
画面遷移やオブジェクトの表示(DOM)など、
ポイントを押さえてその処理を関数化することを意識しながら作ったので、
思いのほか早く進めることができました。

他のHTML5で動いている音ゲーの処理を一部参考にさせてもらったり、
jsを知っている方から自分の知らない機能を教えてもらったりもしました。
ありがとうございます m(_ _)m

まだまだ至らない点も多々あると思いますが、
ご意見を頂きながら、良いものにできたらいいなと思っています。
引き続き、よろしくお願いします。

[DanOni]HTML5版(3) – 進捗

<ほぼ完了> 初期設定・タイトル画面
<ほぼ完了> オプション画面 ※ライフゲージ系除く
<ほぼ完了> キーコンフィグ画面
<ほぼ完了> 譜面読込・変換 ※フェードイン、ライフ系除く
<ほぼ完了> 楽曲読込 ※フェードイン・アウト除く
<半分くらい> メイン画面:ステップゾーン、矢印生成、音楽再生など
        ※判定、フリーズアロー、結果画面移動 が未着手
<一部UIのみ> 結果画面

見た目だけですがメインが見えるとできたように見えますね!(ry
判定ができたらとりあえず遊べるかな、というところまではできてます。

FlashのようにEnterFrameや音楽のストリーミング機能が無いので、
JavaScriptのsetTimeout()に!?と
なったこともありましたが、とりあえず実装までは。
矢印側(スクリプト処理系)が60fpsから遅れるのを見越して、
現在時間との差異を取って次のループ時に反映するのがポイントみたいですね。

ただ、上記の記述は次のタイミング(=1000/60ms)内で遅延が収まる場合でかつ、
曲自体の遅延がほとんどない場合にできる記述です。
次のタイミング(=1000/60ms)を超えて遅延したり、曲自体の遅延が起きると
処理系が追随できず、譜面が遅延してしまう問題を抱えています。

Chrome(Webkit系)では今のところ起きていないですが、
Firefoxはすでに遅延が起きており、実際このような問題が出ています。
まだ判定やフリーズアローという処理が追加されるので、
上手い方法が見つかるまでは処理を抑えながらの対処になりそうです。。。

とはいえひとまず、音楽部分がどうにかなりそうで内心ホッとしています。
フェードイン・アウトは早めに準備しておきたいところです。

近いうちにキー数に関する記事を書く予定です。

[DanOni]HTML5版(2) – 進捗

GitHubに上げてみました。
実は使うのは初めてですが、後で見返したりできて便利ですね。
→ GitHub

進捗ですが、設計系のUIを中心に進めており、以下のような状況です。
<ほぼ完了> 初期設定・タイトル画面
<ほぼ完了> オプション画面 ※ライフゲージ系除く
<ほぼ完了> キーコンフィグ画面
<一部着手> 譜面読込・変換
<未> 楽曲読込
<未> メイン画面:ステップゾーン、矢印生成、音楽再生など
<一部UIのみ> 結果画面

まだメインどころができていないので何ともなところはあります。
譜面データを読み込んで、
ある程度その通りに動くようになったところでしょうか。

Dan☆Oniはキーが多いのですが、
今回、エディターのNkey対応を参考にして
譜面ファイルから一時的な新キーが作れるようにしてみました。
毎回jsファイル直すのも現実的では無いですし、
できるところは譜面ファイル側に寄せるような設計にできたらと思っています。

こんな感じの記述でできます。エディターのkeys.txtと仕様は似せました。
&keyExtraList=6&
&arrBaseMC6=0,1,0,1,0,2&
&headerDat6=arrow1,arrow2,arrow3,arrow4,arrow5,arrow6&
&div6=6&
&stepRtn6=0,45,-90,135,180,onigiri&
&keyCtrl6=75,79,76,80,187,32/0&
→ サンプルはこちら。Difficultyから6keyを選びKeyConfigに入ると、jsファイルで設定していない6keyのデータが表示されます。

次は譜面読込に入ります。それが終わったらようやく本筋です。

続きを読む

[DanOni]HTML5版 開始

出遅れ感が凄いですが、取っ掛かりが掴めそうなので始めてみました。
まだ本体は全くできておらず、
HTML5(Canvas)+Javascriptでモノを作るのも初めてな状態な中、
後々見返すための履歴として何か残せていけたらとか思っています。

テスト用HTML1
テスト用HTML2
jsファイル

続きを読む