Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
脱出ゲームのすゝめ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kokuyouwind
April 11, 2016
Programming
62
0
Share
脱出ゲームのすゝめ
脱出ゲームを作ったので、それをPRするLTスライドです。
https://github.com/kokuyouwind/escape-from-the-repository
kokuyouwind
April 11, 2016
More Decks by kokuyouwind
See All by kokuyouwind
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
500
謎解きサイトを Rails SPA で作って RubyKaigi で配布した話
kokuyouwind
0
75
ドメイン指定Cookieとサービス間共有Redisで作る認証基盤サービス
kokuyouwind
0
32
Do LLMs dream of Type Inference?
kokuyouwind
0
38
Let's use LLMs from Ruby 〜 Refine RBS types using LLM 〜
kokuyouwind
0
8.3k
APMをちゃんと使おうとしたら、いつのまにか独自gemを作っていた話
kokuyouwind
0
940
RBS meets LLMs - Type inference using LLM
kokuyouwind
0
1k
オンラインボードゲームを作りたい人生だった
kokuyouwind
0
680
1年間本番運用してわかった、スタートアップこそAWS Copilot CLIを使うべきNつの理由
kokuyouwind
2
12k
Other Decks in Programming
See All in Programming
AI時代になぜ書くのか
mutsumix
0
450
inferと仲良くなる10分間
ryokatsuse
1
250
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
3
410
Moments When Things Go Wrong
aurimas
3
110
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.2k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
10
1.2k
SkillsをS3 Filesに置く時のあれこれ
watany
4
1.8k
AI Agent と正しく分析するための環境作り
yoshyum
2
590
要はバランスからの卒業 #yumemi_grow
kajitack
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
140
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
3
580
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
Featured
See All Featured
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Designing Experiences People Love
moore
143
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
570
Paper Plane (Part 1)
katiecoart
PRO
0
7.8k
Transcript
脱出ゲームのすゝめ 黒曜 @kokuyouwind
$ whoami 黒曜 / 株式会社Misoca に転職して半年 ふだんのギークバーは初 アナログゲームナイトによく出没 現職: Ruby
on Rails/React 前職: PHP/Scala 趣味: OCaml @kokuyouwind
さくらインターネットとも コミュニティとも 全く関係ない話をします
リアル脱出ゲーム http://realdgame.jp/
リアル脱出ゲーム http://realdgame.jp/ ある部屋にあなたは突然閉じ込められる。 周りには同じ境遇の⼈たちがたくさんいる。 部屋にはさまざまなアイテム、暗号、パズルが隠されているようだ。 暗号を解き、鍵を開き、箱を開け、 制限時間内に最後の鍵を⼿に⼊れることができれば あなたは脱出に成功する。
楽しい! ⾃分も作りたい!
作った
作った プログラマ向けの謎解き Github で公開 ファイルを編集したり コマンドを打ったりして 進⾏するゲーム プログラミング系の知識 脱出ゲームのひらめき git
ならではの仕掛け https://github.com/kokuyouwind/escape-from-the-repository
例題
例題 アクセサヒープクラスフラグ マクロコンパイラマージクロージャ アセンブラバブルブールコメント 整列の前後を読め
例題 アクセサヒープクラスフラグ マクロコンパイラマージクロージャ アセンブラバブルブールコメント 整列の前後を読め ( ソート)
例題 アクセサヒープクラスフラグ マクロコンパイラマージクロージャ アセンブラバブルブールコメント 整列の前後を読め ( ソート)
例題 アクセサヒープクラスフラグ マクロコンパイラマージクロージャ アセンブラバブルブールコメント 整列の前後を読め ( ソート)
例題 アクセサヒープクラスフラグ マクロコンパイラマージクロージャ アセンブラバブルブールコメント 整列の前後を読め ( ソート) 答え:さくらクラブ
「謎解きを作る」という謎解き
謎解きを作るという謎解き Q. 正しい⼊⼒のときだけ出⼒が得られるスクリプトを書け。 ただし、ファイルを⾒ただけでは⼊⼒も出⼒も わからないようにせよ。 また、1 スクリプトに対し正しい⼊⼒は数種類あり、 それぞれ別の出⼒を返すようにせよ。
謎解きを作るという謎解き $ cat key invalid $ ./run.sh error: invalid key
$ echo 'key1' > key $ ./run.sh これは正しいkey です $ echo 'key2' > key $ ./run.sh これは別の正しいkey です
謎解きを作るという謎解き #!/bin/sh cd `dirname $0` file=$(md5sum key | cut -c
1) openssl aes-256-cbc -d -in data/$f -pass file:key
謎解きを作るという謎解き
謎解きを作るという謎解き Q. 正しいkey を設定したはずなのに復号に失敗した。 なぜか。
謎解きを作るという謎解き Q. 正しいkey を設定したはずなのに復号に失敗した。 なぜか。 A. key の終端に改⾏が⼊っていた。 openssl ではpass
は最初の⾏しか使⽤しないが、 md5sum 値が変わって別の⼊⼒ファイルを⾒ていた。
謎解きを作るという謎解き #!/bin/sh cd `dirname $0` cat key | tr -d
'\n' > key file=$(md5sum key | cut -c 1) openssl aes-256-cbc -d -in data/$f -pass file:key
謎解きを作るという謎解き Q. ファイルを実⾏したらkey ファイルが空になった。 なぜか。
謎解きを作るという謎解き Q. ファイルを実⾏したらkey ファイルが空になった。 なぜか。 A. 出⼒ファイルは新規モードでオープンするので、 ⼊⼒が空になった。
謎解きを作るという謎解き #!/bin/sh cd `dirname $0` cat key | tr -d
'\n' > key2; mv ke file=$(md5sum key | cut -c 1) openssl aes-256-cbc -d -in data/$f -pass file:key
謎解きを作るという謎解き 他にも⾊々ありましたが、時間がないので割愛…
まとめ 作ったので遊んでみてね! 謎を解くのも楽しいけど、謎を作るのも楽しい ただしシェルスクリプトはつらい 新しい謎解きゲームも考えていきたい 協⼒者募集!( 制作とかテストプレイヤーとか) https://github.com/kokuyouwind/escape-from-the-repository