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
kokuyouwind
April 11, 2016
Programming
0
31
脱出ゲームのすゝめ
脱出ゲームを作ったので、それをPRするLTスライドです。
https://github.com/kokuyouwind/escape-from-the-repository
kokuyouwind
April 11, 2016
Tweet
Share
More Decks by kokuyouwind
See All by kokuyouwind
APMをちゃんと使おうとしたら、いつのまにか独自gemを作っていた話
kokuyouwind
0
410
RBS meets LLMs - Type inference using LLM
kokuyouwind
0
580
オンラインボードゲームを作りたい人生だった
kokuyouwind
0
260
1年間本番運用してわかった、スタートアップこそAWS Copilot CLIを使うべきNつの理由
kokuyouwind
2
9.7k
なるべく楽したいAWSセキュリティ
kokuyouwind
1
32
Railsパフォーマンス・チューニング入門
kokuyouwind
0
170
Rubyパターンマッチに闇の力が備わり最強に見える
kokuyouwind
0
46
Slackワークフロー活用術
kokuyouwind
0
54
10分で作る勉強会アプリ
kokuyouwind
0
29
Other Decks in Programming
See All in Programming
入門 AWS Amplify Gen2 / Introduction to AWS Amplify Gen2
genkiogasawara
1
330
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
120
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
Git Lint
bkuhlmann
4
750
使ってみよう Azure AI Document Intelligence
kosmosebi
2
290
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
Ruby Function Composition
bkuhlmann
1
330
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
820
Ruby Pattern Matching
bkuhlmann
0
920
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1025
450k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Code Reviewing Like a Champion
maltzj
514
39k
Rails Girls Zürich Keynote
gr2m
91
13k
Optimizing for Happiness
mojombo
370
69k
How to Ace a Technical Interview
jacobian
272
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Agile that works and the tools we love
rasmusluckow
325
20k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Git: the NoSQL Database
bkeepers
PRO
422
63k
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