Submit Search
Upload
特にオチのないゲームの小ネタ
•
0 likes
•
832 views
S
S_Shimotori
Follow
10月の #w8lt の内容
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
コールバックと戦う話
コールバックと戦う話
torisoup
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
第170回バンフーセミナー Illustrator・Photoshop・InDesignデータ駆動グラフィックの基本
第170回バンフーセミナー Illustrator・Photoshop・InDesignデータ駆動グラフィックの基本
swwwitch inc.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
デレステの劇場で登場したアイドルの回数の統計取ってます
デレステの劇場で登場したアイドルの回数の統計取ってます
Hiro H.
でも、機械学習って お難しいんでしょ?
でも、機械学習って お難しいんでしょ?
Shengbo Xu
人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータ
haru2036
ぃぬ速@LKML
ぃぬ速@LKML
Hiromu Yakura
Recommended
コールバックと戦う話
コールバックと戦う話
torisoup
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
第170回バンフーセミナー Illustrator・Photoshop・InDesignデータ駆動グラフィックの基本
第170回バンフーセミナー Illustrator・Photoshop・InDesignデータ駆動グラフィックの基本
swwwitch inc.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
デレステの劇場で登場したアイドルの回数の統計取ってます
デレステの劇場で登場したアイドルの回数の統計取ってます
Hiro H.
でも、機械学習って お難しいんでしょ?
でも、機械学習って お難しいんでしょ?
Shengbo Xu
人が神姫ん感(原文ママ)を感じるコンピュータ
人が神姫ん感(原文ママ)を感じるコンピュータ
haru2036
ぃぬ速@LKML
ぃぬ速@LKML
Hiromu Yakura
Vizitaţi şcoala noastră
Vizitaţi şcoala noastră
bartunek
طلعت حرب باشا
طلعت حرب باشا
Cairo Chamber of Commerce - الغرفة التجارية للقاهرة
Pavasaris
Pavasaris
Nautrēnu pag.bibl.
swipe file
swipe file
Robert Stanley
Making strategy a reality jwilliamson
Making strategy a reality jwilliamson
Jane Williamson
Group3-ps number 9
Group3-ps number 9
5CHEBGroup3
Dealing with store the objectstore
Dealing with store the objectstore
Anirban Sen Chowdhary
Using jersey exception mapper
Using jersey exception mapper
Anirban Sen Chowdhary
Calling flow from another application
Calling flow from another application
Anirban Sen Chowdhary
More Related Content
Viewers also liked
Vizitaţi şcoala noastră
Vizitaţi şcoala noastră
bartunek
طلعت حرب باشا
طلعت حرب باشا
Cairo Chamber of Commerce - الغرفة التجارية للقاهرة
Pavasaris
Pavasaris
Nautrēnu pag.bibl.
swipe file
swipe file
Robert Stanley
Making strategy a reality jwilliamson
Making strategy a reality jwilliamson
Jane Williamson
Group3-ps number 9
Group3-ps number 9
5CHEBGroup3
Dealing with store the objectstore
Dealing with store the objectstore
Anirban Sen Chowdhary
Using jersey exception mapper
Using jersey exception mapper
Anirban Sen Chowdhary
Calling flow from another application
Calling flow from another application
Anirban Sen Chowdhary
Viewers also liked
(9)
Vizitaţi şcoala noastră
Vizitaţi şcoala noastră
طلعت حرب باشا
طلعت حرب باشا
Pavasaris
Pavasaris
swipe file
swipe file
Making strategy a reality jwilliamson
Making strategy a reality jwilliamson
Group3-ps number 9
Group3-ps number 9
Dealing with store the objectstore
Dealing with store the objectstore
Using jersey exception mapper
Using jersey exception mapper
Calling flow from another application
Calling flow from another application
特にオチのないゲームの小ネタ
1.
10月のLT 🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣🍣
2.
自己紹介 2 • @S_Shimotori • 最近学習意欲と勤労意欲がない •
研究室変えて大丈夫かなあ • 某某某某某で得た金は自転車に溶かした • 身長150cmが乗れる自転車のモデルは1シリーズ しかなかったのでかなしかったです。 • 3月インターンどこ
3.
今日の話 3 特にオチのない ゲームの小ネタ
4.
アジェンだ 4 • マップの自動生成(けっこう有名) • FFのデータ参照バグ(知る人ぞ知る) •
厨二病な名前のライブラリ(ふーん) • 自然に見える疑似乱数列の生成法(へー) • ゲームを動かす数学・物理(あっそう)
5.
ゲームの小ネタ[1] 5 マップの自動生成
6.
昔のゲームの特徴 6 • 入れられるデータ量には限度がある • スーファミで50MB弱……らしい •
今は10GBとかがある……らしい • データ圧縮のために苦心していた時代がある • エスコン3はディスク枚数を減らすためデータの配 置を最適化したら読み込み時間がほぼ0になった • 何を言っているのかわからない
7.
データ削減例:マップ自動生成 7 • ドルアーガの塔 • 舞台は60階建ての塔、60階分のマップデータを入れ るのはしんどい •
マップを自動生成すればいいんじゃね!? • 結果マップデータは60バイト未満らしい
8.
マップ自動生成の原理 8 • 基本は柱(17本*8本くらい)だけのマップ • 線形帰還シフトレジスタにより乱数を発生、柱から壁を生 やす •
線形帰還シフトレジスタは発生する乱数の値が初期シー ドで決まり、0または1を返す • ドルアーガの塔では「前の乱数値+新しい乱数値」で 00∼11の4種の乱数を発生させていた • ある柱に対して00だったらその柱から上に壁を伸ば す、とか
9.
Before 9 出典:http://yasu9780.hatenablog.com/entry/ 2015/06/17/222234
10.
After 10 出典:http://d.hatena.ne.jp/yaneurao/20130125
11.
うまくマップ自動生成する 11 • 線形帰還シフトレジスタは特定のシードを与えると同 じ値を返し続けるという性質がある • シードが255だと1を生成し続ける •
「11だったら柱から左に壁を伸ばす」と設定
12.
最上階マップはこちら 12 • 最上階のみシード値を255とする
13.
ゲームの小ネタ[2] 13 データ参照バグ
14.
データ参照バグ 14 • ゲームにはいろいろなデータが保存されている • 古いゲームはガバガバなので、特定の動作を取ると すぐ目的外のデータを読んで意味不な動作をする •
ポケモンの「セレクトBBバグ」も違うところを 読み書きしたばっかりにバグっている • 省略
15.
FF4の64階層バグ(1/3) 15 • FF4(SFC版) • 世界を旅したり途中建物に入ったりする •
ワールドマップでは階層が「0」 • 建物に入る(「行き」)と階層+1 • 建物から出る(「帰る」)は階層-1 • 「行き」の階段に入ると+1、「帰り」なら-1 • 「帰る」ときは「行き」の履歴を見ることで正しくマッ プ遷移をして元のマップに戻れる
16.
FF4の64階層バグ(2/3) 16 • とある建物では「行き」の階段ばかりが配置されてい て階層の値をインクリメントしまくることができる • 階層63の次は階層0になる(ダメ) •
63から0にしたあと階層を-1すると階層がマイナス になる • 階層がマイナスになる移動をすると、マップ遷移の 処理のとき違うところを参照するので、結果バグる • 詳細→sm18279717
17.
FF4の64階層バグ(3/3) 17 • バグ発生時に誤って読んでしまう領域の例 • 飛空
とチョコボ(主人公御一行の乗り物)を 駐車している座標 • 各種コンフィグの値(枠の色RGBとか) • 各キャラの技の並び • 所持金 • 事前にこれらを特定の値に設定しておくことで、いい 感じのバグを引き起こすことができる
18.
64階層バグの有効活用(1/2) 18 • 特定のマップにワープ • 前述の項目をいい感じに設定してマップ遷移を起こ すことで、好きなところに行ける •
特定の技を習得 • 敵の技すら覚える • 敵の技には、「あらゆる耐性を無視して(主人公に とっての)敵を全滅させる」技がある
19.
64階層バグの有効活用(2/2) 19 • 「凶悪な技をひっさげて」「ラスボスのいるマップへ ワープ」することにより、素早くゲームクリアする • TASのルールでは実機で再現できるものならバグを 使ってもいいのでこのバグを利用する •
バグを自重しないTASさんがFF4を1:42:03で クリア【超更新】Part 1(sm22838224)
20.
ゲームの小ネタ[3] 20 厨二病な名前のライブラリ
21.
厨二病 21 • qiita.com/shibukawa/items/95130b2dec50301c66fe • http://mithril.js.org/ •
http://elixir-lang.org/ • http://ethna.jp/doc/ • http://www.goblinphysics.com/ • https://odinge.codeplex.com/ • http://www.firerift.com/support/docs/titan/ • https://code.google.com/p/bahamut-engine/ • https://github.com/jdangerx/Cockatrice
22.
ゲームの小ネタ[4] 22 (プレイヤーにとって) 自然に見える擬似乱数列
23.
自然な擬似乱数列 23 • 数学的に自然な擬似乱数列とプレイヤーが見て自然な 擬似乱数列は違う……という論文 「標準的なゲームプレイヤにとって自然に見える疑似 乱数列の生成法」 • 情報処理学会にゲームプログラミングワークショッ プがあるということを初めて知りました! •
まあワークショップだし具体的な成果は
24.
自然な擬似乱数列 24 • 数学的に自然な擬似乱数列 • 大きな目で見ればばらつきはないが、部分を見ると 「コインの表裏が連続する」「サイコロの出目が連 続する」時もある •
実際のプレイヤー • コイントス等の結果は連続しないという思い込み • ある事象が起きる確率の見積もり間違い • などなど
25.
ゲームの小ネタ[5] 25 ゲームを動かす数学・物理
26.
ゲームを動かす数学・物理 26 • 「ゲームを動かす数学・物理」という本がちょっと前 に話題になっていた • 立ち読みした •
高校数学だった • そっと本棚に戻した • 報告は以上です
27.
まとめ 27 • 昔の人は苦労してたんだなあ。すごいなあ。 • 今でも昔のゲームのバグが見つかっているらしい。 見つけてる人はきっと変態だ。 •
某FEの攻撃命中確率は表示よりも極端だぞ。マジで。
Download now