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
150
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
人間の目はかわらない、でも、発表の届き方はかわる
yuzneri
0
79
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
テーブルをDELETEした
yuzneri
0
160
昔つくったIoTデバイス
yuzneri
0
99
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
380
色を視る
yuzneri
0
560
即売会で使える業務用決算端末
yuzneri
0
110
コードの外側に惹かれた
yuzneri
0
96
ぼくの開発環境2026
yuzneri
1
500
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
470
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
120
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.5k
React本体のコードリーディング
high_g_engineer
1
160
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.8k
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
210
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
580
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
47
30k
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
350
Dockerfile CMD for Node.js
grazie1999
0
160
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
140
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
430
Practical Orchestrator
shlominoach
191
12k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
510
RailsConf 2023
tenderlove
30
1.5k
WCS-LA-2024
lcolladotor
0
810
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
510
Why Our Code Smells
bkeepers
PRO
340
58k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
67
57k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
660
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 •コンピューターは乱数を作るのが苦⼿ •乱数はシードを元に⼀定の計算でできている •ゲームだと乱数に再現性を持たせられる •設計によっては偏る •偏りを逆⼿に取ったゲームもあるので奥が深い