ボトムズ日記

日記です

大逆転裁判1&2をクリアした。

iOS大逆転裁判1と2をクリアした。40時間ぐらいやってた。

ここ半年以上忙しくてゲームができていなかったので、プレイできてよかった。大逆転裁判1は前情報で聞いていたけど、伏線ぶん投げがすごい。今は2が出ているからいいけど、発売してすぐ買った人は怒るよなこれという印象。ゲーム自体は面白かった。シナリオは伏線ぶん投げで事件のトリックがどれも単純すぎる(ただ鈍器で殴ったとかそういうのが多い)逆転サーカスとか逆転マジックショーぐらいのレベルのビックリするようなトリックが欲しかった。正直4よりは良いぐらい。音楽はすごい好き。特に尋問アレグロと共同推理、最終弁論の音楽は好き。難易度も3ぐらいだった。物語の舞台も100年前のロンドンで、雰囲気が良い。

新システムの複数人尋問、最終弁論、共同推理は、共同推理以外は面白かった。途中から「といつめる」必須でちょっとだれたけど、2人以上証人がいると掛け合いが見れて面白い。最終弁論は証言が必ず6つに固定されるので、簡単だったけど現実のシステムをうまくゲームにアレンジしていて面白かった。成歩堂が証言台のあたりをウロウロする演出も好き。共同推理は、どうやったら修正前の推理が荒唐無稽すぎて理解できなくてつらい。熟考の必要があまりなく、目につくものを2,3個調べて、1つだけつきつければいいので簡単だった。(2では1回ミスってゲームオーバーになったけど)

大逆転裁判2は、システムは1と全く同じだけど、シナリオは伏線を全部回収する形だった。とても綺麗な終わり方だった。ただ予算不足なのか、1にあったアニメパートとかが全部なくなってなりした。(その分他の箇所に還元されてる感じはする)事件のトリックも、1に比べてぶっ飛んだものが多く瞬間移動の奴はすごいと思う。また珍しく犯人がかなり終盤にならないと、わからないシナリオがほとんどだった。ネットの評価がすごい高くて、初代3部作並と書いている人もいて、まさにその通りだなと思う。逆転裁判シリーズには珍しく前作のプレイが必須だが。音楽は1の使い回しがかなり多かったけど、新曲は1より好き。特に成歩堂龍太郎の異議ありは、イントロが良すぎる。1話しか操作できないキャラのテーマなので、ほぼ1話限定なのが惜しい。(実は3話でも1回だけ流れてた)また今回は追求曲の前にプレリュードの曲ができて、物語の盛り上がり方が過去に感じたことがなかった。

タクシューが脚本しているだけあって、笑えるテキストが多く、バンジークス検事の部屋に行ったときに色々調べると毎回ツッコミを入れるシーンがあり笑えた。EDで次の作品が作れそうな伏線を張っているので、3も作って欲しい。ただし分割商法はなしであればだけど。

最近競技プログラミングしていてよく使う書き方とかメソッドとか

Rubyで競プロを解くときによく使うんだけど、よく忘れるのでメモする📝

一文字ずつ文字列を処理する

chars メソッドを使用すると配列を返す。これを each するだけで一文字ずつ比較などができる。

'abcde'.chars
=> ["a", "b", "c", "d", "e"]

標準出力を式の戻り値によって切り替える

puts に三項式を渡せば切り替えることができる。

puts rand * 10 > 5 ? 'high' : 'low'
# low

インクリメント

Ruby++ ができないので += を使用する。よく逆に書いてしまう。

num += 1

初期化した配列を作る

new の第一引数に、要素の数、第二引数に初期値を渡す。

Array.new(2,0)
=> [0, 0]

標準入力のn行を配列に入れる

これは他の方法で代用するのでいつも使用しないけどメモしておく。 while の条件を line = gets のように書いておくと標準入力の1行が line に入るので、それを Array#push してあげて追加していく。

lines = []
while line = gets
  lines.push(line.chomp)
end

0からnまでindexをアップしていく

Integer#upto を使う。 Range オブジェクトを使うより便利。でもよく忘れる。逆は downto

0.upto(2) do |i|
  p i
end

特定の文字列が入っているか確認する

正規表現を使用する。 a にdogかcatが含まれていればtrueになる。

a =~ /(dog|cat)/ 

配列を検索して、その要素の位置を取得する

指定した配列の次の要素をいじるのとかで必要になるやつ。 Array#index を使用する。

a = [1,2,3]
a.index(2)
=> 1

もっといいやつとか間違ってたら教えてください。

東京ゲームショウ2019に行った

東京ゲームショウ2019に大学の友人と行ってきた。開演30分前に行ったけど試遊台はほぼ全滅、かなり競争率高い。FF7とかCoDやりたかった。サクラ大戦は頑張ればできそうだったけど、疲れてしまったのでやめた。

開演前なのにすでに長蛇の列

関西の龍と楽しそうに写真を撮る友人

龍が如く7の告知

ペルソナ5 ザ・ロイヤルのブース、SEGA、ATLASブースはすごい人だった。

Cod:MWの新作、久しぶりにやりたくなった。試遊台はもちろんいっぱい。

バンナムGジェネ新作のブース、W0に人が群がっていて、バルバトスの前にはあんまり人がいなかった。ビジュアルって大事。

FF7はとてもやりたくなった。PVを見る限りクラウドよりもバレットを操作した方がゲームとしては面白そうに感じる。

他にも色々行ったけど、写真はこのくらい。ゲームがとてもやりたくなる1日だった。疲れたので、今日はこれで終了。

逆転裁判6をクリアした

iOS逆転裁判6を買った。本編と特別編の両方をクリアした。託宣は異常に難しかった。好きな話は2話、4話。オドロキくんがようやく主人公主人公していて、よかった。高校生の時に逆転裁判4が発売されてやったけど、当時からちょっと主人公としてどうなの?と思っていたけど、ようやく救済されてよかった。実に9年ぶりの主人公だったらしい。すごい。逆転裁判新作はハードの選定に難航していそう。switchぐらいのグラが必要になる訳でもないし。できれば最初からモバイルアプリかSteamとかでリリースしてほしい。

Hubotでスレッドにコメントするようにした。

今日の日記 とても雑なメモ

https://github.com/slackapi/hubot-slack/blob/master/docs/_pages/basic_usage.md#working-with-threads

nodeのhubot-slackを使ってHubotのコメントをスレッドに返せないかどうか調べていた。そしたら上記の書き方が見つかったので、自分のHubotに適用してあげた。そしたら動くようになった。 thread_ts? はスレッドかどうかの判定関数みたい。普段node.jsとか触らないので書き方も全然わからない。

module.exports = (robot) ->

  robot.hear /badger/i, (res) ->
    if res.message.thread_ts?
      res.send "すでにスレッドで会話しているときは、スレッドに返すよ"
    else
      res.message.thread_ts = res.message.rawMessage.ts
      res.send "スレッドではないときは、スレッドに返事をするよ"

自分のHubotプロジェクトはcoffeeで書かれているのでTSで書き直そうと思っている。

nodeのバージョンをあげた

作業も忘れてしまうので雑にメモ

# リモートのnodeのバージョン一覧を確認する
nodebrew ls-remote
# 12.10.0をインストールする
nodebrew install-binary v12.10.0
# 手元のマシンにインストールされているか確認する
nodebrew ls
# 12.10.0に切り替える
nodebrew use v12.10.0

nodeのパッケージをアップデートする

npm-check-updatesはpackage.jsonを一括で最新バージョンにしてくれるらしい。

# グローバルにnpm-check-updatesを入れる
npm install -g npm-check-updates
# 実行する
npm-check-updates -u
# パッケージをアップデートする
npm update