Strayの良さを言語化して残したい
スゴクカワイイネコチャンゲームのStrayをやった。 ゲームをしている途中で、クリアしたくない、この世界観に浸かっていたいと思った。 こういう気持ちにさせてくれるゲームはあまり多くない。 似た感情になったゲームはICOだ。というかStrayはICO、ワンダと巨像を強く意識して作られているように感じた。
ごちゃっとした裏道が描かれているゲームが好きだ。 ゼルダの伝説時のオカリナでハイラル城の城下町の裏道が好きだ。ムジュラの仮面は全部好きだ。 ごちゃっとした裏道は人々の営みによって必然的に形成された美しさがあると思う。 Strayではそれがうまく表現されており、しかも猫独特の身体能力で縦横無尽に歩き回ることができる。
説明されるのが嫌いだ。世界観についてぐだぐだと説明口調で話されると冷める。Strayにも少しだけ世界観の説明があるが、そのバランスが絶妙で良い。自然とわかってくる感じが好きだ。
そっとサポートしてくれる仲間がいるゲームが好きだ。ドラクエみたいにゾロゾロついてくるのではなく、主人公の冒険を脇役としてサポートしてくれる程度の仲間がいい。冒険は孤独だからいいのだ。
苦戦したけど第二種電気工事士試験に合格したよ
第二種電気工事士試験に合格した。実は、1回筆記試験で落ちていて2回目のチャレンジ。
1回目 (筆記)の挑戦の敗因
- 試験直前にカンファレンスの登壇があって発表準備を優先した (言い訳)
- 本だけで勉強した
ぜんぶ絵で見て覚える第2種電気工事士筆記試験すい~っと合格シリーズを使っていた
- 全部完璧に理解しようとした
特に本だけで勉強したのが良くなかった。
本で勉強することのデメリット
- 専門用語が多くて理解するのに時間がかかる
- 知らないワードが出てきたら毎回ググっていた
- そもそも目から情報を得ることが苦手 1
- 持ち歩くのが大変で家でしか読まない
- 紙の本を開くというアクションが心理的ハードルになっていた
2回目 (筆記)の挑戦の戦略
- 言い訳できないようにする (試験日前に予定を入れない)
- 全体を広く浅く理解するようにする
- iPhoneで勉強する
- 動画で勉強する
- アプリで勉強する
- 過去問を何回もやって試験に慣れる
勉強に使った期間は6週間程度
言い訳できないようにする (試験日前に予定を入れない)
心が弱いのですぐに言い訳する癖がある。物理的に言い訳できないように自分を追い込んだ。
全体を広く浅く理解するようにする
試験の範囲が広いので全体を浅く理解する方針。わからないところがあってもスルーしてどんどん次の範囲を勉強する。
進捗が出やすいのでモチベが上がるし、自分の苦手な部分を把握するのにも役立った。
iPhoneで勉強する
効果的だったと思う。勉強を始める心理的ハードルをぐっと下げられて空き時間を有効に活用できた。
動画で勉強する
この動画を何週も見た。理解してなくてもどんどん次の動画を見る。全部見終わったらもう1周するというスタイル。
西山先生の「正しく理解するのではなく合格するための方法を学ぶ」という方針がとてもよかった。
広告を見る時間がもったいないのでYouTube Premiumに加入した。
大事そうなポイントはどんどんスクショしてメモアプリに貼り付けた。
メモアプリはBearを使っていたが何でもいいと思う。
アプリで勉強する
動画で見た範囲の過去問をこのアプリでひたすら過去問を解いた。課金すると問題数が増えるので課金した。
iPhoneのホーム画面の目立つ場所にアプリアイコンをおいておいた。
過去問を何回もやって試験に慣れる
試験1週間前に5年分まとめて解いた。
同様の問題が何回も出ているので慣れた。
2回目 (筆記)の結果
自己採点で9割以上とれて合格した (合格ラインは6割)
試験問題も例年に比べてかんたんだったのでラッキーだった。
技能試験
事前に公表されている13問のうちどれかが出題され、時間内に完成させる必要がある。
とにかく13問を練習して手で覚えるしかない。
13問を複数回練習する人もいるらしいが、自分は1回だけしか練習しなかったがそれで十分だった。
(13問すべてが全然違うものというわけでもなく、似たような問題だがそれぞれに少し特徴がある程度であるため)
筆記と同様に動画で勉強した。
工具
試験でも使用する工具を自分で調達する必要がある。HOZAN DK-28 をフリマアプリでゲットした。
合格クリップ (HOZAN P-926) も別途調達した。
練習用キット
練習用キットは試験後は不要になるので、レンタルした。
使用済みの配線は返却する必要がない。被膜をはがせばお小遣い程度の値段で売れるらしいけどめんどくさいので捨てた。
動画
筆記同様、西山先生の動画をひたすら見てまねするだけ。 【令和4年度対応!】第2種電気工事士技能試験 公表問題No,1 作業解説 - YouTube
合格した
本で勉強することが自分に合っていないことがわかったのは大きな収穫だった。
一番お世話になった西山先生に1円も払ってないけどいいのかな。
高尚なペイン問題
プロダクト4階層 のターゲットとペイン・ゲインを考えているときに、ペイン・ゲインが高尚になってしまうことがよくある。
例えば、「〜について勉強したい」とか「〜ができるようになりたい」とか。
「高尚」を言い換えると「なくてもいいけどあるといいよね」、つまり芯を食ってない。
もしかしたら、ビジョンとかミッションに近いのかもしれない。
高尚なペイン問題に直面した時は、以下のアクションを取る。
Whyを掘り下げる
そのペイン・ゲインが発生する理由を掘ってみる。しかしこれが難しい。
ターゲットの属性に自分が含まれているときは、自分で考えて掘り下げることもできるが、そうじゃないときはターゲットの属性の人にインタビューするしかない。
運良くターゲットの属性の人にインタビューできたとして、インタビュイーがうまく言語化できないことも多い。
とにかく仮説をいっぱい出してみてインタビュイーに当ててみる方法を取るのがいいのかもしれない。
UXのレイヤーでがんばる
ペイン・ゲインが高尚な場合、ユーザーにアクションを取らせることが難しい。
どうにかユーザーにアクションをとらせるために、成功体験を得られるまでのハードルを下げて、小さく連続的に成功させてあげることが必要。
違うペイン・ゲインにする
そもそも芯を食っていない問題に付き合うのは無謀なので設計を見直す。
やっぱりこれがいちばんおすすめ。
感想を持つには熱量が必要
人が感想をもつには熱量が必要。
高いお金を払って高級フランス料理を食べているときは「これは美味しいな」ということを考えながら食べるけれど、家で昨日の作り置きを食べているときは作業として口にものを運んでいて感想というものがない。
ネットにかかれているレビューは熱量がある人たちによって書かれているので、実際のユーザーの総意とはずれてるんじゃないかな。
以上、ここで話した内容の備忘録。
👋 アプリレビュー改善、PayPalのCSの対応、感想を持つことと熱量について、おもしろかったですー。
— haranicle (@haranicle) 2022年1月24日
SlackbotカスタムレスポンスでNKODICEする
TL;DR
Slackの標準機能のSlackbotカスタムレスポンスで、話題のゲームNKODICEができるようにしてみた。

設定方法だけ知りたい人はここだけ読めばOK
NKODICEとは
ksymさんが開発した「チンチロ」をベースとしたゲーム。
(今回この記事の公開についてksymさんにご快諾いただきました。ありがとうございます🙏)
Slackbotカスタムレスポンスとは
Slackにデフォルトに入っている機能*1で、Slackで任意のキーワードが発言された時にSlackbotに事前に設定した返答をさせることができる。
返答の内容は、改行で区切ることよって複数の候補の中からランダムに選択させることができる。


返答の最大文字数
ドキュメントなどには書かれていないが、調査したところ返答に設定できる文字数は
最大で4000 (改行も1文字としてカウント)だった。
返答をPythonで作る
すべての返答を手作業で作ると大変なので、Pythonで作る。 サイコロが3つのときは、こんな感じのコードでできそうだ。
dice = ['お', 'ち', 'ま', 'う', 'ん', 'こ']
for i in dice:
for j in dice:
for k in dice:
print(f'{i}{j}{k}')
NKODICEに必要な返答の文字数
サイコロがn個の時、返答をすべて書き出すのに必要な文字数(改行込み)は以下の数式によって求められる。
6n*(n+1)-1
この解をまとめるとこう
| サイコロの個数 | 返答をすべて書き出すのに必要な文字数 |
|---|---|
| 1 | 11 |
| 2 | 107 |
| 3 | 863 |
| 4 | 6479 |
| 5 | 46655 |
| 6 | 326591 |
| 7 | 2239487 |
返答に登録できる最大文字数は4000なので、サイコロは3つが限界だった。
@各位 んこ実装済みです pic.twitter.com/gWA6kf66Qh
— haranicle (@haranicle) 2021年6月9日
サイコロが3つだと、最強の役であるOCHINCHINが成立しない。悲しい。どうにかしてOCHINCHINしたい。
文字数を節約してサイコロの個数を増やす方法を考える
同じ出目は削除する
赤青緑の3つのサイコロを投げた時、うんことうんこ が出ることがあるが、NKODICEは順不同なのでどちらも同じ出目として扱う。
出目の表現に必要な文字数を節約するために、同じ組み合わせの出目を削除した。
同じ組み合わせの出目の削除は目のソート結果をsetに代入するで実装した。
dice = ['お', 'ち', 'ま', 'う', 'ん', 'こ']
all_rolls = set()
for i in range(6):
for j in range(6):
for k in range(6):
sorted_roll = sorted([i]+[j]+[k])
a = ''
for r in sorted_roll:
a += str(dice[r])
all_rolls.add(a)
for r in all_rolls:
print(r)
ただし、この手を使うと役が出る確率が代わってしまう。
例えば、赤と青のコインを投げたときの結果を書き出すと以下のようになる。
- 表表
- 表裏
- 裏表
- 裏裏
本来は 表裏 の組み合わせが出る確率は50%だが、同じ組み合わせの出目を削除する処理をすると、 表裏 の組み合わせが出る確率は33.3%になってしまう。
今回はどうしてもOCHINCHINしたかったので、この問題を許容することにした。
役はCustom Emojiで表現
役ができた時に派手な表現をしたかったのでCustom Emojiを使った。 Custom Emojiの作成にはMEGAMOJIを使わせていただいた。







返答も含めて出力するコードはここ。サイコロ5個が限界だった。
サイコロ5個あればOCHINCHINを出すことができる。良かった。
Slackbotカスタムレスポンスへの設定方法
Slackbotカスタムレスポンス
- When someone says に
んこ,nkoを入力 - Slackbot respondsに以下を入力
Custom Emojiの登録
登録するファイルは以下の好きな方からダウンロード。(zipでダウンロードがおすすめ)
