シロウトが始めるカスタムマップ

英語力0の俺が英語バージョンのhammerを使ってカスタムマップを作る様を笑ってやってください。

少し前のことですが

2008年02月13日 | ゲームプレイ
今までずーっとWEBの仕事をやっていて何度かブログを書いていたことがあるがここまで書き続けているブログは珍しい。いつも5つも書けば終わっていたがw

ゲームプレイのカテゴリはあるが実際に1つも無いので書いておこうと思い、SCフォルダを覗いてみた。マップ作成したときのまじめな画像にまぎれて、あほな画像が何個かw

とりあえず、2つピックアップしてみました。

アホなことをやりたがるマップとしてMARIOKARTがありますね。俺も暇なとき結構遊びに行ってて、HS食らいながらもヘビーでスナイパーを追っかけまわすのが日課になってたことのSCです。

外人が多くて、あんまりVCもやってなかったんだけど、その日は日本人が多くて
VCもにぎわっていました。ステージを占領した俺たちはヘビーを一人残してeng only チャットが
早速俺もENGになり、ステージに建築。この後一人のSPYによって全滅してしまいましたとさ。
その後4人のメディックで敵ヘビーを囲んだり、ENGタワーを作ったり
マリオカートはマップ自体より集まってくる乗りのいい人が楽しいね。
俺も早く遊園地マップを作りたいところだけど、1vs1DOMEを拡張が先になりそうかな。昨日2ch鯖で1vs1を回していたところ、誰も入らない。
俺が入ってのんびりまったり待っていたら外人さん一人ご来鯖。早速1vs1で遊んでいたらモルダウさん登場。なぜか調子のよかった1vs1。1発目でクリティカルが出まくり速攻終わることが多かったけど、やっぱり1vs1は楽しいな。
先読み合いが熱い。
遊んでるとくるもんだね。次から次に鯖に入ってくる人。でも、マップサイズが大きいからなかなか入らない。ここでモルダウさんから提案。待っている間暇。4つくらいステージできませんか?前々から言われていたことだけど、観戦してるのが暇な人もいるだろうから、ステージを増やすことになりました。
実はこのマップステージがもう一つ隠されていて、奥に広めのステージがあるのでそこを第二ステージにしてみようかなと。
2ステージほどあれば待ち時間も少なくてすむんじゃないかな?
後ここで人数集まったらmapvoteで俺作のアホマップでも回してもらいたいところだ。最近作っているマップは比較的人数少なくても遊べるのが多くなってきたしね。

そしてブラシワークだけで作ったRED THUNDER MOUNTAIN

2008年02月13日 | 素人のマッピング日記
ブラシワークを覚えた俺は調子に乗って一気に RED THUNDER MOUNTAIN を作っていきました。このころは覚えたてでサルのようにやっていました。
上のSCは初期のRED THUNDER MOUNTAIN 今の1CPの場所にリスポン地点があり
ラウンド制ではなく、3つのCPを取るタイプだった。

とにかくマップを作るのが楽しい。

自分のイメージが形になっていく。そして形作られていく山
最初はもちろん電車なんか走っていません。エンティティって何?
ブラシでどんどん形作っていけばいいんだな。
ブラシもカットして複雑な形にしちゃえ。
岩に見えるじゃない。

と作っていった山。巨大なマップが出来ていった。
もちろんこのころはド素人。ディティールエンティティなぞ知らないし
リーフの分け方も知らない。(ここら辺は普通の人はわかんなくて当然)

CPも何とか設置が出来て、扉も出来た。電車も走らせた。
遊んでみる。重い。とてつもなく重い。遊べないことは無いが、だるい。
それよりなにより、コンパイルにえらい時間がかかるようになってきた。
最初のころは1分ほどで終わっていたコンパイルも完成間近になって
1時間オーバー(高速コンパイルを使っても)ノーマルコンパイルに至っては
1日置いてもコンパイルできていない。

なぜなぜ?わからない。ここらへんでみんなも一度はつまずく。

最初のつまずきだ。

公式のマップを見るとサイズが25MBオーバー
自分のマップはせいぜい15MB。そんなに大きくは無い。
わからない。公式のマップを逆コンパイルしたVMFを見てみるが理由がわからない。
だが、公式のマップにはなぜか邪魔なHINTの文字が書いた面が大量に存在している。
ここらへんが怪しいと思った俺は、WEBを調べまくった。どうもリーフというのが
関係してくるようだ。リーフ分割をうまくしないとコンパイルに時間がかかるようだ。

早速HINTブラシを公式のように置きまくった。公式マップでは至る所にHINTブラシが置いてある。このHINTブラシというのは、ここでマップの切れ目ですよというヒントをマップに与えてやることだ。ここで切れるのでここから先のマップを書く必要があるか判断する。という意味合いらしい。(正確ではないがこんなもんだ)
うまい具合に分けられればいいが、そこらへんは経験なのか?
ある程度は自動でコンパイルの時に分けてくれるが、うまく調整するとコンパイル時間が大幅に改善されるらしい。

さて俺もこの情報を元にHINTブラシを置いてみた。あんまり変わらない。
このHINTブラシで悪戦苦闘している間、約1ヶ月。コンパイルしては試して
作ってコンパイルして。手探りで作っていた。

このころ、コンパイルに1日余裕でかかっていたので、事務所のPCでコンパイルさせていた。家で作り、仕事の合間に、調整して、コンパイルする。

ここで問題。俺がTF2を遊べない。

事務所のPCでコンパイルさせている。俺は家に帰って何をする?
つまらない。2142でもやるか。でもTF2やりたい。

結局増やしちゃいましたよ。アカウント。ここでnatto-solのアカウントを購入。
ついでにGMODも付けちゃいました。俺がなぜアカウントを二つ持っているかは
このような理由があるからです。最近は事務所のPCと家のPCで完全に分けています。

さて、アカウントを増やして遊べるのはいいが、ぜんぜん速度は改善されない。
マップはどんどん拡張されていく。どうしたらいいのか?
ここでもう一度C-SECを見直してみる。ここでワールドブラシの可視性が出てくる。

そういえば俺はほとんどブラシだけで作っていたがこれがいけなかったようだ。
ワールドブラシというのはそこでリーフ(分割したエリア)を分けているのだが
ここでコンパイルの時すべて計算して、分けているのだ。
ということは俺がすべてブラシで作っていたのを計算して分割していたようだ。
これは時間がかかっても仕方ない。公式のマップを再度見てみると大まかなところはブラシを使って分けているが、細かい柱や飾りなどのブラシはディティールブラシというのを使っているようだ。というか普通のブラシを使ってるところが逆に少ない。ほとんどディティールブラシを使っている。

簡単に図にすると
■ブラシ(ここから先ワールドブラシ)
●ディティールブラシ

今まではすべてワールドブラシで作っていたので
■■■■■■■■■■■■■■■■■■■■■
■□□□■□□□□■□□■□□□■□□■□
■□□□■□□□□■□□■□□□□□□■□
■□□□■□□□□□□□□□□□■□□■□
■■■■■■■■■■■■■■■■■■■■■
のようなマップだと大まかに分けて5つに分けられていた。

■■■■■■■■■■■■■■■■■■■■■
■□□□■□□□□■□□■□□□■□□■□
■□1□■□2□□■3□■□4□□□5■□
■□□□■□□□□□□□7□□□■□□■□
■■■■■■■■■■■■■■■■■■■■■
厳密に言うと7の場所なども分けられていた。
1の部屋から5の方を見ると2,3,4,5をすべて計算して見えるか見えないか
判断して書いていたので時間がかかっていた。

だけど、下のように壁をすべてディティールにしてしまえば
■■■■■■■■■■■■■■■■■■■■■
■□□□●□□□□●□□●□□□●□□■□
■□□□●□□□□●□□●□□□□□□■□
■□□□●□□□□□□□□□□□●□□■□
■■■■■■■■■■■■■■■■■■■■■
広くなるが一つの部屋として書ける。なのでコンパイルも単純になり早くなる。
広くなった分書くところが多くなるが、その分可視性のことを考えてマップを造ればいい。
可視性とはこのディティールではなくワールドブラシがその先を書かなくてもいいところとしてくれることだ。
ワールドブラシの先は物があってもそれは書かなくてもいいということはわかっているので書かない。これがディティールブラシだと物があれば書いてその前にディティールブラシで上書きするのだ。

ここら辺はわかりにくいかもしれないけど、3Dマップ作るうえで大事なことだと思うので、ダラダラ長いけど書いておきました。
どうしても日本語テキストが少ないマッピング環境ではいろいろ試してみないと
わからないと思います。俺の仕事がデザイン関係で比較的自由に時間が取れるので
ゆっくりじっくり覚えていったのだが、普通の人ではなかなかじっくり調べることが出来ないと思う。なので、ここは俺がブログという形ではあるが、先に進んだ足跡を残しておくべきだと思って、この日記を書いています。

マッピングに興味の無い人にはまったく意味が無いし、逆にマッピングが詳しい人には突っ込みどころが満載だと思いますが、まったくの素人がどうやって覚えていったかをこの後マッピングする人の手がかりにでもなればうれしいな。

あんなこんなで、RED THUNDER MOUNTAIN が出来ていったのです。
そして、ついにFPSBANANAデビュー。