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
DOOMに関するあれこれ
Search
NV
August 29, 2018
0
470
DOOMに関するあれこれ
@レトロゲーム勉強会#02
NV
August 29, 2018
Tweet
Share
More Decks by NV
See All by NV
ゲームのボツデータを見てみよう
nvsofts
1
490
eMMCの話
nvsofts
2
2.1k
%sの話
nvsofts
1
1.3k
よくあるバックドアの話(公開版)
nvsofts
2
530
IoTハックに使える買って良かったと思うもの
nvsofts
0
2.1k
BLEな()おもちゃを調べてみる
nvsofts
3
1.3k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.4k
Six Lessons from altMBA
skipperchong
27
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Rails Girls Zürich Keynote
gr2m
94
13k
Optimising Largest Contentful Paint
csswizardry
33
3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Code Reviewing Like a Champion
maltzj
520
39k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Scaling GitHub
holman
458
140k
Become a Pro
speakerdeck
PRO
26
5k
Transcript
DOOMに関するあれこれ NV (@nvsofts)
自己紹介 名前:NV ◦ Twitterとか: @nvsofts 普段はIoTとか自動車のセキュリティやってるマンです 某氏のFCゲーをディスクカードとカセットに焼いた人です(これ分かるのか?) この勉強会では珍しい(??)20代です
今回はこれの話 要約すると、ショットガン片手にデーモンを退治しながらゴールを目指すFPS
レトロ?
レトロ? 人によってはそう思うかもしれませんが、以下の理由で含めています ◦ 某CXではPS1世代が解禁されている ◦ 末期の頃の作品とはいえ一応DOSゲーだし・・・
「DOOM」の範囲 基本的にDOOMエンジンことid Tech 1を採用している以下のタイトルが基準 ◦ (The Ultimate) DOOM (doom1.wad, doom.wad)
◦ DOOM II: Hell On Earth (doom2.wad) ◦ Final DOOM ◦ TNT: Evilution (tnt.wad) ◦ The Plutonia Experiment (plutonia.wad)
今回話す内容 ◦ 真の3Dではない現実 ◦ マップの構成要素とTag 666 ◦ 自分自身の分身について
今回話す内容 ◦ 真の3Dではない現実 ◦ マップの構成要素とTag 666 ◦ 自分自身の分身について
そんなこと言われても・・・ え?3Dじゃん!
マップデータを見ると 真っ平ら! ◦ SLADEというエディタで見ています http://slade.mancubus.net/
実は疑似3D マップは2D+高さ情報、アイテムやモンスターは2Dでの管理 ◦ 「高さ情報のある迷路」という表現が合っているか? それ故に、2階建ての建物等は作れない ◦ この制限は拡張エンジンによっては無くなっている(ZDOOM系エンジン等) 銃弾も高さ方向だけはオートエイム ◦ これも、拡張エンジンによっては設定で自由に撃てるようにできる
今回話す内容 ◦ 真の3Dではない現実 ◦ マップの構成要素とTag 666 ◦ 自分自身の分身について
マップの主要な構成要素 Verticle ◦ 頂点 Linedef ◦ 線、アクションを設定できる Sector ◦ 空間、Linedefによるアクションの対象は基本これ
Thing ◦ プレイヤー、アイテム、またモンスターなどのオブジェクト類
Linedefによるアクションの例 特定のSectorを上げたり下げたりする ◦ リフト等で利用 横切った際にテレポート マップの出口スイッチ など
Tagって? Tagは、Sectorに任意に付けることのできる番号 ◦ Tagは一意ではない場合もある(違うSectorに同じTagが付いている場合がある) Linedefによるアクションの対象は、Tagによって指定される ◦ 指定されたTagを持つすべてのSectorがアクションの対象となる
特殊なアクション(Tag 666) Linedefでは起こすことのできない、特殊なアクションが存在する 以下に示すマップで対象モンスターをすべて倒すと、対象Tagの付いたSectorに 対してアクションが発生するようにハードコード(!)されている タイトル マップ 対象モンスター 対象Tag アクション
DOOM E1M8 Baron of Hell 666 床を下げる DOOM E4M6 Cyberdemon 666 ドアを開く DOOM E4M8 Spider Mastermind 666 床を下げる DOOM II MAP07 Mancubus 666 床を下げる DOOM II MAP07 Arachnotron 667 床を上げる DOOM II MAP32 Commander Keen 666 ドアを開く
今回話す内容 ◦ 真の3Dではない現実 ◦ マップの構成要素とTag 666 ◦ 自分自身の分身について
自分自身の分身って? 要するにこういうことです
いわゆるVoodoo Doll DOOMでは、同じプレイヤーの開始位置を表すThingを複数置くことができる その中で、一番若いThing Indexを持つ位置からスタートし、他のThingはプレイ ヤー自身として配置される ◦ DOOM界では「Voodoo Doll」なんて呼ばれています(まんまですね) ◦
当然、弾を当てたりすればプレイヤー自身にダメージが入ります Voodoo Doll上にテレポートすると即死!(自分自身をテレフラグするため) ◦ これを使った仕掛けがFinal DOOMのマップにある(TNT: EvilutionのMAP30)
参考ページ DOOM Wiki http://doom.wikia.com/wiki/Entryway DOOM Builder 2 おおまかなマニュアル http://db2jpmanual.web.fc2.com/