へっどしょっと先行者マップ製作講座



はじめに
へっどしょっと先行者は起動フォルダの下にあるMAPをBボタンで読み込むか、
mapcycle.txtで指定することでロードして遊ぶ事ができます。
そのためのマップの作り方とマップコンパイラについて説明します。

必要なファイルをそろえる
へっどしょっと先行者のマップ作りに必要なのは
QuArK
(FPS用の汎用MAPエディタ)

Python
(Python上記マップエディタが使っているスクリプト言語のランタイム)
ファイルプラネットから上手くダウンロードできない人はウチの掲示板にでも苦情ヨロシク

コレ
おいらのつくったマップコンパイラとサンプル


マップを作る前に
とりあえずサンプルが開けて、コンパイルできて、ロードできる事を確かめます。
1:QuarkにGround.mapを読ませてみる


Ground.mapはhss1面のマップデータです。


いろいろ怒られて3Dビューでは表示もされませんが、とりあえずロードできました。

2:マップコンパイラでマップをコンパイルしてみる。


マップコンパイラのボタンの説明
コンパイル:マップをコンパイルします。
BSPロード:コンパイルしたマップを表示できます。
ツリー表示:マップをコンパイルした後のみ表示でき、SBPのツリー情報が視覚的に見れます。(使っても意味無しw)
中止:中止します。
左にある数字は気にしなくてOK

今回はコンパイルでマップをコンパイルし、SaveEn.bspという謎のヘッドショット先行者専用マップファイルと、
Textre\LightMap\Light*.bmpというライトマップのBmpを作成します。

【ファイル構成】
  SaveEn.bsp
	|
	+-- Texture / 使用するテクスチャBMP
		|
		+-- LightMap / 自動的に生成されたライトマップのBMP(Light*.bmp)
実際のコンパイル画面
カーソルキーで動き回って部屋に入るとポリゴン表示されます
ついでにAボタンを押すと半透明表示されます

コンパイルが完了したので、コンパイラを×ボタンで終了します。

3:へっどしょっと先行者にロードしてみる

とりあえず出来たマップをフォルダごとヘッドショット先行者のMapフォルダにぶち込み、
ヘッドショット先行者を起動してBボタンでさっき出来たSaveEn.bspをロードします。
ここまでで動かなかった人は・・・掲示板によろしく。

いよいよマップの製作
へっどしょっと先行者はQuakeで開発されたアルゴリズムBSPとPVSを使って陰面処理/あたり判定を行います
そのため、製作するマップに幾つか制限事項があります。

1:マップは閉空間である必要がある。
3:あまり細かいとコンパイル不能になってしまう。
2:サポートしているのはプレイヤーのスタート地点とライトの位置のみ。

とまあこんな感じなんですが、最も重要で且つ訳がわからんのは1の「マップが閉空間である」
ってところでしょう。マップが閉空間というのはつまり、壁が外部に開いていない状態です
取り合えず図で説明すると

閉じている。

開いている。

といった感じです。
閉じてさえいればとりあえずコンパイルはできると思います。

まあそんな訳で作り方を順を追って説明します。
1:壁を作ってマップを作成します。(とりあえずBox.mapをコピーして改ざんすると楽かもしれません)
※たまに穴が空いてコンパイルできなくなってデバッグするのが大変なので
マップを作りながらちょくちょくコンパイルするほうがいいでしょう。
こんな感じに出来たとします

次にテクスチャを指定します

こんな感じ(テクスチャの名前はTextureフォルダ位下のビットマップファイルの名前を指定してください。)

最後にライトとプレイヤーのスタート地点を設置します。
こんな感じ(ライトは左上のアイコン、スタート地点はその上の青い四角の中の[PlayerStarts]>[info_player_start])
で呼び出せます。
これで完成なので、コンパイルしてhssに読み込ませて遊びます。
出来たマップをUPして対戦に使ったりしましょうw
もし要望があればUP板も設置したいと思います。
とりあえず作ったけど動かないとかエラーが出るって人は、掲示板に書き込むか、
作者に送りつけてデバックさせましょう。暇なら直します。