倒れこむ

F.Uは蒸発しました。なんか書きます。

配列長が決まっている空の配列に対してmapとかforEachで操作する

for文を使いたくないイキりprototypeオタク向けの情報です。

空の配列は操作ができない

たとえば2の倍数の配列(0含む)を作りたい時

const array = [];
for(let i=0;i++;i<10) {
   array.push(i*2);
}

みたいなイケイケなコード、書きたくないですよね。

というわけで以下のようにprototypeを使ってみます。

const array = new Array(10); //長さ10の配列を作る
const array2 = array.map((value, index) => index*2); //10回分のなんか操作がしたい

これ動きません。 あくまでも配列長が決まっただけのArrayObjectということらしく、添字分の処理をしたいときに空の配列(empty)だと動かないみたいです。

空じゃなければ動く、ということは以下のように修正すると動きます。

const array = new Array(10);
array.fill(0); //0で埋める
const array2 = array.map( (value, index) => index*2); //何故か動く

・・・。 ツッコミたいですがここはぐっとこらえて。

イキりたい本質はメソッドチェーンなのでこう書く。

const array = new Array(10)
    .fill(0)
    .map( (obj, index) => index*2);

~~~~

おまけ
//chromeDEVToolのconsoleでポチポチしたときのログです
arr = new Array(10)
>(10) [empty × 10]
arr[2] = 3;
>3
arr
>(10) [empty × 2, 3, empty × 7]
arr.map((v,i)=>i*2);
>(10) [empty × 2, 4, empty × 7]

emptyは添字にカウントされません。JavaScriptは最高です、一生ついていきます。

JavaScriptのDeepCopy

これ毎回悩んでるので結論から言うと

  • 自前で実装する
  • 汎用的な関数を用意する

の2つしかないです。 おそらく。

プリミティブ値(スカラー値)しかない時のDeepCopy

これは簡単です。

let obj = {
    a: 1
}
let deepCopy = Object.assign(Object.create(obj), obj); //DeepCopy

obj.a = 2;

console.log(obj) // a:2
console.log(deepCopy) // a:1 It's pretty good.

オブジェクトをネストしている時のDeepCopy

先程のコードは自身が別のオブジェクトを参照しているとうまくコピーされず、シャローコピーになってしまいます。

let obj = {
    myObj: {
        test: 1
    }
};

let deepCopy = Object.assign(Object.create(obj), obj); //DeepCopy?

obj.myObj.test = 2;

console.log(obj.myObj) // a:2 
console.log(deepCopy.myObj) // a:2    ... OH HELL.

うまくコピーする方法は… いくつかあるのですがコピペになるので割愛、最後にある参考記事を参照。

オブジェクト配列の場合(TypeScript)

任意Object配列の場合は以下のような書き方もできる

const arr: Model[] = [];

//なんかarrに突っ込む処理

const deepCopy = arr.map(model => new Model({...model}));

{...model}は、先程記述したObject.assign(Object.create(model), model) と等価(という認識ですが、間違ってたらすみません)です。

無論これもオブジェクトがネストされている場合はModelのコンストラクタで正しくnewしげあてる必要があります。

class Model {
    private myObj: NestedModel;
    constructor(_) {
        this.myObj = new NestedModel(_.myObj); 
    }
}

うーんめんどくさいですね。 しかし裏ワザは言うほどなさそうなのでしっかり理解して書いていきましょう。

以下参考にした記事

kuroeveryday.blogspot.jp

www.webprofessional.jp

音ゲーの練習とリハビリについて

最近年1で起こるやる気が高まっておりBMSのリハビリをしてるのでリハビリの手順と個人的な上達指南。

結論だけ最初に書いておきます。

  • リハビリはステップアップ形式
  • リハビリや上達練習中は同じ譜面の粘着はなるべくしない。
  • 上達には毎日プレイ。毎日プレイにはモチベ維持が最も大切、モチベを維持できるプレイ方法を見つけるべし。
  • 現状打破には次のランクの譜面を片っ端からプレイ、指の速度や認識レベルを一個上のランクへシフトせよ。
  • と、いいつつ下位譜面のスコアを狙うことで上達につながる可能性は十二分にある。

前回は去年の2月くらいに復帰してそのまま3月半ばくらいにフェードアウトしたんですが、当時1~2週間程度やるだけで★23に新規ランプが付くなどしてうぬぼれまくった結果プレイが疎かになり、きくうしとかいうのになっちゃいました💩。

音ゲーのリハビリについて

およそ1ヶ月以上ぶりにちょっとBMSやりますかとなったときにやってる練習方法(実力取り戻す)です。リハビリの話どうでもいい人は読み飛ばして頂いてかまいません。

シングルの発狂BMSベースで話をしますが、多分どの音ゲーでも概ね当てはまる方法です。が、全員に当てはまる話でもないので一番良いのは自分だけのリハビリ方法を見つけることです。

ステップアップ法(超おすすめ)

★1から順番にハードランダムオプションでプレイしていき1曲クリアしたら次のレベルをプレイする、落ちたら前のレベルをプレイする。 です。私が一番良くやる方法で、普段から指のウォーミングアップにも使っています(流石に★1からではない)。

とりあえず今のだいたい実力が知れる、アップを含めたプレイができる等の点が大きいです。

これをやるときはなるべくリハビリ用と割り切って新しくアカウントを作りましょう。また多種多様な譜面に触れるため一度ランプをつけたらリハビリ中は触れないようにしましょう。理由は過去の自己べやBPがモチベーションに大きく影響するからです(ある程度実力が戻ってきたら逆にこれを利用する手もあります)。まずは全盛期の9割くらいの実力を確実に取り戻していきましょう。

こつこつBP/スコア更新法(ある程度実力が戻ってきたら)

上記ステップアップ中にてプレイカウントが少ないあるいは久々にプレイする曲にふれるタイミングがあります。そこで最小BPやスコアを一発で更新できたりすると既に現役よりうまいということです*1。リハビリアカウントでやってる場合では現アカウントに登録されないじゃん!と思うかもしれませんがリハビリで一発でハイスコアを出せたんだから、元のアカウントでも数回やれば同じスコア以上のものは出せます。安心してください。

スコア/クリア粘着のため同じ曲をリトキチ*2して精神的にハイになる技もありますが、これは諸刃であまりおすすめしません。。


上達について

一番大切なのはモチベーションの維持

継続は力なり、ということでモチベーションを維持できる事が上達への一番の近道です。上記でもモチベについて語っているようにプレイしなくなったらそこで足止めです。見てるだけよりも手を動かしたほうが良いです。見てるだけで成長するなら毎日発狂皆伝の動画みてる俺はもうSP発狂皆伝になっているはずです。皆伝を目指す十段どころか新段位は九段になっちゃいましたけど。

ということで以下はモチベーションをうまく維持するための話と、押せない譜面に直面したときの練習方法についてです。

モチベ維持 スコアとクリアを交互に狙う

交互といっても、「今日は未クリアの新規イージークリアだけ集中して狙う」「今日は★1桁でスコアだけ集中して狙う」といった感じです。新規ランプ/スコア更新の目安はリコメンドやstairwayからもなんとなくサジェストされますが、得意譜面によって結構差がでることもあるため参考程度としておくほうが気が楽です。

私の場合はスコア、クリアに加えてフルコンだけを狙う日も用意してやってます。いや、やってました。 前述通りリトキチによりストレスや精神の摩耗でBMSやらなくなる原因になりがちなので無理は禁物…

他の難易度表や差分アップローダーに上がっている表外の譜面もやる

GENOCIDE運営の発狂難易度表以外にも第二発狂難易度表などなど今は様々な人が難易度表の運営をしています。それらをプレイすることでプレイ曲目のマンネリ化解消も大いにアリ。

一個上のランクをプレイ、上達について

読んで字の如く、適正レベルの1個上の譜面をやることです。

例えば★10くらいをイージーで埋めたいなぁと思った時には★11~13の譜面を一通りイージーでプレイしてから★10をやる。この時上位譜面はイージークリアできる必要はありませんが真剣にプレイすることが大切です。

背伸びプレイであるため認識足らずで指が間に合っておらず疲れてしまい*3かなり荒行となりますが、しっかり押そうとすることで★10に戻った時に案外スカスカだな~となんとなく感じることが出来ます。そりゃ★10より難しいんだから★11、12と設定されている訳でして、当たり前の話なんですけどね。

これについては他の音ゲー(特にパターン検討の多いjubeatや厳密にはSDVXなどもそう)にはあまり適用できないかもしれません。なぜなら1曲よりも1小節ごとに押せていない部分のパターン化・精密化が大切になっているからです。同様に適用できない例で皿曲に対しても微妙で、押し引きを覚える点でパターン化があるのでjubeat系統と近いものがあります。

高難易度ばっかりしんどい、逆に下位の譜面をプレイするのは…?→アリ

いわゆるEDENみたいなガチ押し系の譜面がとても苦手!というときは下のレベルの同系統の譜面*4でスコア狙いをしてみるのもアリです。そういう譜面傾向に対してしっかり押すという対応が上位でも役立ちます。背伸びプレイとは真逆ですが、スコアを狙うということはなるべくミスせず正確に押すことに繋がるのでとても練習になります。

モチベ維持で話をしたスコアとクリア交互に狙うのが良い!というのは実はこれの効果も狙っています。

最後に

どうでしょうか、Twitterで箇条書きした個人的な話を文章化しました。パターン化の件もありこれだけが音ゲー上達ではないと思うので自分で考えて様々な方法を実践してみてください。

P.S、音ゲーはほぼスポーツです。スポーツには怪我がつきもので、腱鞘炎やジストニアなど病気のリスクもあるため無理だけはしてはなりません。またプレイングは体調にも大きく左右されますが、適度な運動と筋トレ・適切な食生活を送り生活習慣を良くするのも「音ゲーのため」だと考えられればそこまで難しくないと思います。 からだづくりや筋トレの件は実践中なのでまた後日…

以上です。

*1:やってなかっただけ!というツッコミもありますが、大切なのはスコアやBPを更新したという事実を元にしたモチベーションです。

*2:リトライキチ○イ、同じ譜面を1日に何十回もプレイする粘着プレイのこと

*3:ここで脱力プレイができているととてもいい。

*4:ガチ押し系の場合は目標曲よりBPMがやや遅い譜面が良い

新年度のご挨拶

新入生、新社会人、新学期おめでとうございます。おめでたいですが心新たにするのに新年度であるとか全く関係ないですよ。

私は転職してから半年ほどですが、今日普通に家に忘れ物をして遅刻しました(フレックスなので厳密には遅刻ではない)。そういう感じです。

以下どうでもいい近況報告です。

  • 2018冬アニメ

citrusは勿論完走。宇宙よりも遠い場所はタイミングが合わなかったので後日全部見ます。あとは魔法使いの嫁も歯抜けがあるけど一応完走。ポプテピはとりあえずツイッターと一緒に見てないと小ネタとか掴みきれないので全話リアタイしました。

完走した感想は…… とりあえず今回はなし、どっかで個別で記事書くかも。citrusはBDも予約しました。

ただの百合狂いみたいなツイート結構してたと思いますが、citrus9巻はそれだけショッキングでした。単行本の続きが来る4/18発売のの百合姫掲載で…

草や花になっている人はRT、溺れ死んでいる人はfav。

  • 2018春アニメ

未チェック。ポンクエがシーズン5として今年もやるそうなのでそれは通年の楽しみ。

みんなわだいにしてるウマ娘はとりあえず見ます。1話は昨日みて連続放映の2話途中で眠くなってやめたんですが競女っぽいかおりがして良さみを感じてます。

ゲゲゲの鬼太郎も見る予定ですが仮面ライダービルドと被ってるんですよね。ニチアサがかなり激戦区になってしまった。

あとはヒナまつりフルメタ、ヲタ恋あたりは見ます 多分。 銀英伝は未定… 1クールで絶対おわらんと思うし(もともとOVA本編外伝合わせて160話くらいある)、短く端折られてもなぁという気持ちがあるので様子見!

イビルジョーきたらやるか!つってたけどやってない、案の定身内にモンスターハンターフロンティアの熱心なファンがいるみんなそちらへ吸われてしまった。さよなら~

  • プリコネ

なんか2月末にサービスはじまりましたね、ちょっとだけやってます。

このゲーム、なにもかもオートだったり欲しいアイテムが足りない!→出るクエストへ直接遷移…という導線の面でソシャゲ地獄に追われてる人がプレイしたら「今やってる○○(任意のソシャゲ)でも実装しろ!」と言われかねないような勢いのしろ者です。*1

さらに課金(というか、スタミナ消化)によって爆速で話が進みます。スタミナ課金=キャラの成長=戦力拡大が完全イコールで結びついています。なので札束バトルをしたい人も満足の出来。おなじサイゲなのに課金したうえで時間が無限にかかるなんとかブルうんたらジーとは大違いですね。*2

ガチでやってないのでこの編成がどうとか★1がつええとかそういう話はなしです。

気が向いたのでリハビリしてます。グラブルをやらないと時間ができるので最高です。配信もしてます。Youtube登録しといてくれよな。

www.youtube.com

俺はやってるけど各位はやらないほうが良い


  • まとめ

新社会人の皆さん、グラブルはやるな

P.S. 後日、発狂BMSに新段位などがくるそうなのでそのへん配信とかで喋れたらな~とかんがえてます。 喋ることなさそう。

*1:むしろ実装してください。

*2:そもそも義務ブルはスタミナは実質無限なので時間をかけるしかないわけですが。。

MHWをやりました

MHW、毎作買うか買わないかで文句いいつつ買って身内で100~400時間プレイして金冠を埋めるか~となってるタイミング辞めるみたいなのをやってますが今作もやりました。 進行形なのでやっていますが正。

総評

今までの不満点が改善されつつ新しい要素を盛り込んでいて、やりこみ要素がマイルドになったとっつきやすいモンスターハンター

海外展開含め新規ユーザーも多いとのことなのでもともとそういう狙いだったのではないかなと。

要約

  • よかった点

オープンワールドっぽくなったので、エリア間移動時のロードがなくなったこと

アイテムポーチの利便性向上と採取が楽になったこと

捕獲報酬枠が増えたこと

おまもり掘りがなくなったこと

スキルシステムの見直し

  • わるかった点

エスト開始前のロード時間

痕跡集め

エストボードで飯が食えない(???)

以下詳細

エリア間ロードがなくなった件について

やはりいちばんのポイントはこれでしょう。これによりエリチェン(笑)のないシームレスな狩りができるようになりました。また、それぞれのマップにあるキャンプに非戦闘状態のときはいつでも飛べるのがとても便利です。

キャンプの機能も強化も非常によく、飯を忘れてもキャンプで食えるし装備を間違えても変更できます。

アイテムまわりの改善、採取の簡易化

今までのシリーズであった臨時ポーチが更に拡張されて素材、弾、使用アイテムのポーチがすべて別枠になったことでたくさんのアイテムを持ち込みつつ採取もガンガンできるようになりました。

個人的にですがピッケル虫あみ砥石が標準装備になったことが一番大きいです。

捕獲報酬が増えた件について

1モンスターあたり8枠くらい?、剥ぎ取りの倍くらいの捕獲報酬が追加報酬に出るようになりました。 今まであまり露骨に捕獲で報酬が出るような印象はなかったのでやや新鮮です(捕獲はせいぜい時短程度みたいな)

おまもり掘りがなくなった件について

おまもりはすべて固定値で装備生産、強化という仕組みになりました。代わりに装飾品がランダム入手になりました。そしてエンドコンテンツも装飾品に委ねられました。じゃあ振れ幅が狭くなっただけで一緒じゃん、って感じなんですけどこれについてはスキルシステム見直しにも関連するので次で書きます。

スキルシステムの見直し

スキルが1ポイントでも発動するようになったため、道中は1部位でも防具を作ると即座にスキル発動するようになりました。これが今作の革命だと思います。1部位あたりの素材要求数も減ったことで同じモンスターをシバき続けなくても比較的早く装備をリフレッシュすることができます。

突き詰めるとみんな同じような装備になるのは今まで通りですが、万分の一を狙うようなおまもり掘りという真の苦行と比べると相当マシです。

要はライトユーザーでもささっとエンドコンテンツまで行けるのが良かった点です。

痕跡集め

ストーリーの後半の方、痕跡を一定以上集めなければ進行しない!という場面が3回位あります。これがまあしょーもない。

痕跡の初期位置は固定で探索マラソンをするか、該当マップのクエストをやることで集まります。

前者は全作業2時間くらいで終わりますが狩りでもなんでもないのでしんどいし1回あたりは数分で終わるので大半の時間がロードです。が、最速。

後者でも溜まりますが前者と比べて微々たる量です。つまり、クエスト中にモンスターしばきつつ痕跡も拾いつつ…という方法が良いのですがじゃあ最初からキークエでいいじゃん!というのが本音ですね。

別件ですけど歴戦古龍調査クエ集めも同じ感じで微妙です。

エスト開始前のロード

メリットでエリチェンがなくなって神と書きましたが、クエスト開始前に全エリア情報を一度にロードするためこれがまあまあ長いです。

ただし、クエスト受注直後からロードがはじまるためクエスト受注してからアイテムセット用意したり飯食ったりすると大体の準備が終わる頃にクエストロードも終わってスムーズに移動できます。

エストボードで飯が食えない

モンハンはどのシリーズも基本的に拠点へ戻ってきた時、

  1. エストを受ける

  2. アイテムセットを整える

  3. 猫飯を食う

  4. エストに出発する

という4ステップを繰り返しています。

今までオンラインのときは「集会所」システムがあり*1、クエスト受注からロードもほぼないためとても近い距離でアイテムの補充クエストの受注猫飯を食うを順序関係なくできたのですが、今作はクエストから帰還時の初期位置が必ず1F 流通エリアと呼ばれる場所で、食事処は3Fであるためリフト移動できるにしてもやや煩わしいです(そもそも1Fのリフトの位置がすこし離れている)。

またいわゆる農場系システムが1Fに集約されているため、1Fで受取/バウンティー達成/調査報告を済ませた後リフトで移動して飯を食べる、ってのが面倒です。つまりそれを解消するソリューションが「クエストボードで飯を食う」であるというわけですね。

…と、ダラダラ書きましたが実はこれ、先程のクエスト受注後のロード中に済ませると解決する問題であったり(せっかち)。このロード時間について最初の頃こそ気になっていたものの、先クエ受注でほぼほぼ解決したためつまりは痕跡集め以外はそこまで気にしてないです。

その他

野良プレイはしてないし、武器のバランス調整などは今のところチャージアックスしか使ってないのでそのあたりはノーコメントで。

あとはデメリットに列挙してませんでしたがクエスト中のアイテム順序があまりにもバラバラ(確かレアリティ順)でポーチ順になってないやん!とプレイしているみなさんは感じていたと思いますが、変更機能を知らなかっただけで公式からアナウンスがあった(???)のでこれも解決です。

更に不満点や武器バランス等はアップデートで対応される可能性があるため(痕跡集めはストーリー絡みなのでなさそうですが…)、今後の調整に期待です。 カプコンさん、食べられるクエストボードの実装をお願いします。

推敲もめんどくさいので終わり。バゼルギウスはクソ。以上。

*1:今作も集会所はあるのだが、集会所から出発したクエストから帰還した時、何故か流通エリアにいるので実質無意味。流通エリアから集会所へ移動するロード時間も長い