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
79
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
昔つくったIoTデバイス
yuzneri
0
36
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
270
色を視る
yuzneri
0
460
即売会で使える業務用決算端末
yuzneri
0
67
コードの外側に惹かれた
yuzneri
0
74
ぼくの開発環境2026
yuzneri
1
410
2025年アウトプット振り返り
yuzneri
0
54
E2Eテストで開発を止めないためのPlaywright高速化
yuzneri
0
390
努力の方向を変えれば結果は変わる(画像削除済)
yuzneri
2
150
Other Decks in Programming
See All in Programming
どこまでゆるくて許されるのか
tk3fftk
0
300
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.7k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
780
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
210
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
act1-costs.pdf
sumedhbala
0
160
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
660
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.7k
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
600
Featured
See All Featured
Abbi's Birthday
coloredviolet
3
8.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
A designer walks into a library…
pauljervisheath
211
24k
Accessibility Awareness
sabderemane
1
150
4 Signs Your Business is Dying
shpigford
187
22k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
ラッコキーワード サービス紹介資料
rakko
1
3.8M
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
380
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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 •コンピューターは乱数を作るのが苦⼿ •乱数はシードを元に⼀定の計算でできている •ゲームだと乱数に再現性を持たせられる •設計によっては偏る •偏りを逆⼿に取ったゲームもあるので奥が深い