今、我々は、 GUI の設計について 何を考えるべきか

というテーマで ToKyoto.js ― Kyoto.js in Tokyo - connpass で Redux Rx FRP らへんの 話をしてきました。

これ一個会場で指摘された間違いがあって、 reducer = observable.reduce と書いてるところは reducer = observable.scan です。

@amagitakayoshi / @pastak お疲れ様でした。

redux の repatch middleware を実装しようとしたメモ

色々コンテキスト略。自分用の作業メモ。

jaystack/repatch を redux の middleware に移植しようとしたが、いくつか問題があった。

  • ActionCreator が reducer を返す、という基本コンセプトを維持するとする
  • しかし repatch はストアがシングルトン前提なので、そのまま移植すると combineReducers で破綻する
  • ので reducer関数の参照を action.type として使って、reducer を当てる対象としてスコープをコントロールできるのでは
  • というのを考えたが、dispatch 時にreducer参照が必要になってしまい、どう考えてもAPIがきれいにならない
  • よく考えたら、 connect の第二引数で bindActionCreators する時にdispatchと関数一覧を渡してどうにか出来るのでは?
  • ということで * as actions するとして、 規約 で default を reducer、残りを ActionCreator と決め打ってしまうと綺麗になるかもしれない

練った結果、こういうのが作れるのがわかった

// reducers/index.js
import { combineReducers } from 'redux'
import counter from './counter'
export default combineReducers({counter})

// reducers/counter.js
import { createReducer } from 'apatcher-redux'

export type Counter = {
  value: number
}

export const addAsync = (n: number) => async (state: Counter) => ({
  value: state.value + n
})

export default createReducer({ value: 0 })

// containers/Counter.js
import * as counter from '../reducers/counter'
import * as foo from '../reducers/foo'
import { bindReducersToActions } from 'apatcher-redux'

connect(
  (state: Counter) => state,
  bindReducersToActions({counter, foo})
)(function A(props) {
  return (
    <div>
      <button onClick={() => props.counter.addAsync(1)}>Add 1</button>
      <button onClick={() => props.counter.addAsync(2)}>Add 2</button>
    </div>
  )
})

問題はあって

  • 暗に default が reducer としてたり、ファイルスコープに規約を持ち込んでしまってるのがあまりよくなさそう
  • connect 側から見てactionsに異常に型が付けづらい
  • テスト時に専用のコンテキストを組み立てる手間が多くて面倒
  • reduxに対して部分的に使えるようにしたところで、パラダイムが違いすぎて混ぜるのは見通しがすごく悪い

これ実装したところで生の redux 使うのとどっちが楽かというところで、結局強いメリットを示せないのではないか、という結論になって一晩寝かせて考えたほうが良さそう。

Google Document の音声認識入力が思ってたよりすごかった

はいえーとあの google の音声入力のテストをやってみてるんですけどこれめっちゃすごいですねなんかここまで認識精度良いと思わなかったあの文字の改行とかそこだけちょっと自分でやんないといけないんですけどそれ以外は全然不満がないですねこれなにかコマンドとかあるのかなやそうでもないか何がやりたいかというと discord でちょっと仕事で使ってみたくてボイスチャットチャンネルに没頭*1参加させて録音させてそのデータを google のドキュメントとして音声で食わせて文字起こしさせればあの会議とかねリモートワークとかですごい便利なんじゃないかなと思って文字認識 api ってちょっと公開されてるかわかんないんだけどこういう api って google あんまりね有料 api 脱退後悔*2しきれなかったりっていうイメージあるんだよねまあ google ドキュメントを使わせるためのインセンティブやっぱりそういうところがあるんだろうなって後僕がめっちゃ噛んだりしたところも勝手に飛ばしてくれてるんですよこれ喋りながら結構混*3んでるんだけど多分 google が正しいと思う認識する文字列として適正じゃないってことでね甲大*4部分がスキップされてるんだよね文字起こし分を見てるとかんだって言うのがちょっとうまくいかないなやってもねこれも最終的に人間がテレビ*5調整するって言うフレーズ*6が必要になるんだなるのは仕方ないんだけどこれ見れば何か吉田か*7全然思い出せるし多分これすごいよ3-を使ってみると良いんじゃないかなと言う感じです


Speech API - 音声認識  |  Google Cloud Platform

Google $0.006/15s だったから30分の会議の音声データを送りつけても72円

*1:BOT

*2:で公開

*3:

*4:かんだ

*5:手で

*6:フェーズ

*7:喋ったか

全ルールS+0

https://pbs.twimg.com/media/DHr69pvUwAA3Qnd.jpg

エリアだけヒッセンで、強武器使ってんじゃねーぞと煽られるのが嫌だったので、残りはローラーとこのギア。 イカニンジャでイカ速積んでカーリングで高速に裏取って初動3キルして押し切るみたいな試合が多かった。ただし、ステージに依存する。ホッケは強いが、チョウザメガンガゼはかなり厳しい。

カーリングのインク消費が厳しく、カーリング後のインク切れが死因になることが多かったが、サブ効率詰んだことでかなり事故が減らせるようになった。

S+50 チャレンジ、どうするかなー

Splatoon2 S+昇格した

いけるやんって気分になった。ちょうどTwitchで配信してた。


mizchi - 海女美術大学エリア S+昇格戦

ギア

自分ヒッセン、インクアーマーとジェッパしかいないのが先日書いた記事を象徴するような編成だった。 この後、S+0の60ぐらいまでいって割れて維持で終わり。

Splatoon2 感想

前作ギリギリS+、今作150時間ぐらい。今Sでうろうろしてるプレーヤーなのでガチ勢ではない。一緒にやってる人達がS+ばかりなので、足を引っ張らない程度になろうと、ヒーヒー言いながらやってる。

前作は、ダイナモハコフグヒラメエリアだけで厳選でS+に上げたので、実質S適正ぐらいだったと思う。自分には入力精度と視野と決め打ちな戦術プランが不足している、という自覚があり、それらは経験で補わないといけないが、それらを得るための体力と時間を捻出しないといけないのが難しい。

この記事で、あれこれ文句言ってるが、面白いからこそ出る不満であって、アプデに期待している。展望として、2年ぐらいは飽きずに遊ばせてくれという感じ。あと自分の意見じゃなくて、自分よりうまいS+環境の人達の意見を鵜呑みにしている部分もある。

インフレ抑止 & 前作トップメタへの懲罰的なナーフ

前提として、前作でインフレしきった状態をリセットしようとして各メインは慎重に調整されているが、スペシャルは全リセットした結果大暴れみたいな状況になってる。環境としては前作で一通りゲームとしての研究は終わっているので、新要素もそれらの差分として、研究される速度が早い。

新環境で様子をみたいのか、マニューバ以外の新武器がどれもこれも酷い。ソイチューバーもクラブラもヴァリアブルローラーも調整諦めてトップの環境に影響が出ない程度に放り出した感が強い。ワクワク感を返せという気持ちになった。シェルターも結構遊んだけど、面白いけど強くはないよね、チーム戦でワンチャンあるかもね、で落ち着きそう。

引き続き前作から言えることだが、キッズ向けの調整と、ガチ勢向けの調整を同時にしようとした結果、どっちも噛み合ってなくて、全体的にギクシャクしている。少なくとも初出のPVでやってたような、プロゲーマー向けな環境は、それに耐えうる深みを持てるか怪しい。ブキの強弱がハッキリしてて、自分だけの強みを作るといったプレー体験の幅広さは現時点で実現できない。

前作の強武器は、まずダイナモがとてつもなく弱くなった。前線張ってたシールドシューターがいなくなった。前作はダイナモと52ガロン使いだったので、今作は新しいブキを探さないといけなくなった。

ガバエイム勢のオトモは、ダイナモに代わってヒッセンになった。ヒッセンがここまで強くなるとは思わなかった。手元の判定の大雑把さで打ち勝つのは格ゲー初心者のレバガチャ感ある。明日にでもナーフされそう。

ラピブラはそんなに変わってないはずだがステージ構成のチャーポジを狩るメタで噛み合って強武器になってる。

スシはスシ

スペシャ

全体的に、無敵系がなくなって、防衛側が弱く、攻撃側の打開が成功しやすくなった。これはスリリングなので良い調整だと思う。が…

なにはともあれ、ジェットパックが強すぎる。もはやジェットパックが上手いやつがいるチームが勝つ、という感覚がある。上手い人は1回で平気で2~3キルもっていく。塗りまくってジェットパックを撃つだけのギア構成のマニュコラが強すぎる。

次いでインクアーマーが強い。30ダメのバリアと解除時に数フレームの無敵時間。バリア剥げるときの超過分のダメージは捨てられてるので、とくにチャージャーを無視できるし、大雑把に打ち合いに持ち込んでも互角なら2-1交換まで持っていけてしまう。あとただでさえ強いジェットパックを守ることが出来るのも強い。

今の環境なら、スペシャルだけで選ぶならジェットパック3にバリア1が一番強いと思う。

ハイパープレッサーは研究が進んでないから弱いという余地もあるかもしれないが、それにしても、使うとメインが打てなくなる棺桶で、もはや「使うべきではない」というところまである。これがダイナモについてるのは前作で暴れた懲罰、という意図すら感じる。現状バレルが少ないのも、弾速が下がったのもあるが、プレッサーのせいもある。

仲間内では、ハイパープレッサーより、使うとインクが回復するだけの「無」の方が強いのではないか、みたいな話すらある。

チャクチは取り回しはいいけど打開能力はないので、劣勢時の打開が鍵のゲームでアドになりにくい。前作と違ってマップが見づらいので、本来想定されてるであろう、味方との連携で決めるのはこのスピード感での難度が高すぎる。野良だとボイチャもないし…。

スフィア、仲間が追われてるのを見かけてもほとんど戦局に影響しないので無視している。使ってる間に弾が撃てないディスアドすらある。

アメフラシはよくわかんないけど乱戦時に強いが適切に展開しないと腐る。

要約するとジェットパックが強すぎる。絶対にナーフされると思う。どうナーフしても強そう。

ローラーについて

前からローラー好きだったんだけど、スプラローラー属は相変わらずナーフされたままで、当たり判定が狭すぎてそれが勝敗に響くシーンが多すぎる。縦振りは中距離戦に乱入できるが、上位勢のスピード感に付いてきそうにない。

ローラーとカーリングとの相性がよく、とくにホッケはカーリングまみれになる。ただ、ボールドマーカーが上位互換な感じになってしまっている。段差はローラーのが強いが…。ロラコラはビーコンの研究が進んでないのとイカスフィアが弱いので選ぶ理由がない。

ダイナモは塗れなくなってなんとも言えない弱ブキになった。上に向かって振ると蒸発するってのなんなんだ。前作はメイン効率ガン積みで塗りまくってたようなプレーヤーなので、似たようなものがない。

マップ

相手側への進入不可エリアが増えて、打開で使ってね、という意図が強い。

タチウオはクソ。

ギア

攻撃、防御が消えてメタりあいが消えたのは、他で差別化する要素が増えて良い調整だと思う。

スペシャルのスパセン消えたのにマキガのブランドが増えているのは完全に意味不明。ポイセンは弱くはないがスロット使ってまで対策するものではない。

ゲソタウンはイカリング2を使うインセンティブにしたいんだろうけど、イカ速クラーゲスとか爆風防御シグレニとか純ブランドで19揃うものがあって、情報アドでガチ勢とそうじゃない人にギアで差がついてしまうの、あんまりよくない気がしている。自分は使うけど。

最後に

身内でDiscordのボイチャしながらワイワイするのが楽しすぎて、それだけで楽しすぎて全部吹き飛んで楽しいみたいなのが唯一無二みたいなのがあり、やっぱスプラトゥーンはこれだよなという感じがあり、でもその体験が長く続くような調整を任天堂ができるかなぁ、と思うと結構不安という感じ。

オープンワールドRPGに馴れた自分にとってゼルダが物足りなかった点

前提

面白いのは間違いないし、Switchのスタートダッシュに大きく寄与していて、自分も90/100あげたいゲームで、この路線で次の作品もやってほしい、が、現時点で不満に思う点も多く、またネットでも絶賛ばかりで気持ち悪いので、思うところを書いておく。

自分は比較的、他のオープンワールドゲームに慣れてる方だと思う。ゼルダの比較対象は Skyrim, Fallout4, Witcher3、ゼノブレイドゼノブレイドクロス。ただこれ以外にもRPGやりすぎていて、趣味がこじれている自覚はしている。

文句言ってるから面白くないというわけではなく、単に Not for me という意味合いが強い。

難易度曲線が緩やかで上限も低い

RTAや一部の縛りプレーを除いて考えると、順繰りにいってデスマウンテンあたりで難易度が頭打ちで、以降ダレがち。

メインシナリオから外れれば上位のライネルもいるが、それはエンドコンテンツの一部であって想定された難易度の外の話だし、ゲーム本編であまり使わないスキルに慣れれば勝てる敵で、やや浮いたコンテンツになっている。

とはいえ、過去作のゼルダもこのような難易度曲線だったような感覚はあるが、30時間のサイクルでやることを、80時間でやると、30時間ぐらいでダレて刺激がほしくなってくる。

収集要素によるインセンティブが(他のオープンワールドRPGに比べて)とても弱い

防具を鍛える要素と、その素材を集める部分。そこが主な収集要素。

武器も結局、攻撃力に速度かけたDPSとして見る程度。現地徴収でローグライク感を出したかったんだろうが、正直武器を失うストレスのが上回っていて、また、武器を集めたり育てたりするシステムを導入した際にどういう楽しみのバリエーションを導入できるか考えると、あまり上手くいったシステムに見えない。プレーヤー側のインフレを抑えたい意図はわかる。

それらの成長システムを意図的に省いた結果か、クエストの報酬がとてもしょぼく、クエストにモチベートされない。ゼルダ的ミニマルさが、クエスト報酬でプレイヤーを引っ張るオープンワールドRPGの文脈とあまり合致しなかったように思える。

もちろん、そういうRPGを要素を強くすると離れるプレーヤーがいるのもわかるが、それはRPGとしての部分が、リニアに設計されたわかりやすさの結果だとも想像できる。

風景が変わり映えしない

そりゃもちろん、初見でワクワクしたし、動線がうまく設計されてるのはすごいと思う。とくにハテノ村から北側に山越えて、ゾーラの湿地を見下ろしたところは最高だった。

でも、なんというか途中からドンドン見慣れて予想したものしかなくなってくる。

たとえばゼノブレイド(クロス)だとランドマークっていう地形ごとに特殊なオブジェクトがワープポイントになるわけだけど、祠がワープポイントになってしまったせいで、祠の見た目が期待を裏切らないせいで、風景が単調になってしまった。祠と塔を探すゲームになってしまったのは、わかりやすくもあり、探検の物足りなさでもあると思う。

開発がゼノブレイドクロスと同世代で、モノリスの技術協力を受けていて(CEDECのセッション、会場でみてました)、ゼノブレイドクロスの絵作りの異様なバリエーションの幅(とそれに意味が付随しないことへの虚無が問題なのだが…)と比較すると、丁寧に作った結果、おとなしくまとまってしまった、という感想を受ける。

ダンジョン、というか洞窟に潜って倒してお宝を持ち帰る、といったシチュエーションが少ないのも、自分はそういうのが好きなので、つまらなく感じた点ではあった。ハイラル城地下坑道やマップ上で発生する一部の試練ぐらいしかそういう場所がない。というか武器を拾っても何も嬉しくないのが問題だと思う。

敵の種類も、敵がいる地形のバリエーションも少なく、あまり攻め甲斐がない。というか敵が弱くてあんまり考えなくてもどうとでもなってしまうのが本当に残念。

祠もつまらないのが多かった。というかそもそも初期に開放されるシーカーストーンのギミックにあまり発展性がなかったと思う。祠=ワープポイントで108個置く、というプランがそもそもいい設計ではないように思える。

ギミックを序盤で全部開放することの良かった点として、〜するには〜を手に入れてから〜というのがなかったのは本当に良かったし、他のゲームもそうしてほしい。

今後

文句行ったけど最初の30時間は本当に楽しかったので、次のDLCと次回作に期待しています。

再プレー時は5時間でデスマウンテンの神獣までクリアして飽きてしまった。6/30の難易度パッチあててから続きをやるか考える。