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
yuzneri
April 23, 2026
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ゲームと乱数
2026/04/23
レトロゲームから得た学びの発表 #06
yuzneri
April 23, 2026
More Decks by yuzneri
See All by yuzneri
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
テーブルをDELETEした
yuzneri
0
130
昔つくったIoTデバイス
yuzneri
0
89
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
350
色を視る
yuzneri
0
530
即売会で使える業務用決算端末
yuzneri
0
99
コードの外側に惹かれた
yuzneri
0
91
ぼくの開発環境2026
yuzneri
1
480
2025年アウトプット振り返り
yuzneri
0
77
Other Decks in Programming
See All in Programming
React本体のコードリーディング
high_g_engineer
1
130
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
1
120
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
670
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
4
1.3k
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
170
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
450
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
200
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
550
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
Foundation Models frameworkで画像分析
ryodeveloper
1
540
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
Featured
See All Featured
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How STYLIGHT went responsive
nonsquared
100
6.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Discover your Explorer Soul
emna__ayadi
2
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Prompt Engineering for Job Search
mfonobong
0
400
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The agentic SEO stack - context over prompts
schlessera
0
860
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Transcript
撮影OK、𝕏投稿OK ゆずねり@yuzneri ゲームと乱数 2026/04/23 レトロゲームから得た学びの発表 #06
ゆずねり@yuzneri •おもにバックエンドエンジニア •技術系の同⼈誌や商業誌の執筆 •ドールと暮らしてます 2026/04/23 2 𝕏
ゲームと乱数 2026/04/23 3 •コンピュータは計算は得意 •コンピュータはランダムな処理は苦⼿ •どうやって乱数を取得するのか
レトロゲームでよく使われていた⽅法 2026/04/23 4 •Rレジスタ •線形帰還シフトレジスタ(LFSR) •線形合同法(LCG) •テーブル参照法
ハードウェアの値を使う 2026/04/23 5 •メモリやCPUレジスタの値を取得する •取得したときに予測不可能であることが多い •プレイヤーは知りようがない値
擬似乱数 2026/04/23 6 •⼀定の計算ルールに則って⽣成する •初期値としてシードが必要 •シードが同じなら、同じ乱数列になる
最古の擬似乱数 2026/04/23 7 •2乗した値の真ん中を採⽤する •シード:88 •88^2=7744→74 •74^2=5476→47 •47^2=2209→20
UUIDv4 2026/04/23 8 •こんなやつ •5b974d28-b544-42ee-b6c1-37d88b044878 •約10^38=5.3澗個 •ほぼ衝突しないといわれている •本当に?
UUIDv4はまれによくぶつかる 2026/04/23 9 •擬似乱数はシードが同じだと同じ結果になる •シードの決め⽅や使う乱数によってはよくぶつ かる •ちゃんとしたライブラリを使いましょう
まとめ 2026/04/23 10 •コンピューターは乱数を作るのが苦⼿ •乱数はシードを元に⼀定の計算でできている •ゲームだと乱数に再現性を持たせられる •設計によっては偏る •偏りを逆⼿に取ったゲームもあるので奥が深い