2017年8月13日日曜日

ファミコンのステートセーブ(QuickSave)に必要なストレージ容量を計算

だいたいのファミコンのエミュレータには、ステートセーブ機能(マシンの情報を丸ごと保存して復元できる機能)が付いていますが、その中には一体どのような情報が何バイトぐらい記録されているのか、興味本位で調べてみました。(当初、お手軽にググって調べれば分かるだろうと思っていたのですが、良い感じに纏まった情報がパッと見つからなかったので)

調査方法は、Nestopiaというlibretroを使ったNESエミュレータ(OSS)のソースコードを解析する形で実施しました。(たぶん、それが一番楽だと思います)

なお、オリジナルのNestopiaのソースコードはコチラにありますが、本記事では見やすさを優先してGitHubにミラーされている以下のリポジトリ(のバージョン1.47)を参照します。
https://github.com/rdanbrook/nestopia

全体像


上記から、大まかに以下5項目のデータを保持していることが分かります。
  1. CPU: Central Processing Unit
  2. APU (CPU内部): Audio Processing Unit
  3. PPU: Picture Processing Unit
  4. IMG: イメージ?
  5. PRT: 拡張ポート
① CPU


ファミコンのCPUはRP2A03というMOS 6502のカスタム品(リコー製)です。
(オリジナルのMOS 6502との違い)
  • 二進化十進表現(BCD)関連の機能が削除されている
  • APU(後述)が付いている
  • DMA関連の機能が追加されている

1-1 REG: レジスタコンテキスト (7byte)
  • pc (プログラムカウンタ) 2byte
  • s (スタックポインタ) 1byte
  • p (ステータスレジスタ) 1byte
  • a (アキュームレータ) 1byte
  • x (インデックス) 1byte
  • y (インデックス) 1byte

1-2 RAM: メインメモリ (2KB)
流石にメインメモリはデカイ。
デカイといっても、昨今のスマホの数百万分の一程度ですが。
当初(調査前)は、ココ(RAM)が圧倒的にデカくて、他は大したことが無いんじゃないかと想像していたのですが、調べてみるとname-tableというRAMに匹敵する(というか同じ)サイズの巨大なメモリ空間がPPUにありました。その辺は「流石ゲーム機」といった感じですね。(name-tableについての詳細は後述)

1-3 FRM: 割り込み制御情報 (5byte)

1-4 CLK: ticksカウンタ (8byte)
ticksカウンタというのは、CPUの動作周回(Hz)動いたかを示すカウンタです。ココに何バイト使うかはエミュレータの実装依存かと思います。ちなみにファミコンのCPUは 1.79MHz で, 8byte (64bit) は 0~18446744073709551615 までの数値を記憶できるので, だいたい1億日(30万年)ぐらい起動し続けるとticksカウンタがラップアラウンドすることで, 再現性が失われる可能性があるかもしれません。(つまり、8byteあれば事実上ticksカウンタはラップアラウンドしない)

② APU

APU; Audio Processing Unitは、音声の制御に特化した演算装置のことで、実際にはRP2A03の内部に実装されています。だから、Nestopiaの場合、CPUのsaveStateの内部でAPUのsaveStateを呼び出す構造になっているのかと思うと、何かロマンめいたものを感じてしまう。構造的にはAY-3-8910 (PSG音源) のカスタム品ですが, 矩形波だけでなく三角波(笛みたいな音. 1系統のみ)を扱うことができます。また、矩形波 (2系統) についてもデューティー比を0.25, 0.5, 0.75の3種類から選べるようになっていて更に系統別のエンベロープも実装されている豪華仕様です。デューティー比0.25 (, 0.75) の音はノコギリ波に似た感じのあの音です。またノイズ (1系統) と DPCM (1系統) も扱うことが出来ます。オリジナルのAY-3-8910と比べて格段に高い音楽表現能力を有しています。この時代のチップチューン音源は, 現代の表情のない音源システムには無いカオスさがあって面白い。(そういう所に面白さを感じる人間だから東方VGSとかをやっていた訳で)
2-1 FRM (4byte)

2-2 IRQ (3byte)

2-3 EXT (2byte)

2-4 矩形波1 (4+1+3byte)
波形の基本情報4byte + 長さカウンタ1byte + エンベロープ3byteです。

2-5 矩形波2 (4+1+3byte)
系統1と同じ内容です。

2-6 三角波 (4+1byte)
三角波にはエンベロープが無いので, 矩形波と比べて3byte少ない領域で保存できます。

2-7 ノイズ (1+1+3byte)
ノイズにはエンベロープがあります。(何故、三角波にはつけなかったんだろ)

2-8 DMC (12byte)
DMAを制御するためのコントローラのレジスタコンテキストを保持しています。

③ PPU

PPU; Picture Processing Unitは、グラフィックスの制御に特化した演算装置で, スプライトやBGなどの表示制御を行います。 要はGPUですね。(現代のGPUとは根本的に異なりますが)

3-1 REG: レジスタコンテキスト (11byte)

3-2 PAL: パレットRAM (32byte)

3-3 OAM: RAM (256byte)

3-4 NMT: name table RAM (2KB)

3-5 FRM<optional>: PPU_RP2C02 only (1byte)

3-6 POW<optional>: HCLOCK_BOOT only (1byte)

④ IMG

この領域はよく分かりませんが、SaveStateが空関数になっているので何も保存していませんが、friendメソッドなので派生クラスの方で色々と保存しているようです。(少し追いかけてみたところ、マッパー種別に実装が分かれているようでした)

⑤ PRT

5-1 4SC optional (1byte)
拡張ポートが4つかどうかだけをフラグとして管理しているらしい。 データは特に無いので1bitでも十分だが、1byteとしておきました。

5-2 拡張ポート device (0byte)
IMGと同様、saveSatateメソッドが実装されていましたが空でした。
何かしらのコンテキストやRAMを持つデバイスの場合は実装する必要がある(現状対応していない)のかもしれません。

5-3 拡張ポート (3byte)

結論
上記の容量を合計すると 4468 + α byte になります。
約4KBってところですね。なお、Nestopiaの場合、RAMやNMTなどのサイズが大きな領域はZLIBを用いて圧縮しているので、ファイル上のサイズはもっと小さくなる筈です。ただし、これは飽くまでも全ROM共通の最低サイズで、マッパー(ROMの種類)によってαのサイズが大分変わってくる筈です。(その内、代表的なマッパー分だけでも解析してみようと思います)
もちろん、これはNestopia (v1.47) の場合の話しです。
でも、ファミコンは既に解析され尽くされている感があるので、他のエミュレータでもだいたい同じようなものだろうと思っています。

リアルトーンケーブルをLogic Pro Xで使う

Rocksmith 2014という、実際のギター(やベース)を使った遊ぶ音ゲーで使うリアルトーンケーブルをLogic Pro X(DAW)で使ってみました。

リアルトーンケーブルは、シールドの片方がUSBになっているような形状のケーブルです。
https://www.amazon.co.jp/%E3%83%A6%E3%83%BC%E3%83%93%E3%83%BC%E3%82%A2%E3%82%A4-%E3%82%BD%E3%83%95%E3%83%88-%E3%83%AD%E3%83%83%E3%82%AF%E3%82%B9%E3%83%9F%E3%82%B9-%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%88%E3%83%BC%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB/dp/B008R50VRC

使い方は簡単。

パソコン(Mac)とギターをリアルトーンケーブルで接続した状態で、Logic Pro Xを起動し、プロジェクトにトラックを追加して、この時に「ギターまたはベース」を選ぶだけです。
入力デバイスの部分が「Rocksmith USB Guitar Adapter」になっている筈
空プロジェクトにトラックを追加してみた状態
後は、追加したギタートラックを選択した状態でギターなりベースなりを鳴らせば、選択されているライブラリのエフェクトが掛かった音が鳴ります。当然、エフェクトも自由に弄れるし録音も出来るので、Mac + Logic Pro Xがあれば自宅練習や宅録するのにアンプやエフェクタは一切不要になります。

リアルトーンケーブルでなくても、オーディオインタフェースを買えば似たようなことは出来ますが、3000円ぐらいの安物のオーディオインタフェースとシールド(相場は1500円ぐらい?)を買うよりは、リアルトーンケーブル(3000円ぐらい)が1本あれば良いし、性能面でもそんなに気にならない(というか安物のオーディオインタフェースよりも遥かに良いと思う)ので、コスパ面ではリアルトーンケーブルがベストかもしれません。

なお、Logic Pro Xを持っていなくても、OSに付属しているGaragebandで(若干設定が必要らしいですが)似たようなことが出来るらしいです。
参考記事: http://catsmane.net/wsblog/?p=2273

ついでに、私の手元の環境がMacなのでLogic Pro Xで試しましたが、Windowsでも(※ちゃんとしたDAWソフトを使えば)多分似たような事ができるかと思います。
参考記事: http://electric-guitarz.net/amp-simulator/

2017年5月31日水曜日

JASRAC vs ヤマハの件

私は昔、ヤマハ系列の教室に通ってましたが、教材といえば普通にハノン、バッハ、モーツァルト、ベートーヴェン、ショパンなどのクラシック(著作権切れ)だけでした。

そういう教室ではだいたい、「大人のための〜」みたいなコースも併設されていて、そちらの方では著作権が切れていない楽曲なんかも使われていたりしました。

前者コースの場合、個室で先生からマンツーマンで指導を受けるのに対して、後者コースは、5〜10人程度(もう少し多いところもあるかも)のグループを先生が指導するので、収益性があるのは当然後者です。

JASRACとヤマハが音楽教室の著作権使用料を徴収するという件で揉めてますが、何処に揉めるポイントがあるのか、今ひとつ分からない。というのも、今まで普通に著作権使用料を収めているものと思っていたので。(むしろ、払っていなくてビックリ)

http://www.huffingtonpost.jp/2017/03/27/jasrac_n_15631238.html
↑の記事からヤマハ側の言い分を引用すると、
「音楽教室のレッスンにおける講師・生徒の演奏は、音楽理解力や演奏技術向上を目的としており、『聞かせることを目的』とした演奏ではない」
とのこと。

JASRACに登録している商業音楽でも音楽理解力や演奏技術向上することは出来ますが、著作権切れのクラシックだけでも十分に果たせます。
だから、JASRAC登録曲を使っている理由はそこ(音楽理解力や演奏技術向上)には殆ど無くて、本当の理由は「集客力があるコンテンツだから」という点に尽きると私は思っています。
そして、コンテンツの集客力に頼った結果収益を確保しているのであれば、権利者に対価を支払って当然です。(だから、「むしろ払っていなくてビックリ」した訳です)

更に、ヤマハの場合、音楽教室というのはそれ単体での収益だけを目的したものではなく、楽器を売るための需要創造を目的としていると、以前、投資家向けの事業説明会で回答してます。
https://www.yamaha.com/ja/ir/presentations/qa_200506/
(上記リンク先から引用)
Q4 : 音楽教室展開は、製品の販売・マーケティングにどう貢献していますか。また音楽教室事業の採算性について教えて欲しい。A4 : 音楽教室は需要を創造する活動として展開し、製品の販売に寄与しています。最近では、楽器レンタル事業もスタートし、従来のヤマハの製品を買っていただくということ以外にも、選択の幅を広げています。収益性については、国内では、採算はきちんと取れています。現在、音楽教室をリニューアルしており、短期的に投資を先行しコスト増となっている面もありますが、中期的には収益が安定して取れる事業と考えています。
楽器店が音楽教室事業単体でも採算が取れているのであれば、その中から権利者にペイした方が良いんじゃないですかね。(個人で音楽教室を経営しているような小さな所は別として)

JASRACといえば、(過去に収入を得ていない個人からも徴収しようとした為)ネット民から物凄く嫌われているから、今回の件でネット上だけで情報を見ているとヤマハに追い風が吹いているように見えますが、何となく今回の件は性質が違うだろうということが言いたかった。

2017年5月29日月曜日

今更LINE

かなり今更感があるのですが、LINEを使い始めてみました。

何かと「じゃぁ、連絡はLINEで」みたいな場面があり、その都度「LINEやってないです」と断り、SlackなりTwitterなりメールなり電報なりで乗り切ってきましたが、そういえば今なら使おうと思えば使えることを思い出したので、何となく。(何となく私のような陰キャラは使ってはいけない空気感があって避けていたような気もしますが)

LINEを使うにはスマホの電話番号が必要で、以前はデータ通信専用(電話番号無し)で契約をして、ガラケーと2台持ちだったので使えなかったのですが、2台持ちがダルくなり、2年ほど前にガラケーが故障したのを契機にmvnoの音声つき契約(月額1500円ほど)にMNPで乗り換えたので、今なら使えます。

そして、丁度機会があったので試しに使ってみることにしました。

使ってみた雑感ですが、良い点 + 悪い点を含めて3点ほど。

①スタンプ
スタンプは楽しい。

お値段がタダ同然の捨て値(1セット100〜200円ほど)なので、これなら結構沢山売れているというのも納得できます。(とりあえず、ネタ用に好きなアニメの公式スタンプを買ってみました)

ただし、公式スタンプは数が少ないというか、結構絞られている印象。
やはり、「デジタルコンテンツを売り切りで」というのは、ビジネスとしては中々厳しいのだろうと推測できます。

逆にビジネスとしては成立し難いからこそ、個人レベルでやる分には丁度良いプラットフォームという感じ(若干毛色が異なりますが、2011年以前ぐらいのAppStoreみたいな感じ)でしょうか。

②タイムライン

タイムラインにプロフィール更新のお知らせが出て来るヤツ...
アイコンはフェネックで, 背景はコツメカワウソですね
(見る人が見なければ無難な絶妙な選択だと自負している)
どんなプロフ画像を使ったのか、友達になっている人全員にモロ見えになる感じですね。
若干卑猥な画像とかをプロフに載せたら晒し者になる機能?ですかね。
無難なヤツを設定しておいて助かった。

しかし、なんだこのクソ機能はw

Google検索でも無効化したい旨の情報ばかりがサジェストされてて草
皆、消したいらしい
(だが、消えない)
誰がどう見ても明らかにクソ機能なのですが、プロフィールデータ(画像を含む)はサーバに持っているから、画像の更新とかをするとインフラコストが嵩む訳で、そして、twitterと違い不特定多数向けのものではないから、データ流量だけ監視すると「昇りデータ量に比べて下りデータ量が異様に少ない無駄なデータフロー」として運営の目には見える筈なので、恐らくその辺をミスリードして意図的にプロフィール更新を手控えさせる為に導入した機能と考えるのが筋かもしれません。

実際これは後付で(しかも割と最近)導入された機能らしい。
当然のように「この機能を消してくれ」という☆1レビューが沢山付いてました。
想定される中で一番簡単かつ最悪な手段を取ってしまった感。
私は直感的に、そもそも(公式以外のアカウントには)背景画像が不要なのではないだろうかと思ったので。(背景画像はSNS全般で割とよくある機能ですが、不特定多数に発信するものとは性質が違う閉じられたSNSな訳で、だからこそ設定してもほぼ誰も見ない無駄なモノではないか?というのが第一印象でした)

③年齢認証

あとその他に気になったこととしては、年齢認証ですかねぇ...
私のSIM(mvno)だと認証できません。
3大キャリア or LINEモバイルじゃないとダメらしい。
なので、私には未成年相当の機能制限が掛かっています。
つまり、私は未成年です。
訳の分からぬ因縁を付けて、自分を未成年だと主張するアラフォーは、なかなかイタイ。
そして、年齢認証しないとID検索が出来ないのも、ややイタイ。
PC版なら年齢認証無しで検索できるので、さほど大きな問題は無いですが。
しかし、何故そんな意味不明なことをしているのか...
未成年なりがID検索できてしまうと何がマズイのか?
元ネタはこんな感じらしいのですが、それならこのID検索の制限で未成年者はクリーン且つ安全に利用するようになったかというと、代替手段は幾らでもあるから効果なんて殆ど無い訳で、では何故そんな無駄なことを未だに続けているのかなと。

LINEモバイル(あ・・・)

まとめ

②と③ですが、ある程度成熟したSNSに見られがちな、「(一度付けた)機能を消せない病」ですね。既にある機能をモリッと捨てることは、新たな機能を付け加えること以上にセンスが居るもので、成熟すれば成熟するほどその難度は指数的に高くなっていきます。

これはSNSに限ったことではないですが。

まとめると、LINEはもう成熟仕切っているから、あまり面白く無いなと。

ただ、これで「連絡はLINEで」と言われた時に肩身が狭い思いはせずに済むようになったのは良かったと思います。そもそもそういうケースが稀ではありますが。(LINEとか使っている陽キャラとは、そもそもあまり接点が無いのですしお寿司)

2017年5月21日日曜日

【ガルパ】エリアアイテムの育成方法

ガルパのレビューを眺めていて「キャラの育成要素が少ない」みたいなレビューがチラホラ見られました。夏頃に特技強化の要素が追加されるらしいですが、確かに現状、キャラを育成する要素としては、以下3種類しかありません。
・レベル上げ(☆4なら最大60)
・特訓(☆3以上限定)
・エピソード解放

その代わり、エリアアイテムの育成は結構やり応えがあります。
エリアアイテムの育成により総合力もかなり高くなります。
どの程度の効果があるか、私の手持ちカードで見てみましょう。
素状態での総合力: 147,750
上図の素状態での総合力は14.7万
これでもそこそこ高いですが、これをエリアアイテムで補正すると...
エリアアイテムで補正した総合力: 210,144
エリアアイテムの補正で総合力が62,394upしました。
☆4の総合力は全エピソード解放してもせいぜい3.2万程度なので、実に☆4 x 2枚分ぐらいupできることになります。(ついでに補足すると、これでもまだmaxではないです)

ただ、エリアアイテムは種類が多いので、どのアイテムを強化して良いかプレイ当初は中々迷いました。そして、強化に必要なリソース(カケラ等)も普通にプレイしているとすぐに枯渇してしまいます。

という訳で、エリアアイテムの効率的な育成方法について、どのような戦略で育成すれば良いのかという観点で簡単にまとめてみます。

なお、育成の基本方針は、
・イベントptの獲得効率を良くする(優先度: 高)
・楽曲クリア時のスコアを高くする(優先度: 中)
・無課金でできる手段に絞る
とします。

それでは、まず過去のイベント開催情報を確認してみます。
イベント名期間属性ボーナスキャラクタボーナス
SAKURA BLOOMING PARTY!3/24〜3/30緑(pure)20%有咲70%, こころ40%, イヴ10%
思い繋ぐ、未完成な歌4/5〜4/11青(cool)20%Roselia10%
怪盗ハロハッピーと豪華客船4/13〜4/19黄(happy)20%ハロワ10%
りみのプレゼントソング4/21〜4/28赤(power)20%ポピパ10%
星を探しに4/30〜5/9緑(pure)20%蘭,つぐ,香澄,こころ,ひな (全員10%)
夕影、鮮明になって5/11〜5/19青(cool)20%Afterglow10%

初回イベントだけ例外的にキャラクタボーナスが高かったのですが、2回目以降は5キャラクタ各10%に調整されました。なので、編成は
①基本的に属性ボーナス持ちのメンバーで固め (must)
②↑の中からキャラクタボーナスがあるものを優先する (should)
という形で行います。

イベントごとのボーナス対象属性は輪番制で、
緑(pure)→青(cool)→黄(happy)→赤(power)
になっているように見えます。
なので、次のイベントは黄(happy)の可能性が高そう。

イベントごとのキャラクタボーナスは、やや不規則です(シングル等の販売計画とかも絡んでくる感じだろうか)。次はパスパレと予測してキャラクタの育成をしていたのですが、ポピパ(or複合)のようです。(幸い、ポピパのhappyは手持ちカードを全て調教済みなので助かった)

つまり、イベントpt獲得効率を上げるには、属性の育成を優先するのが良いと言えます。

属性ボーナスを上げるエリアアイテムは次の通りです。
・カフェテリアのメニュー(お金+カケラ)
※チョココロネは上昇率が低いので育てなくて良い
・流星堂のオブジェ(お金+モナカ)
※盆栽セットは上昇率が低いので育てなくて良い
チョココロネや盆栽をディスっていますが、将来的に「複合属性で編成すれば100%up」みたいなルールのイベントが開催された場合、役立つ可能性が無きにしもあらずです。(ただし、どちらも限定アイテムだった気がするので、そういうルールにすると新規の人のヘイトが溜まりそうだから、多分やらないんじゃないかと予測してます)
ただ、当然属性だけ育てれば良い訳ではなく、手持ちのカード(≒ガチャの引き)に応じて、楽器やポスターなども育てる(バンド強化をする)必要があります。というのも、バンド強化の方が総合力の上昇率が高いので。

先程上で例示した編成の、エリアボーナス毎の上昇率の内訳は次の通りです。

(属性強化)
・メニュー: アサイボールLv4 = coolタイプ +7%
・オブジェ: 足湯Lv3 = coolタイプ +5%
小計: +12% (総合力14万で全員coolなら+1.68万)

(バンド強化)
・フライヤーLv3: Roselia +8%
・ポスターLv3: Roselia +8%
・マイクLv5(max): Roselia +4%
・ギターLv5(max): Roselia +4%
・ベースLv4: Roselia +3.5%
・ドラムLv4: Roselia +3.5%
・キーボードLv5(max): Roselia +4%
小計: +35% (総合力14万で全員Roseliaなら+4.9万)
上記ですが、若干育成戦略をミスってますね。(楽器よりもフライヤーとポスターの方が費用対効果が高いので、効率を求めるなら楽器よりも先にフライヤーとポスターを強化すべき)
編成可能なバンドは、微課金勢(私)や無課金勢などの大半の人は、ほぼ確実に偏りが出る筈です。

例えば、現時点の私の手持ちのカードで、イベント向けの編成をしたバンドは、次のような感じになっています。
pure編成(パスパレ寄り)
cool編成(ロゼリア寄り)
happy編成(ポピパ寄り)
powerful編成(完全にバラけている = 弱い)
つまり、私の場合、パスパレ、ロゼリア、ポピパのバンド強化に集中して、アフグロ、ハロワの強化はしなくても(後回しで)良いということになります。

実のところ、現時点ではロゼリアとポピパの強化に注力していて、パスパレは殆ど育てていなかったりします。お金(リアルマネーではなくゲーム内のコイン)が圧倒的に不足しているので。

カケラ(中)や(小)については、使い所があまり無いのでかなり余ります。カケラ(大)はやや不足気味になりますが、ベテラン部屋でプレイし続けていればどんどん溜まっていきますし、曜日限定ルームが出来れば回収難度は更に下がるものと予測できます。

一方お金は、楽曲の達成報酬ぐらいしか効率的に稼げる手段がありません。ライブ報酬、イベントpt報酬、ログボでも入手できますが、圧倒的に効率が悪く、達成報酬なら、Easyフルコンで1.5万、Normalフルコンで3万とかなり沢山手に入ります。

ただし、楽曲達成報酬は1楽曲につき1回(合計8万)ポッキリ。

例えば1つの楽器をレベル4から5に上げようと思えば30万円(3.75曲分)、メニューをレベル4から5に上げようと思えば50万円(6.25曲分)のお金が掛かり、現時点の実装曲数が43曲(だったかな?)ということを考えれば、資金不足になって当然です。(多分、この辺のバランスは将来的に調整されるかも)

育成に掛かる支出をもう少し細かく計算してみると、
・メニューの育成コスト = 95.1万円 x 4属性 = 380.4万円
・流星堂オブジェの育成コスト = 95.1万円 x 4属性 = 380.4万円
・楽器の育成コスト = 1楽器につき48.1万円 = 1グループにつき240.5万円
・ポスターの育成コスト = 1グループにつき95.1万円
・フライヤーの育成コスト = 1グループにつき95.1万円
で、達成ボーナス収入 = 43曲 x 8万円 = 344万円 では、メニューを全属性分揃えることすら出来ないという感じになっています。
達成ボーナス収入が枯渇して以降の主な収入源はライブ達成報酬になり、1曲クリアで最高500円(ブースト1で2500円)になります。ベテラン部屋で野良で回していると500円(S)になるのは稀ですが。
普通にプレイしていると、属性強化はレベルmaxの一段下バンドは2バンド強化するだけ(ポスターとフライヤーのmaxに出来ない)あたりでカツカツになります。(だから、本当はパスパレ分の強化もしたいけど足が回らない)

育成対象は、イベントの発生頻度が多いポピパの育成はほぼ確実にしておいた方が良いので、ポピパ+他1バンドとするのがベストだと思います。(私は☆4が引けたロゼリアを他1バンドとて、且つバンド強化はスコアupの☆4が居るロゼリアを気持ち優先している)

まとめ

長々と書きましたが、エリアアイテム育成戦略の要点は、
・エリアアイテムはカフェテリアのメニュー、流星堂のオブジェを優先して育てる
・バンド強化は編成可能な強いバンドに絞って育てる
・お金は使用計画は慎重に
の3点ということになります。

2017年5月14日日曜日

協力ライブの協力者の集め方

バンドリ(ガルパ)をサービスイン当日からプレイしてますが、まだイベントをまともに走ったことがありません。編成はそこそこ強めだと思うのですが、野良プレイしかしていないので、どうしても効率が悪い。

イベントで上位(100位以内)への入賞を狙うのであれば、高スコアを叩き出せるガチ勢のみで編成された固定メンバーとプライベートルームでガシガシ回し続ける必要があります。(ただ、100位というのがハードルが高すぎるので、それも走ることを躊躇する要因のひとつだったりします)

【上位狙いをするのに必要そうな条件】
・総合力: 全員20万+ぐらいが望ましい
・特技: 全員「特大スコアup」(☆4のスコアup)
・フィーバー: 毎回発動必須
・曲: スコア効率の良い曲に絞る(以前ならシュワ固定で良かったが今は違う)
・長時間一緒に回し続けられるタフネスな非リア充のニートor大学生

これらの条件を満たす人を4人集めるのはかなり厳しい。
そもそも私が ニート or 大学生 じゃないから条件から外れているというね...
それはさておき、それでもなんとか上手い方法は無いかと考えてみました。

SNS活用

Twitterだとほぼ野良同然なので、条件を満たすメンバーを不特定から集めるのはほぼ無理です。Twitter外で強いメンバーを集めてグループチャットでルーム番号を共有して回すぐらいの使い方しか思いつきません。(そして、まずその人を集める段階が面倒な訳で...)

イベントのランキング上位の人のプロフィールを見ると、だいたいTwitterアカウントも一緒に晒しているので、そういう人達に「FF外から失礼します」と声を掛けるのは結構アリかもしれませんが、あまり上位の人だと相手にすらされなさそう。だから、自分のランキング付近でTwitterアカウントを晒している人を見つけて声を掛けるのが良いかもしれませんが、それもそれで結構躊躇われます。(ついでに、自分のランキング付近だとそんなにガチ勢が居ないから、そもそもTwitterアカウントを晒している人がレア)

過疎っていなければGoogle+が良かったかもしれません。
Google+の場合、Google+のコミュニティで目的を絞ったメンバーを集め易いので。
ただし、過疎り過ぎていて微妙です。
もちろん、強い人は幾らか要ると思いますが、絶対数が少ないのでプレイできるタイミングが一致する人を探すのが大変かなと。

マストドンが普及すれば、そういう用途で作られたインスタンスとかでメンバーを募るとか。ただし、マストドン自体まだ殆ど普及していないので、現状ではまだ無理そうかなと。一時期話題になって、ガルパの協力募集インスタンスが幾つか作られましたが、どれもすぐにクローズしてしまいました。
たぶん、運営が公式でユーザ交流用のインスタンスを建てたりすれば結構使われそうな気がしていますが、今のところそういう動きは無い(※)みたいですね。
http://k52.org/mastodon/ で確認した限りの所感です。ネットサービスで公式でやっているのはpixivとニコニコのヤツ(mstdn.jpは汎用なので除外)ぐらいのようです。正直ニコニコのヤツは何で作られたのか(というか使い所)がイマイチよく分からないのですが、pixivはサービスとの相性が良さそう(私のtwitterのタイムラインでも絵を晒す人のRTが結構多いので、それ専用のtwitter的なモノに対する潜在的ニーズは結構あったのではないかなと)。

HIROBA

AppBankが運営しているSNSですね。
カテゴリ的にはSNSの一種ですが、マルチプレイ募集用途に特化していて、ガルパ対応済みだから、他のSNSとは別に取り上げておきます。
ルーム作成→プレイまでの流れも中々シンプル。
以下で確認できます。
https://www.youtube.com/watch?v=TS9hjImZkXc#t=55s
ただ、アプリがポートレイト(縦置き)専用だったりiPadに対応していなかったりと、若干微妙です。
更に、G+同様人が少な過ぎて使い物にならないかもしれません。
日曜日17:00ぐらいにルームの出来具合を観察してみたところ、10分につき2〜3個ぐらいできていて、ルームができてからだいたい10分そこそこで人が埋まっている感じでした。ルームを作った人のコメントを見ると、やや弱気な印象(集まればめっけもんぐらいのニュアンス)だったので、人の集まりはそんなに良く無さそうだと推測できます。
ただ、1回集まってしまえば、揃ったメンバーで都合が付く限り只管回せているらしいので、現状でもそこそこ使い物になるかもしれません。
ただ、上述の条件を満たすような強い人が集まるのかというと微妙です。多くは求めずプライベートで協力ライブをやりたいだけなら使えるかもという感じです。

ニコ生(ユー生)

自分で配信しようとするとかなり敷居が高いですが、協力ライブを募集しているユー生放送を探して乗っかるのであれば、まだ参加し易いかと思います。
また、「放送ネタとして取り上げられる事すら抵抗がある」という人の場合、以下のコミュニティの放送とかが良いかもしれません。
http://com.nicovideo.jp/community/co1883882
このコミュニティの放送では、視聴者でもコメントでルーム番号を共有して募集できる仕組みになっているので、視聴者作成ルームへの参加なら放送ネタになることもまず無いから、これなら気軽に参加できるのではないでしょうか。
放送時のスクリーンショットはこんな感じ。
視聴者がコメント(コマンド)でルームへの募集を作成/削除できる
(真ん中が視聴者が募集中の部屋)
ただし、コミュ障を絵に描いたような人間である私には、それすら参加できなかった。
そして、ガチで強い人を集めようと思えば、やはり自分で配信して中堅生主程度の人気放送者になる必要がありそうで、そんなんむ〜り〜...

結論

運営が公式でマストドンのインスタンス建てるというのが面白そうかも。
それをゲーム内のお知らせで通知すれば、すぐに数十万規模(現時点で最大のpixivが10万ぐらい)の巨大なインスタンスが作れそうです。(だから、作っていないんでしょうけど。分散型ということはインフラコストを自前持ちという訳で、セルランを見る限り片手団扇できるほど儲かっている訳でも無さそうに見えるので。)

5/20 追記

ココとかで見ると、どうもLINEグループでやるのが割と普及しているらしい。
(LINEをそもそもインストールしてない勢なので気づかなかったw)

2017年5月13日土曜日

一度引退したら課金はせんよ

一時期あんなにやり込んでいたデレステですが、今では新曲が追加された時にちょろちょろやる程度でほぼ引退状態。
もう、スカチケ(3000円払えば無料でSSRが手に入るというアレ)すら再販されても買っていないという、完全無課金勢になりました。
ただ、全くプレイしていない訳ではなく、曲の先行プレイ権があるイベント(バースト、パレード)では先行プレイ権だけ取る為にプレイします。なお、報酬のSRは取ると育成や枠確保が面倒だから敢えて取らない。(SRだと弱すぎて編成では使えないですし)

何気なく、攻略サイトでデレステのSSSボーダーを眺めてみたところ、私と同じ傾向の人が結構多いのではないかなと思いました。
集計期間昇格発表1000位24h平均値
第1期9/9(金)15:00~9/30(金)23:5910/1(土) 12:0012,538,778586,609
第2期10/1(土)0:00~10/31(月)23:5911/1(火) 12:007,335,072236,615
第3期11/1(水)0:00~11/30(水)23:5912/1(木) 12:007,744,286258,143
第4期12/1(木)0:00~12/31(土)23:591/1(日) 12:008,213,612264,955
第5期1/1(日)0:00~1/31(火)23:592/1(水) 12:008,964,019289,162
第6期2/1(水)0:00~2/28(火)23:593/1(水) 12:0011,722,090418,646
第7期3/1(水)0:00~3/31(金)23:594/1(土) 12:008,175,615263,729
第8期4/1(土)0:00~4/30(日)23:595/1(月) 12:008,851,950295,065
私が引退前最後に走ったのは第6期です。
この時のボーダーは、第1期に次ぐ歴代2位の11,722,090
よくこんな中でアイドルマスター(称号)が取れたものだと、我ながら呆れます。
ただ、その後、ボーダーが一気に8百万代まで落ちてます。つまり、私と同じく7期の頃にかなりの上位勢がごっそりクリア(引退)したのではないかと推測できます。

そんなデレステですが、久々に真面目にプレイしてみたところ、MASTERで5曲ほどドカドカっとフルコンを取れて、フルコン曲数が100曲を超えました。



ちなみに残り7曲は、Lv28が4曲(M@GIC、キノコ、TOKIMEKI、便所)とLv27が3曲(一番星、メルヘン、存在)。


確証は無いのですが、判定が甘くなったような気がする。
そして、判定が甘くなることで気持ちよくプレイでき、結果的に自然とアクティブが上がったような気がする。
これが運営による調整かは定かではないですが。
まぁ、完全無課金勢になった私のアクティブが上がったところで売上貢献はできませんが。私の場合、課金に関しては一度引退すると決めたら最後、もう二度と一円すら落とさなくなる傾向があるので、ちょっとやそっとの事では復帰しないと思います。

ただ、デレステに課金しなくなった代わりに、バンドリ(ガルパ)にバリバリ課金しているかというとそうでもないです。
ガルパはほぼ無課金(パックのみ購入)の時に☆4(SSR相当)を2枚引けて、その後調子に乗って2万ほど課金して☆4を更に+4枚ほど引いたのですが、その+4枚全てが無課金時に引いたヤツのダブリという結果だったので、それで完全に萎えてしまいました。(ピックアップじゃない時にそういう結果だったので、結構天文学的なレベルの確率のような気がする)
ガチャの闇を垣間見た。
まだ、辛うじて引退には至っていませんが。

2017年5月9日火曜日

喫茶店の話し

私は喫茶店が結構好きです。
カフェ巡りとかまではしませんが、1年間でだいたい300回以上は利用します。
そうなったキッカケというのが、就職活動をしていた二十歳の頃に遡ります。

当時、静岡か横浜(※どっちか忘れた)の地下街を迷って彷徨き、喉が乾いたので適当な喫茶店に入ったのですが、そこがガチのコーヒー専門店で、メニューは一番安いマンデリンが800円ほどでした。(ブルーマウンテンは3000円ぐらいだった気がする)

「やっちまった」と思いつつ、何も頼まずにすごすごと出ていくのも恥ずかしかったので、とりあえず一番安いマンデリン(800円)を注文。すると、マスターがゴリゴリと豆を挽き、見たことがない謎のアナログな機械でドリップ。そして出てきたコーヒーを一口飲んでみると、凄まじい衝撃を受けました。とにかく濃い。しかし、普通のエスプレッソのような単調な濃さではなく、透明度がある(?)というか複雑な味で、喉へ流すとマンデリン独特の酸味が刺さるように刺激をしてくる...かつて飲んだことがあるその他のコーヒーとは完全に別物です。
それが美味いかどうかはさておき。
コーヒーとは、美味いとか不味いではなく、嗜好品なのだということを理解しました。

その味が今でも忘れられず、もう一度嗜んでみたいのですが、私はかなりの方向音痴なので場所は覚えていないし、更に就職活動の最中で日常的に迷子になっていた時の事だから、何処の県にあったのかすら思い出せない有様です。
就職後に何度かその喫茶店を探すことをトライしてみたのですが、十数年経った未だに発見できていません。もしかすると、不思議の国へ迷い込んで見つけた店だったのではないかと疑ってすらいます。仮にそうだったとしても何ら不思議はありません。

以下、全然関係ない話しをします。

私は1年間でだいたい300回以上喫茶店へ行くと先述しましたが、実のところこれは上述のようなガチのコーヒー専門店ではなく、全てドトールコーヒーとかそういう感じの所です。

ガチのコーヒー専門店が仮にあっても私ではたどり着けないから、行ける喫茶店は生活圏(東京の銀座)内にあって、分かり易い看板のお店(≒チェーン店)に限られます。そういう所ならお値段も安いですし。

そういえば今年に入って、私の近所にあるそういう類の喫茶店が3件ほど潰れました。
潰れたのは、
①カフェ・ド・クリエ
②サンマルクカフェ
③ドトールコーヒー
の3件。
いわゆる「落ち着かない喫茶店」。

「落ち着かない喫茶店」というのは、要するに低単価で回転率で稼いでいるタイプの喫茶店のことを言います。ブレンドコーヒーSの値段がだいたい200円前後で、落ち着く喫茶店はだいたい500円前後でしょうか。

(回転率重視タイプのチェーン店のブレンドSの値段)
・ベックスコーヒー: 230円
・ドトールコーヒー: 220円
・サンマルクカフェ: 200円

(くつろぎ重視タイプのチェーン店のブレンドSの値段)
・コメダ珈琲: 420円
・喫茶ルノアール: 580円

(どっち付かずタイプのチェーン店のブレンドSの値段)
・カフェ・ド・クリエ: 270円(1日に2回行く場合の単価: 185円)
・スターバックス・コーヒー: 302円(1日に2回行く場合の単価: 210円)

味はどれもだいたい同じ。
特別美味くもないけど、不味くもない。
コーヒー専門ではないもの(マックやコンビニ)とも余り大差は無いです。
もちろん、製法が若干違うので誤差程度に味の違いはありますが、本物の味と比べればどれでも等しく同じ擬物で、純粋にコーヒーだけの値段なら100円で丁度よいぐらいだと思っています。(こういう喫茶店の値段は、コーヒーではなく空間の提供価格だろうという認識)

回転率重視 or くつろぎ重視のどちらが良いというものではなく、パッと入って喉を潤しつつ10分前後の休憩を取るなら回転率重視、小一時間ぐらい静かに過ごしたければくつろぎ重視みたいな住み分けができると思います。

ただ、どっち付かずタイプは微妙な存在だと思っています。
ドトールが混んでいて喫煙席を取れるか微妙だからとかそういう時ぐらいしか使わないし、スタバに至っては喫煙席が無いので利用する機会すらない。(新幹線のホーム内にあるやつを稀にテイクアウトで利用しますが、最近は予めコンビニで買えば良いので、それすら使わなくなった)

だから、当日中にリピートすれば実質「回転率重視」と同程度以下の価格帯になるような売り方をしているんでしょうけど、1年に300回以上喫茶店を利用する私でも、1日2回以上利用することはまずないので、当日中のリピート狙いというのはターゲットが狭すぎてあまり機能していないのではと思っています。

そういった理由で、中途半端タイプが潰れるのは割と納得感があります。

実際、潰れた①カフェ・ド・クリエはドトールのすぐ隣という悪条件の立地だったので、「これはすぐ潰れるんじゃないだろうか?」と思っていましたが、私が思っていたよりも大分早く潰れました。

残りの②サンマルクカフェ、③ドトールコーヒーは、これもまた隣同士で仲良く並んでいる謎立地だったので、客を奪い合って両方倒れてしまった感じでしょうか。ルノアールの隣にドトールとかなら住み分けができて良かったのでしょうけど。

ちなみに、①〜③に共通していたこととしては、どの店もそれなりに客入りが良かったということです。客入りが良いのに潰れたということは、原価高騰や回転率が想定よりも悪かったということかなと。

居抜きで別の喫茶店が入るなら、私が若かりし頃に不思議な国で見つけたガチの珈琲店が入って欲しいのですが、それは望み薄かな。でも、割とアリじゃないかと思いますが。土地が狭いので、回転率重視 or くつろぎ重視のどちらよりも適していそうな気がしないでもないので。

2017年5月6日土曜日

Android 7.0の音ズレ問題

スクフェス、デレステ、ガルパなどの音ゲー関連がAndroid7.0で軒並み音ズレが酷いという情報をチラホラ聞きます(参照)。

どの程度酷いのかは未確認。
というより、Androidで音ゲーやるのがそもそも間違っている気がします。
後述しますが、Androidの場合OSの仕様レベルでそもそも音ゲーに耐えられないシロモノなので。(私も音楽系のアプリをAndroidで出していてそこそこ高評価を頂いてますが、低評価が付く原因の9割以上はOS仕様上どうにもできない部分の話しだったりします)

とりあえず、対策方法としては(root化が必要ですが)BuildPropのaudio_hal.period_sizeを調整すると治る場合があるとか(参照)言われています。この値は何ぞや?と思ってAndroidのソースコードを見てみたところ、恐らくこの辺ですね。要するにストリームアウトするバッファサイズに関係するパラメタらしい。

つまり、どういうことか。

例えば、ストリームアウトするバッファ・サイズが100msだった場合、オーディオ出力をする指令を出してから実際に音声が鳴る = HALから低レベルオーディオAPI(最近のAndroidなら多分ALSA)に波形データが渡るまでの間に平均50ms(0〜100ms)のラグが発生するという具合です。

そして、恐らくAndroid 7.0でこのデフォルト値が大きくなったため、遅延が酷くなって音ゲーが全滅してしまった感じでしょう。(それ以外にも色々と複合的な要因がありそうな気がしていますが)
何故、大きくしたのかですが、これは多分何らかのトレードオフかと思います。バッファ・サイズを大きくすると、遅延が大きくなるというデメリットがある反面、CPUの専有期間を短くできることで、例えば「音がプツプツする」といった事象発生を緩和することができます。(つまり、Android 7.0で別のところで処理能力を回したいから、音のリアルタイム性を犠牲にしてCPUリソースを確保したものと推測しています)

Androidのオーディオシステムの仕組みを解説した分かり易い図があったので貼っておきます。
Android 5.0 Lollipop Audio Path Latency
Learn more about Android's 10 Millisecond Problem

ALSA(一部のAndroidはALSAじゃないけど)は、Advanced Linux Sound ArchitectureというLinuxのオーディオHALです。
以前はOSS(Open Sound System)が主流でしたが、割と最近ALSAに変わりました。

ALSAは従来(OSS)と比べて高機能になりましたが、その分、遅延もそこそこあります(上図だと5.3msだとか)。Androidのオーディオ関係がクソな原因のひとつが、ALSAという割と高機能なHALの上に更にAudioFlingerというAndroid独自のHALを載っけていることです。

カツラの上にカツラを被る大御所俳優みたいな感じですね。
この設計は流石に拙すぎるので、Googleほどの技術力があればここら辺は将来的にしっかり治してくるだろう・・・と思っていた時期もありました。

以前のLinuxで主流だったOSSの場合だとそれなりに(AudioFlingerの)存在意義はありました。OSSというのはかなりシンプルなオーディオHALで、特定のスペシャルデバイスファイルに対してパルス符号を入出力するとD/A,A/D変換するというものです。シンプル故にその上に別途HALを作ってオーディオパスを多重化するような実装が必要だから、AudioFlignerにはそれなりに存在意義があったと理解できるかと思います。

しかし、ALSAは高度化されておりそれを直に使っても問題無いので、現在のAudioFlingerは無駄に遅延時間を長くするだけの邪魔な存在でしかなくて、しかし、その上位層がAudioFlingerベッタリになっているから直せない(正確には直せないこともないが直すのが大変=コストが掛かるが、Googleの人は恐らくそれほどオーディオ関係のことを重要視していないから予算が取れない)という感じだろうと推測しています。

ちなみに、ココら辺の設計がダメダメになったのがAndroid 4.xあたりで、3メジャーバージョンも上がった7.xでもそのダメダメなクソ仕様を引きずり続けている感じです。たぶん、もう治らないんじゃないかと思います。私は5.0の時に抜本的な対策がされなかったことから、「もうAndroidは(少なくともオーディオ系統は)ダメだ」と確信しました(だからプライベートのスマホはiPhoneに乗り換えた)が、今回のAndroid7.0で音ゲーが全滅したケースで、やはり私の確信は正しかったんだなと確認できました。このままだと、将来的にはもっと酷くなるんだろうけど、流石にその前には何とかしてくるかもしれません。(何ともならないかもしれません)

View.OnTouchListenerでのマルチタッチ処理

やりたいことはシンプルなのに実装が色々と面倒臭かったので、備忘録を兼ねてメモ。

(やりたいこと)
・1つのViewでマルチタッチを処理したい
・タッチされている座標だけ把握できればおk

(やりかた)

(解説)
・Android SDK単品では無理そうなので、SparseArrayのテーブル(touching)を準備
・touchingテーブルは、タッチIDを主キーにタッチされている座標を記憶する
(主キーがint型なのでHashMapではなくSparseArrayを使った方が処理効率が良い)
・タッチ開始(ACTION_DOWNなど)を検出した時にテーブルにPointをadd
・移動(ACTION_MOVE)を検出した時にPointを更新
・タッチ終了(ACTION_UPなど)を検出した時にテーブルからPointをdelete

(若干疑問点)
タッチ開始(DOWN)とタッチ終了(UP)は1タッチID毎にイベント(※ここで言うイベントとはonTouchのコールバックのこと)が発生するが移動(MOVE)は2本指同時に動かした時、両方同時にイベントが発生した。
これが恒常的なもの(保証されているもの)なのかが若干疑問。
一瞬、「DOWNとUPの場合、非MASKのactionIdの9〜16bitにタッチIDが付加され、1回のイベントで取得できるactionIdは1つだから保証されているのでは?」と思ったけど、それならMOVEが1回のイベントで複数処理されるのがおかしい。
MotionEventのactionIdなんですが、明らかに設計ミスっぽい気がする(ただし、当然ですがここはプリミティブ過ぎて今更直せないという感じだろうか)。

(追記)
CANCELの場合もMOVEと同様、複数指分が纏めて走るらしいので、CANCELの時はtouchingをclearするように修正。

2017年5月1日月曜日

お金の掛からない宝くじでも買っておく的な

グリマスの音ゲーの事前登録が始まってました。
https://millionlive.idolmaster.jp/theaterdays/

ただ、動画で流れているゲーム画面を見て若干食傷感が...ゲームが音ゲーとして面白ければやりますが、デレステ or バンドリの焼き増しレベルだったらスルーする予定です。
でも、もしも面白かった場合、事前登録するだけでSSRが貰えるかもしれないという乞食根性で事前登録しておきました。
100万も集まるかは微妙な気がしないでもないですが。
ちなみにバンドリの事前登録はだいたい50万前後。知名度が低くて50万も集まったのなら、アイマスの看板があれば100万なんて余裕なのかな?
ペース的にはつい先程(この記事を投稿する小一時間前)丸1日で10万突破したとのこと。

以下、PVを見た感想を書いておきます。

①モーションが独立している

コレ要るんですかね?
デレステの場合は初発だったからウケましたが、後発で独立モーションを取り入れたところで、そこまでウケるものではないでしょう。なので、単純に開発コストだけがハネ上がっているように見えてしまう。
それでARPPUが上がる(=お金を落とす層がそれを有難がって落とすお金の量を増やしてくれる)のであれば、それなりにやる意味はあるかと思いますが、ドレスショップが閑古鳥状態のところを見ると、恐らくそれも無いでしょう。
なので、メリットがあるとすれば、「デレステを陳腐化させてパイを奪えるかもしれない」ってところですかね。なので、事実上ソレの一点狙いだろうと理解しました。
つまり、運営がCA系列以外ということであれば、それなりに意味がありそうです。(また運営がCA系列ということであれば、正直コレは意味不明です)

②協力ライブ

なるものがあるらしいことを仄めかすセリフがあった。
...けど、3度目となるともう新鮮さは無いですね。
ただ、仮に運営がCA系列以外だとすると、流石に何かしらの知財ガードがされているはず(知財権をバンナムが握っていた場合、バンドリの協力ライブ導入を排除できる筈なので、それがされていないということは少なくともバンナムではなくCA側が権利を握っている筈・・・気になって少し調べてみましたが、例えばデレステやバンドリのスタンプとかは多分コレで、やはりCA側が特許を出願しているらしい)。
なので、私の予測通り運営がCA系列以外だとすると、デレステやバンドリの協力ライブとは(少なくとも権利化されている範囲は)別物にせざるを得ないから、もしもそうだとすると面白いものになる可能性があるかも。
というのも、デレステもバンドリも協力ライブはまだまだ面白くする余地がかなりありそうというか、不満みたいなものが結構あるシロモノなので。

③ソロプレイ(片手でもプレイできる)

これは...要らないかな。
私は基本iPad Proでプレイするから縦持ちするのは、端末の大きさの関係で面倒なので。
ただし、デレステ同様iPhoneとアカウント共有できれば、iPhoneではコチラを中心にプレイとかはあるかもしれない。
しかし、画面をポチポチするだけなら難易度的に楽すぎてツマラナイものになるかなと。
加速度センサーとか使った何かとかなら新鮮味があって良いかもしれませんが。ただ、それで快適にプレイできるように作るのは恐ろしく難しい筈だし、現状の画面を見る限り単なるヌルいポチポチゲーっぽい。

このゲームの現時点の期待値としては「正直よく分からない」という感じです。
面白く出来そうな余地は結構ありそうですが、既にやり尽くされたジャンルだからそれを今更進化させるのは多分相当難しくて、「単純にシンデレラじゃない方のアイマスを音ゲー化しました」みたいな方向のものに落ち着く(=私がスルーするタイプになる)可能性が今のところ高そうかなと。まぁ、モノが出てみないと分からないので、とりあえず期待せずに事前登録だけしておく分には良いのではないでしょうか。事前登録するだけならお金も掛からないから、お金の掛からない宝くじでも買っておく的な感じで。

2017年4月9日日曜日

クズ運なのですが、

昨夜、ガルパの単発ガチャ(250)でピックアップを引き当てる。
ピックアップを引ける確率は0.5%。
デレステのピックアップとだいたい同じ確率ですが、デレステでも結構たくさん単発ガチャ回したけど、単発でSSR引けたのは1回こっきり(フェス時のみ)で、フェス以外でピックアップを引けた回数はゼロ。
そんなクズ運の私が単発で引くことが出来たというこは、バンドリのガチャは今緩い感じなのかな。(私が突如豪運を覚醒した可能性もゼロではないけど)
IPが弱いから、まずは緩めにして当てさせることでファンを増やし、2周目以降で課金兵を育てる作戦なのかなと勘ぐってしまった。
アニメの方はネット上の批判を見る限り、ズッコケたんですかね?
私は見ていないから何とも言えません。
実のところ全く見ていない訳ではなく、AbemaTVで11話の一部だけチラッと見てみたのですが、恐らくトータルで(ネット上で言われているほど)悪くないコンテンツだったのではないかと推測しています。
大ヒットするか?と言われると無理だと思いましたが。(※ただし、私はけもフレの1話で大ヒットすることを予想できず一度切ってしまったので、当たるコンテンツを見分ける能力は皆無ですが)
AbemaTVだとタイムシフトが(無料会員だと)出来ないので、決まった時間に見ないといけない=時間の都合が合わないと見れないという点が私には少々厳しい。AbemaTVは、スキマ時間に見る用途では良い感じだと思っていて、CA=広告会社だからビジネスモデル的に狙い通りだと思うのですが、その半面、そのスタイルは目的意識を持った視聴には向かないので、例えば、ドラえもんやフルハウスなど(1話完結もの)や懐かしのアニメ(既にストーリーを把握しているもの)といったコンテンツとは相性が良いけど、ストーリーモノには向かないと思っています。(だから、何故ドラマチャンネルなんかがあるのか割と謎)
あとは、時期が悪かったのかも(前期はけものフレンズがあまりにも強すぎて、他に何やっていたかすら思い出せないレベル)。

2017年4月8日土曜日

iOSアプリの提供中断について

SUZUKI PLAN製のiOSアプリですが、しばらくの間、提供を中断します。
※復帰する可能性があるので「提供終了」ではなく「提供中断」としています。

提供中断の理由は、AppStoreでアプリを提供するには年額12,000円のライセンス料をAppleに収める必要があるのですが、売上から得られる収益(※)がライセンス料未満になったので、今回のライセンス更新を見送ったためです。
※少し補足すると、売上 = Android + iOS両方の売上の合計です。iOS単体だと結構前からライセンス料を下回っていたのですが、最近はAndroidも落ちてきて、ついに合算でライセンス料を下回った形です。
なお、インストール済みのアプリについては引き続き利用できます。
ただし、AppStoreからの再インストールはできないので、ご注意ください。

2017年4月1日土曜日

ラブライブ一人負け?

2chを見てたら、「バンドリ(ガルパ)が出てきてラブライブが一人負け」みたいなことが書かれていたけど、そんなことはないだろうと思って少し調べてみました。

まず、バンドリのランキング(iPhoneのセルラン)の推移がこちら。
バンドリのセルラン(iPhone/日本)
同期間のラブライブの推移がこちら。
ラブライブのセルラン(iPhone/日本)
赤線: バンドリのリリース日
そして、同期間のデレステの推移がこちら。
デレステのセルラン(iPhone/日本)
赤線: バンドリのリリース日
デレステの方はちょうど3末に集金力の高いイベント(シンデレラフェス)があったから1位を取れているけど、ラブライブの方も何となく3末にかけて上がっている。3末というと年度末会計ということで何かしら集金力の高いイベントがあったのではないかと予測(ラブライブの方はプレイしていないからよく分からないですが)。

このままだとよく分からないので、ラブライブとデレステの集計範囲を1年にしてみます。

まず、ラブライブの過去1年の推移。
ラブライブの過去365日のセルラン推移
そして、デレステ。
デレステの過去365日のセルラン推移
分かり易くするために最低ランク位置を基点にした補助線(青)を描いています。

ラブライブもデレステもバンドリリリース(赤)以降に過去1年間で最大の下げ幅を更新しているので、ラブライブ一人負けというより、仲良くシェアを奪われている感じだと思います。

ただ、個人的にはデレステの落ち方の方が微妙に気になります。
バンドリのリリース前に過去365日間最高の落ち込みを記録しているあたり。
上記の日付は2月22日ですね。
関係無いですが、2月22日というと私がSSSを走っていた時と重なりますね。

バンドリが無くても下降トレンドに入っていたような気がします。

完全に個人的な趣向のことですが、先日のシンデレラフェスで「ミスしてもコンボが繋がる」という新しい能力(正確には組み合わせ技みたいな形ですが)が追加されましたが、ソレで少なくとも私のデレステへの課金モチベーション+プレイモチベーションが一気に吹き飛び、その後の限定ガチャで欲しい能力のアイドルが追加されても課金しない感じでした。(無料石で数回回して「あー、出なかったわー残念」で終了)

それでも、相変わらずフェスではセルラン1位を取れているから安泰なのかな。あのフェス限定能力の所為で、少なくとも私は「もうデレステには1円も落とさないぞ」と決意したのですが、これは少数派の意見だから無視しても良い感じなのかなと。少数派は淘汰されても仕方ありませんね。(無限の財布を持つ少数派なら話しは別かもしれませんが、その少数派というのはゲームが目的の外にあるから大丈夫ってことかなと)

だからといって、バンドリに金を落とすかというと全然その気もなく、ある意味お財布にとって優しい状況。なので、ラブライブ一人負けというよりは全部共倒れしている印象です。

このジャンル自体の飽和...ですかねぇ。

2017年3月31日金曜日

しゅわりん☆どり〜みん(悪夢)

ガルパの第一回イベントが無事終了。
若干、期待ハズレな内容でした。

イベントの内容:
①曲をプレイする都度イベントptが入る(ただし消費ブースト0だと入らない)
②特定キャラクタ、特定属性の編成でイベントpt増加
③ブースト消費量を上げることで効率化できる
④協力ライブのイベントptが高め

なので、上位入賞を狙うのであれば、
②ガチャでスコアの高い編成を揃え、
③消費maxで
④協力ライブを回し続ける
という感じ。

②と③はまぁ良いです。
問題は④。

協力ライブでは、プレイする曲をリクエストしてルーレット方式で抽選をするのですが、当然イベントを走っている人はなるべく高い得点が取れる期待値の高い曲を選ぶ(「しゅわりん☆どり〜みん」ばかりが選ばれる)ので、協力ライブの選曲が偏ってしまう。

曲のリクエスト機能は不要だったとまでは言いませんが。

では、どうすれば良くなる(私ならどうする)か勝手に考えてみました。

(1)選曲ランダムの部屋を作る
レギュラー、ベテラン以外にエキスパートみたいな感じの部屋を作り、そこでは選曲が常時ランダムで難易度がExpert固定(レビュラー+ベテランの景品が入手できる)とかがあれば良かったんじゃないかなと。

(2)報酬(イベントpt、アイテム)の獲得条件
・スコア獲得順位が高いほど報酬が多くなる
・フルコンボとれたら獲得倍率1.5倍とか
・ライフ残量が少ないほど獲得報酬の率が低くなる(0なら無報酬)

(3)切断ペナルティ
メンバー確定後に通信を切断した人はペナルティで5〜10分間入室禁止とかそういう処置(これならサーバ改修無しで実現できるので割と簡単に実装できると思う)が無いと、メンバーガチャ感覚でリセマラする人が居てウザい。

(補足)
・(2)だけだと恐らく破綻する(ますます選曲が偏る)ので、(1)と(2)は合わせて一本だと思っている
・(3)が無いと今度は選曲ガチャをする人が現れる

2017年3月26日日曜日

ガルパで☆4を入手

今まで10連ガチャのハズレ(☆3)だけでプレイしていましたが、ようやく☆4(SSR相当)を引けました。
さて、「これを引くまでに幾らぶっ込んだのか?」ですが、結果的には課金したのは最初の初心者パック(1000円)ポッキリで、無料石だけで10連をトータル4回まわしたところで出てくれました。(結構運が良かった方かな)

石の集め方としては、
・カード別エピソード解放 = 25個〜50個?
・Expertでフルコンを取る = 1曲50個
・スコアランクSを取る = 1曲50個
・ストーリー解放 = 1回につき50個
・侘び石(協力ライブ不具合) = 1000個
・初心者パック = 1日80個
・リリース記念 = 1日50個
・イベント景品
あたり。

前回記事を書いた時点で、既にHardはフルコンし尽していたことに加え、ストーリーもだいたい解放済みだったので、「もう課金しないと厳しいかも」と思ったのですが、完全に見落としていた大きめの無料石ソースが「カード別エピソード解放」です。
下の方のエピソードというヤツ(鍵マーク=未開放)
左側のエピソード1はすぐに解放でき、右側のエピソード2はレベルMaxにしないと解放できません。☆3と☆4の場合、右側のエピソードの解放は条件(レベルMaxだけでなく属性別のアイテムが必要)がかなりキツイので、解放はかなり難しいですが。
☆4のエピソード2解放条件(※☆3:☆4=3:4)
ですが、☆2と☆1なら、どちらの条件も緩いので簡単に解放できます。
そして、☆1のカード(全25枚)だけでも、貰える無料石の総数は 75×25 = 1875個 とかなり多めです。

そんな感じで、前回の記事執筆時点から無料石を追加で5000個捻出して、それでガチャを挑んだ結果、なんとか☆4をゲットできました。(これでもう大きめの無料石ソースは潰しきったので、これ以降の強化は流石に課金必須かな...)

ちなみに、今回引いた☆4の特技は回復でした。
前回の記事時点では「できればスコアup」と言っていた気がしますが、これについては結果オーライです。(むしろ回復が欲しかった)

デレステだったら回復なんてSR1枚あればどんな曲でも余裕でクリアできてしまうので、デレステの価値基準だと回復SSR=ゴミみたいなものなのですが、ガルパだと回復はかなり重要。
デレステよりもゲーム本編が結構シビアで、体力はどんなに能力を上げても初期値(1000)固定というのが大きい。

現時点で最難関の曲は、
・空色デイズ(Lv26...これは完全に詐称: 私の見立て = Lv27相当)
・don't say lazy(Lv26...これはやや詐称: 私の見立て = Lv27相当)
・シュガーソングとビターステップ(Lv28)
の3曲ですが、これらについては未だに回復無しだと(今の私の腕では)クリアすら危うい。

しかも、デレステのように特技がランダム発動ではないので、「回復を1枚入れておけばオールOK」ではないという罠付きです。この3曲の中で私が最も安定してクリアできるのはシュガーソング(Miss=10前後)ですが、☆3と☆4の回復を各1枚編成していても、未だに落ちることがあります。(☆2でも良いから全員回復にすれば流石に安定する)

更に、協力ライブ(一般)だと、初心者が入ってくることもあるので、コチラが特大回復を積んでおくことで、初心者が落ちるリスクを低減できるという利点もあります。「☆4持っているなら上級者部屋へ行けよ」と思われるかもしれませんが、一般部屋の方が良いアイテムが落ちるんですよね。(上級者部屋だと特定の属性アイテムしか落ちません)

ついでに、イベント向けになるべく高いポイントを取ろうとすると、敢えてパフォーマンスの低い編成にしないといけないという事情もあります(これはイベントガチャを引けば良いのですが、イベントに関してはそこまでガチで走るモチベーションが今のところ湧いてません)。

なお、「協力ライブのメンバーに☆1や☆2が居る」ってだけで通信を切ってくる輩が結構居るのですが、そういう人たちはだいたいイベントを走っている人です。民度が低い。(そこまでするなら、ガチャを回して得点の高い編成を作って、ずっと上級者部屋でプレイしろよと思ってしまう)
私は、初心者の前でExpertをフルコンしたり、高得点を叩き出してドヤりたい人なので、☆1の人が入ってくるのは寧ろウェルカムなのですが...

ちなみに、協力ライブをプレイした時の全体スコアに影響するのは、メインチームのリーダーだけでなく全体の総合アピール値になります。だから、リーダーが☆4の特訓後Lv Maxの人でもスコアが低いことが割とよくあります。(たぶん、イベントの得点が高くてレアリティが高いカードを持っていない or リセマラで本気を出して以降ガチャを回していない人かなと予測)

なお、☆4のアピール値は☆3とあまり大差はありません。
私の手持ち(☆4=1枚, ☆3=5枚)のアピール値はこんな感じ。
☆4 = 30000前後(Lv Maxで特訓済み + エピソード1のみ解放)
☆3 = 26000〜28000(全員Lv Maxで特訓済み + エピソード1のみ解放)
せいぜいこの程度だから、☆4が出なくても☆3を育てるだけでスコア的にはかなり高くなります。(ついでに、協力ライブクリア時はスコア判定の閾値は低くなるのか、☆3のLv Maxを5枚編成とかでプレイすれば、協力ライブ自体はランクAでも曲別のスコアランクSが取れることが結構あります)

2017年3月18日土曜日

ガルパ

まだまだかなりバギーな状態ですが、ガールズバンドパーティ(ガルパ)が配信されたので、プレイしてみた所感などを書いておきます。

一言感想としては、
「絵柄がラブライブのデレステ」
という感じでしょうか。

KLab復活か?と一瞬勘違いしました。ラブライブ(by ブシモ)のアプリ運営はKlab、ガルパ(by ブシモ)のアプリ運営はCraft Eggで、Craft Eggはサイバーエージェント系列の会社なので、デレステから客が流れる分にはグループ全体で見れば問題無い感じでしょうか(むしろ、按分率とかの関係でガルパに流れた方がCA的にはおいしそう)。パッと見「ラブライブの続編か?」と錯誤しそうになる感じなので、デレステPだけでなくラブライバーもかなり流れてきそう。これは...エグい。

大人の事情はさておき、ゲーム本編(音ゲー部分)の内容は以下のような感じ。
(凡例)D: デレステ, G: ガルパ

・鍵数: D = 5, G = 7
鍵数については、真価が発揮されるのはハイテンポな階段アルペジオとかでしょうか。
まだ、Expertを全曲プレイしてませんが、そういうのが来ると思うとゾクゾクします。
なお、当たり判定はかなり甘め。
試しに実際の位置とどの程度離れていたら判定アウトになるのか調べてみたのですが、1個隣ぐらいであれば問題なく判定されます。

・スライド: D = Master+のみ, G = 低難度でもあり
スライドはデレステのヤツよりも気持ち良いかも。
デレステで(基本Master+ばかりプレイしているので)慣れきってしまっているので、それほど難しく感じないけど、節付きのショートとかは結構ムズい。

・フリック: D = short or long が左右, G = short (上) のみ
つまり、つぼみのような曲は無いということか。
これは良いです。
ついでに、上フリックのタイミングで2Dのキャラがジャンプしてくれるのがイイネ。
ちなみに、矢印は上を向いていますが、左右にフリックしても正常に判定されます。
あと、片手プレイがかなりやりやすくなりました。
Hard以下なら全曲片手でフルコン取れます。

・特技発動: D = ランダム, G = 特定ノートタップ時(+ランダム?)
まだ、特技持ち無し(無課金)なのでよく分かりません。
恐らくガチャは結構渋めかな(率がデレステと同じで、無料石はデレステよりもやや取り難い気がする)。

・協力プレイ: D = イベント限定, G = 常設+α
協力プレイというモードが常設されてます(現時点はバグの影響でほぼ繋がりませんが、特定の操作をすると繋がる)が、デレステのライブパーティそのものですね。
プライベートなルームも作れるので、友達が5人居れば仲間内でプレイとかも楽しめそう。
(友達が5人も居ればね...)
プライベートはともかく、協力プレイ自体は(バグが治れば)かなり強そう。

・プレイ制限: D = スタミナ制, G = 無制限
煩わしい体力回復待ちが無いのが、ソシャゲに染まりきった身には割と新鮮かもしれない。
最初そのことに気づかず、プレイ(配信)初日、「とりあえずスタミナが尽きるまでプレイしてみよう」と思ってプレイしていたら、先に自らのスタミナが尽きました。
プレイ自体にスタミナは消費しませんが、スタミナ的なものを貯めるとアイテムがブーストできるといった特徴があります。
なので、ブースト期間は安定曲のフルコンを狙い、非ブースト期間はクリアするのが難しい曲(空色デイズやシュガーソングのExpertとか)のクリア安定化を狙う感じのプレイスタイルが定着しそう。

・カバー曲: D = 少ない, G = 多い
デレステにも一応(グラブルとか太鼓とか)あるけど、ガルパはカバー曲が多い印象。アニメ本編はニコ生で配信されていないから見ていないので推測ですが、バンドをテーマにしたものだから、あっても不自然ではない感じだろうか?
STEINS;GATEのOpとかありました
このノリなら、けいおん!とかもその内出てきたりして...と、思ったら普通にでるっぽい(参照)。

・レベル感: D ≒ G
デレステとガルパの楽曲レベル(難度)はだいたい同じ印象。
ガルパのLv28の曲はまだ「シュガーソングとビターステップ」しかプレイしてませんが、だいたいデレステのLv28と同じぐらいという感じ。中難度(Lv26)もだいたい同じでしょうか。低難度(Lv20未満)はほとんどプレイしていないので不明。

(3/20追記)
・ガチャ: 結構違う
まだ10連を2回 + デイリーの単発2回しか回してません。
石は、初心者パックを買って得た1000個+Hard以上のフルコンやストーリーの解放などで集めた4000個+をドカッと使用。(曲をプレイするために石を消費する必要が無いので、石の溜まりはデレステよりも良い)
単純にSSR(☆4)の比率だけ見れば、デレステと同程度だから、当然2回程度では☆4はゼロです。(戦績: ☆3が3枚+☆2が17枚 + デイリーの60ガチャで☆3を1枚 + ☆2を1枚)
まぁ、普通かな。
とりあえず、1枚は☆4が無いと、協力ライブの時に申し訳ない気分になるので、スカチケ的なものが出たら、なるべくステータス&スコア高めのを1枚ぐらいは買うかもしれないけど、1.5%を狙って1回約3000円のガチャを回そうとは思わないので、当面は無料石を貯めて回すと思います。
手持ちカードの上限らしきものが無く、また、生贄を捧げるレベル上げや、出荷といった仕組みが無いので、枠を気にせずガチャを回せる感じらしい。デレステの枠は割と無意味感が強かった(拡張できるけど結局拡張しなかった)ので、枠撤廃は良いことかと思います。
また、ダブったカードはシールに交換でき、シールが一定量貯まれば☆3以上確定ガチャが回せるので、デレステのようにSSRがダブっても精神的ダメージが少なそう(デレステのガチャ課金額がトータル5万程度の私はSSRがダブったことは無いですが)。
カードのダブリは課金抑制の枷として結構大きかったと思うので、重課金勢にとっては優しく、上位微課金勢は重課金勢になれるチャンスといった感じかもしれません。
一番の問題点は、アニメの方を見てないから特に贔屓のキャラもいないので、あまり購買意欲がソソられない(当方比)という点。ゲーム内のストーリを読めば良いのかもしれませんが、基本的に全スキップだから絵だけで感情移入しないといけない訳ですが、それは相当レベルが高く、私にはちょっと難しいです。

・曲データ制作コスト: G <<< D
ゲームをプレイしている分にはあまり気にならないことですが、デレステはUnityを使った3Dモデルなのに対して、ガルパはLive2Dを使った2Dキャラクタ中心です。
デレステの方は曲を追加するのに、曲+譜面データだけでなく、3Dモデルのモーションや空間のモデルも必要だから、1曲当たりのコストは恐らく普通の人が聞いたら目玉が飛び出るレベルの額が掛かっている筈です。
一方、ガルパが使っているLive2Dというのは、絵を部品ごとに分解して変形させたり動かしたりという感じ(デレステでもSDのキャラクタに使っている筈)で、モーション的なものを作ろうと思うと3Dモデルの労力とそんなに変わらないと思いますが、デレステのように曲ごとにモーションを作る必要が無いのでコスト的には大分安いはず。
コスト=金なら運営が頑張れば良いだけの話しですが、コスト=時間でもあるので、新曲の提供頻度は圧倒的にガルパ有利な筈です。更に曲についても、カバーという強いコンテンツを持ってこれるシステムも備わっている。
デレステの3Dなんですが、私はプレイ開始から1ヶ月ぐらいで全く見なくなりました。ただ、あの3Dあってこそのデレステだということは理解してますが、正直フル2D軽量で良いから曲の提供頻度を上げてくれた方が嬉しいと思っていたりします。
だから、(飽くまでも私にとってのですが)ガルパの方がニーズに沿った形になりそう。


色々と書きましたが纏めると、デレステの方はSSSという大きめのクリア目標を達成して飽きてしまった丁度良いタイミングだったので、ほいほいガルパに移行してしまいそうだ(ゲームの方向性自体はかなり良さそう)という話しでした。

全然関係ありませんが、略称は公式(アプリアイコンの表記)に倣って「ガルパ」にしておきましたが、それだとガルパンでサジェストされてしまうので、公式略称は「バンドリ」で良かったのではないだろうか...(ガルパンを喰えるかどうかというKPI的な意味でそっちにしたのかな)

How to get 東方BGM on VGS music data as MP3

describe how to make 東方VGS's MP3 file in Mac or Linux (terminal).

pre-requests

- git
- gcc (using xcode in Mac)
- gnu-make

step 1: make MML compiler (vgs2mml)

cd ~
git clone https://github.com/suzukiplan/vgs-mml-compiler.git
cd vgs-mml-compiler
git submodule init
git submodule update
make
./vgs2mml

step 2: make BGM decoder

cd ~/vgs-mml-compiler/example
make
./decoder

step 3: get 東方VGS MML data

cd ~
git clone https://github.com/suzukiplan/Touhou-VGS-MML-data.git

step 4: Make wav file from MML

cd ~/Touhou-VGS-MML-data/data
~/vgs-mml-compiler/vgs2mml BSLOT000.mml BSLOT000.bgm
~/vgs-mml-compiler/example/decoder BSLOT000.bgm BSLOT000.wav

step 5: use MP3 encoder

brew install lame
lame BSLOT000.wav

extra step: how to modify playing options

edit source code, and try step 2 again.
vi ~/vgs-mml-compiler/example/decoder.c

ex) Modify loop count

edit here.

loop 1 time (original) 
while (vgsdec_get_value(context, VGSDEC_REG_PLAYING) && vgsdec_get_value(context, VGSDEC_REG_LOOP_COUNT) == 0) {

loop 2 times
while (vgsdec_get_value(context, VGSDEC_REG_PLAYING) && vgsdec_get_value(context, VGSDEC_REG_LOOP_COUNT) < 2) {

ex) Disable KOBUSHI:

comment out or delete here.