Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ゲームと乱数
Search
yuzneri
April 23, 2026
Programming
170
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
10秒ずつ届く推し
yuzneri
0
53
かわいい娘
yuzneri
0
69
人間の目はかわらない、でも、発表の届き方はかわる
yuzneri
0
90
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
20k
テーブルをDELETEした
yuzneri
0
200
昔つくったIoTデバイス
yuzneri
0
110
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
390
色を視る
yuzneri
0
590
即売会で使える業務用決算端末
yuzneri
0
110
Other Decks in Programming
See All in Programming
FreeBSDでZabbixを動かす
kenkino
0
310
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
5
3.5k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
180
The Rails Doctrine Decade
koic
2
170
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
180
速習iPhone Duo対応
yuukiw00w
1
660
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
480
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
7.6k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
210
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
230
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
Featured
See All Featured
For a Future-Friendly Web
brad_frost
183
10k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Deep Space Network (abreviated)
tonyrice
0
310
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
990
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
GitHub's CSS Performance
jonrohan
1033
470k
Darren the Foodie - Storyboard
khoart
PRO
4
3.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
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 •コンピューターは乱数を作るのが苦⼿ •乱数はシードを元に⼀定の計算でできている •ゲームだと乱数に再現性を持たせられる •設計によっては偏る •偏りを逆⼿に取ったゲームもあるので奥が深い