メインコンテンツへスキップ

SQLを学びながら犯罪を解決!?新感覚ゲーム『SQL Noir』の魅力とは!

·2 分
2025/02 SQL プログラミング ゲーム 学習 テクノロジー

SQLを学びながら犯罪を解決!?新感覚ゲーム『SQL Noir』の魅力とは!

引用元:https://news.ycombinator.com/item?id=43041827

RvdV 2025-02-14T08:58:58

めっちゃ楽しい!いくつか思いついたアイデアもあるよ:
>”submit”ボックスは最初のケースで名前か容疑者IDのどっちが必要か分かりにくいかも。
それと、出力に”メモにコピー”ボタンがあったら便利だと思う。
関数やこのダイアレクトについてのドキュメントもあったらいいな。小さいプロジェクトを通じて学べるのがすごく価値あると思う!

caro_kann 2025-02-14T11:09:34

>”submit”ボックスは最初のケースで名前か容疑者IDのどっちが必要か分かりにくいかも。
これは一般的に実装されてると思うけど、’Objectives’セクションに何を提出するかは書いてあるよ。ユーザーとしては、容疑者の名前を求めてるんだと思ったよ、だって探偵ゲームなんだから。

worble 2025-02-13T23:43:29

めっちゃ楽しいね!一つだけ、SQLiteデータベースを自分でダウンロードできる機能があると嬉しいかな。自分の好きなアプリでクエリを実行して、サイトはブリーフィングやメモ、提出用に使いたい。
それと、SQLを学ぶためのツールとしてはもっとガイドを期待してたかも。具体的な例がないと、SQL知らない人はちょっと迷っちゃうと思う。

laowantong 2025-02-14T08:08:32

あまり選択肢がない分野に良い追加になったね:SQL Island(https://sql-island.informatik.uni-kl.de)やSQL Murder Mystery(https://mystery.knightlab.com)も思い出す。SQL Noirのメカニズムは後者に近い感じで、独立したアドベンチャーって感じだね。自分はSQLabっていうゲームエンジンを作ってて、自由に基盤を選んで演習を組み合わせて、構造的な独立した冒険を作れるよ:
https://github.com/laowantong/sqlab。データベースのダンプをダウンロードすれば、どの管理者インターフェースでも遊べるから、教師や研究者向けの原則もここで説明してるよ:
https://arxiv.org/abs/2410.16120

daluc 2025-02-14T13:27:16

素晴らしいプロジェクトだね!本当に賛成!ここで紹介されてる他の素晴らしいプロジェクトにも触れておくよ。自分はSQL Game Consoleを作ってて、SQL Game Editorも付いてるから、学生がブラウザで自分のSQL脱出ゲームを作れるよ:
https://eskuel.de。教室で試すのが楽しかった!今はドイツ語だけの提供だけど、例のゲームも見てみてね:
https://eskuel.de/zoo/

wbakst 2025-02-14T00:36:49

これ本当に好き!スタイルがユニークで素晴らしいし、SQLを学ぶためのとても楽しい方法が始まってる気がする。
一つのワークスペースにまとめて、タブの行き来をしないといけないのは困るな。前のSQLクエリや結果を保存できたらいいと思うし、メモにコピーしてたから、複雑になると重要だと思う。これからの展開が楽しみ!

chrisBHappy 2025-02-14T14:22:04

いいメモだね!サイドバイサイドで二つのタブを同時に見る機能を実装したから、これが助けになることを願ってる。他のユーザーが提案したようにクエリをメモに保存できるけど、エディター内でコメントアウトすることもできるからね。

wbakst 2025-02-14T18:27:12

アップデートが素晴らしい!サイドバイサイドとグラフビューが最高。シェアしてくれてありがとう!

dylan604 2025-02-14T05:24:38

「前のSQLクエリや結果を保存できるといいな。結果をメモにコピーしてたんだけど、複雑になると重要だと思う。」
まるで現場でメモを取りながら”ただの事実を”何度も言ってる自分を想像したよ。

wbakst 2025-02-14T05:29:58

その考え方、いいね!

fodkodrasz 2025-02-14T11:52:59

アイデアは良いけど、UIが没入感に欠けてるな。
もっと没入感を高めるためには、オートコンプリートやクエリと一緒にスキーマを表示できるといいと思う。
また、テーブルとカラム名を簡単にコピーできるボタンや、実行したクエリの下に追加できる機能も欲しい。

tiu 2025-02-14T13:46:34

全部に同意。オートコンプリートは隠れた機能か、デフォルトで無効にすべきだと思う。没入感を損なうし、思い出さなきゃいけないから。

chrisBHappy 2025-02-14T14:17:21

提案ありがとう!以下の機能を実装したよ:
サイドバイサイドビューで、2つのタブを同時に開けるようにした。
テーブル名をコピーできるボタンも追加した。

fodkodrasz 2025-02-14T17:31:37

いい仕事だね!有益なフィードバックができて嬉しいよ。頑張ってね、楽しい学習ツールだね!

jkubicek 2025-02-14T13:55:30

コードのブロックをコマンド-/でコメントアウトできる機能も超便利だと思う!

8mobile 2025-02-14T05:57:08

すごくいいアイデアだね!ケースを解決するのが楽しかったよ。ジュニアプログラマー向けに漫画版もあったらいいかも。

kaeruct 2025-02-14T05:33:41

エディタの挙動が変なときがある。
一度以下の手順を試してみて。
1. 数行書いた後、それぞれを”–”でコメントアウトしようとすると、奇妙な動きが見られるよ。

chrisBHappy 2025-02-14T14:25:27

その通り。今そのバグを修正したと思うよ。

doruk101 2025-02-13T23:41:53

大学の時、こういうSQLの練習用ミニゲームをやったな。すっごくハマった記憶がある。みんなにも紹介したい!

もっとコメントを表示(1)
chocks 2025-02-13T22:34:56

これ面白いね!二つの無料のミステリーを試してみたけど楽しかった。ただ、一つ言いたいのは、SQLエディタでコメント機能があったらいいなと思った。古いクエリをコメントアウトしておけば、同じクエリをまた実行する時に便利だと思う。良い内容だね!

chrisBHappy 2025-02-13T22:51:19

クエリの行に’–’を使ってコメントアウトできるはずだよ。もしできなかったら、それはバグだと思う。過去のクエリや発見を保存するためにNotesタブも使えるよ。

mymacmachine 2025-02-13T23:08:46

やあ!まずは素晴らしい作品だと思う。僕の大好きなゲーム、Chronicles of Crimeを思い出したよ。SQLでいろいろ探ろうとしたらどうなるか考えた。コメントについては’–’を使ってコメントアウトできるけど、二行以上なると一行にまとまっちゃうんだ。マルチラインコメントの’/’と’/’も使えるけど、もう少し苦労するね。

chrisBHappy 2025-02-13T23:13:28

ありがとう!いい提案だと思う。僕もそのことを完全に忘れてた。単一行コメントについては、確かにバグだね、直すつもりだよ。

pledg 2025-02-13T23:28:20

最初の行はうまくいくけど、二行目になるとマージしちゃうみたいだ。

chrisBHappy 2025-02-14T14:26:02

うん、これはバグだった。今修正したよ。

chrisBHappy 2025-02-13T22:48:18

名誉ある言及だね。実際これがSQL Noirを作るインスピレーションになった。

ryanianian 2025-02-13T22:33:05

すごく可愛いけど、タブの’Brief’、’Workspace’、’Schema’を並べて表示できるようにしてほしい。SQLは知ってるから遊びたかったけど、UXがちょっとフラストレーションだった。

__float 2025-02-14T00:29:24

これに同意!スキーマを覚えるのが移行時の大きな壁になってるよ。ランダムに探る時こそ、スキーマが見やすいと助かる。

SlackingOff123 2025-02-13T22:42:25

僕もそう思う。複数のクエリを同じウィンドウで実行できるといいな。例:
select * from crime_scene;
select * from suspects;

sgarland 2025-02-14T00:37:21

SELECT
cs.,
s.

FROM crime_scene cs
FULL JOIN
suspects s ON cs.id = s.id;

両テーブル間に関連はないけど、両方を表示できるよ。個別のカラムも指定できる。

chrisBHappy 2025-02-14T14:27:52

そうそう!デスクトップで二つのタブを並べて見れる“サイドバイサイド”ビューを実装したよ。

hinkley 2025-02-13T23:40:15

ブラウザの開発ツールを参考にしたらいいかも。大きい表示と小さいREPLを下に並べて、サイズ変更できる感じ。メニューも縦のスペースを取ってるし、グラフ表示もまだまだ完成度が低いと思う。グラフのパス処理が難しいし、最初のやつは左から右へ直線でつながってるだけ。これももう少し時間が必要かも。見栄えが悪いよりは何もない方がマシかな。

chrisBHappy 2025-02-14T14:29:00

実装したばかりで、デスクトップで見たらすごくいい感じだよ。コンパクトでホントいい。

c6p 2025-02-17T10:59:58

いい感じだね!新しいケースが楽しみ!ケース#004では、職業と告白で犯人は分かったけど、57番はランボルギーニに関して全然ヒントにならなかった。バグ?それとも見落としたのかな?

Factory 2025-02-14T03:30:47

ケース#4について:
select *
from phone_records
where
caller_id= 11 or recipient_id = 11
結果のヘッダーが messed up してる、Firefoxでは余分な’id’列がある。

yesthisiswes 2025-02-14T00:32:35

これ面白い!素晴らしい仕事だね!最初の課題をクリアしたよ。SQL Server Management Studioに慣れてるから、複数のクエリを同時に実行しようとしたけどできなかった。コメントをダブルダッシュで入れようとしたら、ほとんどのクエリがダッシュに置き換わった。iOSのモバイル版が影響してるかも。

chrisBHappy 2025-02-14T13:09:41

指摘ありがとう!単一行コメントを修正したよ。今はうまく動作するはず。

yesthisiswes 2025-02-14T14:21:41

素晴らしい、ありがとう!次の課題に挑戦してみるね。

deanebarker 2025-02-13T22:25:57

本当に素敵だ。みんなのためにこのアプリを作るために時間をかけてくれて嬉しいよ。

もっとコメントを表示(2)
haliskerbas 2025-02-13T23:50:04

すごく面白そうだね!自分でもやってみるよ。それから、データ探索で一行SQLを使ってみたんだけど、コメントの扱いがうまくいかないみたい。もっと良くならないかな?

mhuffman 2025-02-15T03:40:51

>select * from crime_scene, suspects
これはクロスジョインだよ。データベースではほとんど使っちゃダメ!各テーブルの組み合わせが全て出るから、CPUも疲れるし。INNER JOINSを使って関連するテーブルを探すのがオススメだよ。SQL Noirのサイトには具体的な手順もあるから、参考にしてみて。

scns 2025-02-14T10:00:55

楽しいね!これ作ってくれてありがとう!でも、自白を送信する機能が動かなかったのは困った。名前を聞くのが自然じゃない?

vojtechrichter 2025-02-16T08:17:14

めっちゃ楽しい!もっと複雑な捜査が待ち遠しい!

yoda97 2025-02-13T23:04:15

楽しかった!一つ質問なんだけど、選択したクエリだけを実行する方法ってないの?

Foofoobar12345 2025-02-14T05:00:35

素晴らしい仕事だね。チームの非技術者を育成するのに最適だよ。もっと楽しく学べることが増えたらいいのに。

Gazoche 2025-02-14T08:47:21

これ最高!SQLの練習用の演習を探してたんだ。探偵ゲームは大好きだからちょうどよかった!

RandomUser4976 2025-02-14T00:10:57

すごく楽しい!6歳、8歳、10歳、12歳の子供たちと一緒に遊ぶ予定だよ。作ってくれてありがとう!

chrisBHappy 2025-02-14T12:21:24

聞いてくれて嬉しいよ。お金のことは言いたくないけど、みんなが無料で学べることに価値があると思う。だから、支援したい人のために『Buy Me a Coffee』リンクを追加したよ。無理はしないでね!

rockfishroll 2025-02-14T00:38:20

全部解いたよ。ちょっとした指摘だけど、犯人はみんな自分の罪を認めるから、ほとんどの事件は告白テーブルを’%私はした%‘や’%殺す%‘みたいな文字列で検索すれば早く解けるよ。

chrisBHappy 2025-02-14T12:25:37

ハハ、それはチートコードだね!次の事件の答えを見えないように隠すか、特定の文字列を含む行をもっと追加しないといけないかも。

dylan604 2025-02-14T05:21:27

それって逆の方法じゃない?もう最後のページから始めるんじゃなくて、普通のやり方で解決しようとしてるってこと?
そうだね、逆に考えてるのかも!

wagslane 2025-02-14T02:08:15

ハハ、このデザインすごく魅力的!いい仕事してるね。教育にはこういう創造性がもっと必要だと思うな。AIがそこそこ情報を再現するより、もっとクリエイティブなアプローチがいいよ。

exabrial 2025-02-14T04:49:00

これは素晴らしい!何人かの同僚にも送ったよ。

gregorvand 2025-02-14T06:38:50

楽しいね!いい仕事だし、SQLに慣れていない人たちにもオススメできるよ。

normie3000 2025-02-15T18:40:39

Safariのロックダウンモードで使ってるよ。

jppope 2025-02-13T22:32:52

これめっちゃ楽しい!ありがとう、すぐにシェアするね。

vim-guru 2025-02-14T08:02:12

いいアイデアだね!

sgarland 2025-02-14T00:57:06

すごくいいね、作ってくれてありがとう。

dylan604 2025-02-14T05:12:46

テーブル名が、crime_scene、witnesses、interviews、suspectsで、一つだけおかしいのがあるよね。テーブル名は複数形でまとめたほうがいいって言われるけど、一般的じゃないし、スタイルの問題かな?例えばタブとスペースみたいにさ。でも、これ遊ぶのは楽しいよね。現代の警察がこれを使えたら、ヒントをつなげるのに助かるのに。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。