Zh/L4D2 Campaign Add-on Tutorial: Difference between revisions
No edit summary |
m (obsolete language category) |
||
(16 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title = L4D2自制战役打包教程}} | ||
| | {{l4D2 topicon|suf=:zh-cn}}{{source topicon|suf=:zh-cn}}{{ACategory|Left 4 Dead 2}}{{ACategory|Tutorials}} | ||
| | 本简体中文页面由 [[User:GlrWere|Gloria]] 汉化。 | ||
}} | |||
本简体中文页面由 [[User:GlrWere|Gloria]] | |||
{{toc-right}} | {{toc-right}} | ||
Line 18: | Line 16: | ||
== 安装开发工具 == | == 安装开发工具 == | ||
为了创作求生之路2的三方内容,你需要安装 | 为了创作求生之路2的三方内容,你需要安装{{L|Authoring Tools/SDK (Left 4 Dead 2)|求生之路2开发工具(Left 4 Dead 2 Authoring Tools)}}。它提供了用于创作游戏内容的各类程序与工具。一般来说,可以使用 {{L|Hammer}} 程序创建关卡,使用其它工具创建自定义{{L|textures|纹理}}与{{L|model|模型}}。 | ||
如何创建各类游戏资源不在这个教程的介绍范围之内。你可以进入 | 如何创建各类游戏资源不在这个教程的介绍范围之内。你可以进入{{L|L4D关卡制作基础教程}}找到相关的内容。介于这篇教程的重点在于讲解如何将所有地图内容打包到VPK中,因此当你开始学习这篇教程之前,应该已经熟悉了如何创建那些游戏内容。 | ||
开发工具附带了一个叫做 Dead Line 的战役示例,包含了各类源文件示例。 | 开发工具附带了一个叫做 Dead Line 的战役示例,包含了各类源文件示例。 | ||
Line 30: | Line 28: | ||
C:\Program Files\Steam\steamapps\common\left 4 dead 2\left4dead2\addons | C:\Program Files\Steam\steamapps\common\left 4 dead 2\left4dead2\addons | ||
{{note | {{note|如果你的文件夹是带连字符的,例如“'''add-ons'''”,确认它如果是空的就可以直接删除。正确的名称应该是不带连字符的“'''addons'''”。}} | ||
注意:你的L4D2开发工具安装后可能并没有 'addons' 文件夹 | 注意:你的L4D2开发工具安装后可能并没有 'addons' 文件夹 | ||
Line 66: | Line 64: | ||
你还可以创建并在地图中使用自定义的 .VTF 纹理文件、自定义的 .VMT 材质描述文件、以及自定义的 .MDL 模型文件。为了减小VPK包的体积,建议你尽可能多地使用游戏自带的纹理。 | 你还可以创建并在地图中使用自定义的 .VTF 纹理文件、自定义的 .VMT 材质描述文件、以及自定义的 .MDL 模型文件。为了减小VPK包的体积,建议你尽可能多地使用游戏自带的纹理。 | ||
额外的 .VMT 与 .VTF 文件(见 | 额外的 .VMT 与 .VTF 文件(见{{L|Creating a Material|自定义材质教程}})应该放在下面的文件夹中: | ||
...\left4dead2\addons\deadline2\materials | ...\left4dead2\addons\deadline2\materials | ||
文件与相关的模型文件(见 | 文件与相关的模型文件(见{{L|Exporting a model|导出模型}}和{{L|compiling a model|编译模型}})应该放在下面的文件夹中: | ||
...\left4dead2\addons\deadline2\models | ...\left4dead2\addons\deadline2\models | ||
{{note | {{note|从“牺牲”更新开始,模型的 .{{L|VTX|vtx 文件}}在打包时将不再被重命名。例如,打包一个 .dx90.vtx 文件将不再被重命名成简单的 .vtx。所有原本是 .vtx 的官方文件都转换回了 .dx90.vtx 文件。在此更新之前发布的某些带自定义模型的战役中,模型在游戏中会变得不可见。在2010年10月的更新之前,包含了 .sw.vtx 与 .dx80.vtx 文件的战役在打包时会崩溃。}} | ||
模型的材质文件放在下面的文件夹中: | 模型的材质文件放在下面的文件夹中: | ||
Line 88: | Line 86: | ||
...\left4dead2\addons\deadline2\materials\vgui | ...\left4dead2\addons\deadline2\materials\vgui | ||
==== | ==== 地图战役海报 ==== | ||
在 vgui 文件夹下需要放置两个 .VTF 文件,以及两个引用它们的 .VMT 文件: | 在 vgui 文件夹下需要放置两个 .VTF 文件,以及两个引用它们的 .VMT 文件: | ||
Line 105: | Line 103: | ||
在这个文件夹中,为每一张地图创建 VTF/VMT 缩略图。它们的尺寸均为256×128像素。在合适的情况下,也可以使用一张缩略图表示多个 .BSP 地图,例如既用于对抗又用于生存的一关。 | 在这个文件夹中,为每一张地图创建 VTF/VMT 缩略图。它们的尺寸均为256×128像素。在合适的情况下,也可以使用一张缩略图表示多个 .BSP 地图,例如既用于对抗又用于生存的一关。 | ||
用于界面元素的 .VMT 文件例如战役海报、缩略图等(也就是通常放在 material/vgui 文件夹中的那些文件)一般需要指定为“'''UnlitGeneric'''”材质。 见 | 用于界面元素的 .VMT 文件例如战役海报、缩略图等(也就是通常放在 material/vgui 文件夹中的那些文件)一般需要指定为“'''UnlitGeneric'''”材质。 见 {{L|Deadline vgui .VMT File}} 示例。 | ||
=== 创建音频缓冲文件 === | === 创建音频缓冲文件 === | ||
Line 121: | Line 119: | ||
== 创建元数据文件 == | == 创建元数据文件 == | ||
此外还需要一些文件才能保证你的附件能够在游戏中正常工作。 | |||
==== addoninfo.txt ==== | ==== addoninfo.txt ==== | ||
Line 129: | Line 127: | ||
...\left4dead2\addons\deadline2\addoninfo.txt | ...\left4dead2\addons\deadline2\addoninfo.txt | ||
这个文件用在游戏中的Add-ons界面。文件简要地描述了 add-on 中提供了什么内容。示例文件 | 这个文件用在游戏中的Add-ons界面。文件简要地描述了 add-on 中提供了什么内容。示例文件 {{L|Deadline AddonInfo File}} 中包含了完整的注释与使用说明,可以直接拿来作为你的 add-on 模板。 | ||
==== addonimage.jpg ==== | ==== addonimage.jpg ==== | ||
另一个需要在根目录下创建的是图片文件 addonimage.jpg。它将作为你的 add-on 的图标显示在游戏的用户界面上,同时显示的还有 addoninfo.txt | 另一个需要在根目录下创建的是图片文件 addonimage.jpg。它将作为你的 add-on 的图标显示在游戏的用户界面上,同时显示的还有 addoninfo.txt 中列出的内容。部分JPG格式可能会失效,这与创建它们的软件有关。如果遇到了JPG失效的头疼头疼问题,不妨使用 {{L|VTFEdit}} 来导出。 | ||
==== Mission 文件 ==== | ==== Mission 文件 ==== | ||
其次需要的文件是 | 其次需要的文件是{{L|L4D2 Mission Files|战役文件}}。 它描述了战役的结构与内容,并且会被用于战役选择的用户界面、 匹配系统、以及游戏服务器。它应当是一个有独有命名的 .TXT 文件。将它放置在 '<code>missions</code>' 文件夹中,这个文件夹也是你需要创建的: | ||
...\left4dead2\addons\deadline2\missions\deadline2.txt | ...\left4dead2\addons\deadline2\missions\deadline2.txt | ||
示例中的 {{L|Deadline Mission File}} 文件包含了完整的注释与使用说明,可以直接拿来作为你的 mission 文件模板。 | |||
{{note| | {{note|将 mission.txt(或是其它任何txt文件)添加到 missions 文件夹都会让VPK被标记为战役而不是附加内容包。尚不清楚有没有其它影响VPK标记类型的因素。VPK中特定的几组文件并不会影响到其它战役。这些内容包括但不仅限于:独有的与替换的材质/纹理、模型、音频、音频缓冲、粒子、以及粒子效果。目前,脚本文件(位于 scripts 文件夹中)以及资源文件仍然会被其他的 add-on 覆盖,不论打包成什么类型的VPK。如果出现了命名重复,将与官方或是其它 add-on 中的战役产生冲突}} | ||
== | == 测试VPK == | ||
目前为止,你的 add-on 应该已经功能完备了。可以进入游戏,打开Add-ons菜单来启用你的 add-on。如果在控制台中输入 <code>path</code>,你将会在底部附近看到你的 add-on 的根目录。这意味着游戏如果在标准的游戏目录下找不到对应资源时,将会进入你的 add-on 文件夹中搜索。在其它电脑中完整运行你的地图来检查有无错误,例如崩溃或是游戏资源丢失。你可以继续调整你的内容,直到准备好了面对那神奇的一刻:向外界发布。 | |||
== | == 打包与发布 == | ||
剩余的最后一步就是将你的 add-on 文件夹打包成用于发布的 .{{L|VPK}} 文件。 | |||
.VPK 文件的作用是为了方便其他人只用一个文件就能安装好你的 add-on。玩家只需要将 .VPK 放在自己的 add-on 文件夹下就行了。或者,假如他们像大多数非地图作者的玩家一样,没有将 .VPK 扩展名关联到其他的程序上,就可以通过双击VPK来自动安装到正确的位置。 | |||
每个 .VPK 文件都有一个独一无二的ID,来确保所有人运行的是相同的内容。如果你的元数据文件配置正确,有必要的情况下,游戏将会提示玩家下载新的版本。 | |||
找到这个文件夹: | |||
C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin\ | C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin\ | ||
找到 <code>vpk.exe</code> 打包工具并在桌面上创建快捷方式。拖动你的 add-on 根文件夹到快捷方式上运行。该工具将会在你原有文件夹的位置创建一个 .VPK 文件。默认情况下并不会包含源文件例如 .VMF、.TGA、.SMD、.QC 等,并且会移除可执行二进制文件。移除文件夹版的 add-on(或是放到安全的位置)以便单独测试 .VPK 文件。 .VPK 文件应该能像文件夹版的一样正常工作。如果工作正常的话,就算是准备好将它上传到你在元数据文件中描述的下载位置了。 | |||
理想情况下,最好有一个包含了评分、截屏以及玩家评论的 add-on“主页” 。[http://media.steampowered.com/apps/513/deadline2.html 这里是一个简单的例子。] | |||
=== | === 压缩 === | ||
由于一张L4D2的完整战役可能会非常大,因此建议在上传到分享站点用于发布之前,最好将它们进行压缩。开源的Windows工具 [http://www.7-zip.org/ 7-zip] 支持将文件压缩成 7z格式/LZMA算法,它的压缩率非常高。 .BSP 地图文件占了战役文件的大部分体积,而该文件可压缩性很好,因此一个vpk压缩后的体积可以减小到原来的25%甚至更低。例如一张由粉丝制作并打包的非官方地图 Death Aboard,压缩前的VPK大小为267MB,压缩成zip后大小为92MB,压缩成7z后大小仅为55MB。 | |||
== | == 最终测试 == | ||
进行到这一步,你应该已经测试完成了下载功能。在本地服务器上建立一个游戏大厅,邀请你的朋友加入。他们接受邀请后,将会收到下载必要的 add-on 的提示,接着会在浏览器窗口中打开你的下载主页。他们应当能够在无需重启游戏的情况下,下载并安装好你的 add-on,然后加入你的游戏大厅。 | |||
== | == 另见 == | ||
* | * {{L|VPK}} | ||
* | * {{L|VPK File Format|VPK文件格式}} | ||
* [http://leeland.stores.yahoo.net/l4d2packmission.html L4D2 - | * [http://leeland.stores.yahoo.net/l4d2packmission.html L4D2 - 战役打包工具] | ||
Latest revision as of 04:17, 22 August 2024
本简体中文页面由 Gloria 汉化。
在求生之路2代中打包你的自定义战役一共分为六个基本步骤:
- 创建Add-on文件夹与对应子文件夹。
- 创建好各类游戏资源并放入对应的子文件夹。
- 创建好数据描述文件(addoninfo.txt等)并放如对应的子文件夹。
- 将Add-on的所有内容打包成 .VPK 文件。
- 完整测试VPK文件,并修复出现的问题。
- 创建一个玩家可以从中下载你的地图的主页。
安装开发工具
为了创作求生之路2的三方内容,你需要安装求生之路2开发工具(Left 4 Dead 2 Authoring Tools) 。它提供了用于创作游戏内容的各类程序与工具。一般来说,可以使用 Hammer 程序创建关卡,使用其它工具创建自定义纹理 与模型 。
如何创建各类游戏资源不在这个教程的介绍范围之内。你可以进入L4D关卡制作基础教程 找到相关的内容。介于这篇教程的重点在于讲解如何将所有地图内容打包到VPK中,因此当你开始学习这篇教程之前,应该已经熟悉了如何创建那些游戏内容。
开发工具附带了一个叫做 Dead Line 的战役示例,包含了各类源文件示例。
创建 Add-on 文件夹
首先,在你的求生之路2代游戏安装路径下找到 'addons' 文件夹。对于大多数人来说,应该是类似下面的路径:
C:\Program Files\Steam\steamapps\common\left 4 dead 2\left4dead2\addons

注意:你的L4D2开发工具安装后可能并没有 'addons' 文件夹
在 'addons' 中创建一个新的文件夹,并取个合适的名称。这将会是你最后创建并发布的VPK文件名称。全部使用小写字母、避免使用空格是一个好习惯。你还可以将游戏名写入标题,同其它标题加以区分,并可以考虑添加一个版本号。为了便于阅读,我们的示例中还是使用了“deadline”而非“l4d_deadline”。
...\left4dead2\addons\deadline2
概念上来说,这个文件夹就相当于地图的游戏根目录,它的目录结构是下面将要介绍的用于发布的 .VPK 文件的镜像。
创建基础游戏资源
你创建的这些内容实际上将会与其它内容一块附加到游戏中。对于一张战役图来说,最基本的地图资源是 .BSP 文件和 .NAV 文件。
在你的工程文件夹下新建一个 'maps
' 文件夹:
...\left4dead2\addons\deadline2\maps
在这个 maps 文件夹中,将你地图的 .BSP 文件和 .NAV 文件复制到这里。在 Dead Line 教程示例中,有两组 bsp/nav 地图文件:
文件 | 描述 |
---|---|
l4d_deadline01
|
精简的初始地图,包含合作、对抗 |
l4d_deadline02
|
最终的地图,包括合作、对抗、生存、清道夫 |
在一张单独的地图中制作多种游戏模式的优点在于可以节省空间,尽管增加了制作复杂度,这样做还是值得的。
你还可以创建并在地图中使用自定义的 .VTF 纹理文件、自定义的 .VMT 材质描述文件、以及自定义的 .MDL 模型文件。为了减小VPK包的体积,建议你尽可能多地使用游戏自带的纹理。
额外的 .VMT 与 .VTF 文件(见自定义材质教程 )应该放在下面的文件夹中:
...\left4dead2\addons\deadline2\materials
文件与相关的模型文件(见导出模型 和编译模型 )应该放在下面的文件夹中:
...\left4dead2\addons\deadline2\models

模型的材质文件放在下面的文件夹中:
...\left4dead2\addons\deadline2\materials\models
需要注意的是,L4D2将 /deadline2 文件夹的内容当作 /left4dead 的内容一样处理,因此如果你使用了 /materials 与 /models 下的任何纹理与模型,都应该在你的战役文件夹中添加一份。
创建次要游戏资源
次要的游戏资源例如海报与缩略图并不是必要的,但它们能让你的战役更加出彩。(再说了,海报/概念图恐怕是你头一项制作的东西,不是吗?)如果还没有制作的话,新建一个 materials
文件夹,并在其中创建一个 vgui
文件夹:
...\left4dead2\addons\deadline2\materials\vgui
地图战役海报
在 vgui 文件夹下需要放置两个 .VTF 文件,以及两个引用它们的 .VMT 文件:
- LoadingScreen_DeadLine2.vtf
- 这是一张在你的战役加载界面出现的海报图片。标准的尺寸为1024×1024像素,并带有表示透明度的Alpha通道。
- OutroTitle_DeadLine2.vtf
- 这是一张在关卡最后的鸣谢/数据统计界面出现的标题图片。标准的尺寸为1024×256像素。你创作的图片应该适合显示在黑色背景下,并且让上方滚动的白色文字易于阅读。
地图缩略预览图
除了上述两张图片之外,你还要有展示战役每一关的缩略图。这些图片能让玩家在游戏大厅中选择地图“章节”时有可见的、更直观的提示。
为了添加缩略图,在 vgui 文件夹下新建一个 'maps
' 文件夹:
...\left4dead2\addons\deadline2\materials\vgui\maps
在这个文件夹中,为每一张地图创建 VTF/VMT 缩略图。它们的尺寸均为256×128像素。在合适的情况下,也可以使用一张缩略图表示多个 .BSP 地图,例如既用于对抗又用于生存的一关。
用于界面元素的 .VMT 文件例如战役海报、缩略图等(也就是通常放在 material/vgui 文件夹中的那些文件)一般需要指定为“UnlitGeneric”材质。 见 Deadline vgui .VMT File 示例。
创建音频缓冲文件
如果在你的 add-on 中包含了自定义音频,你需要创建游戏引擎可以加载的音频缓冲文件。在VPK根目录下的“sound”文件夹放置你的音频文件,在L4D2运行时输入指令“snd_buildsoundcachefordirectory <path>”,其中path表示你放置音频的文件夹位置。例如,在 Deadline 示例中,音频文件放置在:
..\left4dead2\addons\deadline2\sound
使用下面的指令进行重建:
snd_buildsoundcachefordirectory "..\left4dead2\addons\deadline2"
这条指令将会在你的音频文件夹中创建一个 sound.cache 文件,在打包VPK时可以添加进去。
创建元数据文件
此外还需要一些文件才能保证你的附件能够在游戏中正常工作。
addoninfo.txt
首先是 addoninfo.txt 文件。该文件让你的内容能被游戏识别。它应该放在VPK的根目录中,也就是上面最开始创建的文件夹:
...\left4dead2\addons\deadline2\addoninfo.txt
这个文件用在游戏中的Add-ons界面。文件简要地描述了 add-on 中提供了什么内容。示例文件 Deadline AddonInfo File 中包含了完整的注释与使用说明,可以直接拿来作为你的 add-on 模板。
addonimage.jpg
另一个需要在根目录下创建的是图片文件 addonimage.jpg。它将作为你的 add-on 的图标显示在游戏的用户界面上,同时显示的还有 addoninfo.txt 中列出的内容。部分JPG格式可能会失效,这与创建它们的软件有关。如果遇到了JPG失效的头疼头疼问题,不妨使用 VTFEdit 来导出。
Mission 文件
其次需要的文件是战役文件 。 它描述了战役的结构与内容,并且会被用于战役选择的用户界面、 匹配系统、以及游戏服务器。它应当是一个有独有命名的 .TXT 文件。将它放置在 'missions
' 文件夹中,这个文件夹也是你需要创建的:
...\left4dead2\addons\deadline2\missions\deadline2.txt
示例中的 Deadline Mission File 文件包含了完整的注释与使用说明,可以直接拿来作为你的 mission 文件模板。

测试VPK
目前为止,你的 add-on 应该已经功能完备了。可以进入游戏,打开Add-ons菜单来启用你的 add-on。如果在控制台中输入 path
,你将会在底部附近看到你的 add-on 的根目录。这意味着游戏如果在标准的游戏目录下找不到对应资源时,将会进入你的 add-on 文件夹中搜索。在其它电脑中完整运行你的地图来检查有无错误,例如崩溃或是游戏资源丢失。你可以继续调整你的内容,直到准备好了面对那神奇的一刻:向外界发布。
打包与发布
剩余的最后一步就是将你的 add-on 文件夹打包成用于发布的 .VPK 文件。
.VPK 文件的作用是为了方便其他人只用一个文件就能安装好你的 add-on。玩家只需要将 .VPK 放在自己的 add-on 文件夹下就行了。或者,假如他们像大多数非地图作者的玩家一样,没有将 .VPK 扩展名关联到其他的程序上,就可以通过双击VPK来自动安装到正确的位置。
每个 .VPK 文件都有一个独一无二的ID,来确保所有人运行的是相同的内容。如果你的元数据文件配置正确,有必要的情况下,游戏将会提示玩家下载新的版本。
找到这个文件夹:
C:\Program Files\Steam\steamapps\common\left 4 dead 2\bin\
找到 vpk.exe
打包工具并在桌面上创建快捷方式。拖动你的 add-on 根文件夹到快捷方式上运行。该工具将会在你原有文件夹的位置创建一个 .VPK 文件。默认情况下并不会包含源文件例如 .VMF、.TGA、.SMD、.QC 等,并且会移除可执行二进制文件。移除文件夹版的 add-on(或是放到安全的位置)以便单独测试 .VPK 文件。 .VPK 文件应该能像文件夹版的一样正常工作。如果工作正常的话,就算是准备好将它上传到你在元数据文件中描述的下载位置了。
理想情况下,最好有一个包含了评分、截屏以及玩家评论的 add-on“主页” 。这里是一个简单的例子。
压缩
由于一张L4D2的完整战役可能会非常大,因此建议在上传到分享站点用于发布之前,最好将它们进行压缩。开源的Windows工具 7-zip 支持将文件压缩成 7z格式/LZMA算法,它的压缩率非常高。 .BSP 地图文件占了战役文件的大部分体积,而该文件可压缩性很好,因此一个vpk压缩后的体积可以减小到原来的25%甚至更低。例如一张由粉丝制作并打包的非官方地图 Death Aboard,压缩前的VPK大小为267MB,压缩成zip后大小为92MB,压缩成7z后大小仅为55MB。
最终测试
进行到这一步,你应该已经测试完成了下载功能。在本地服务器上建立一个游戏大厅,邀请你的朋友加入。他们接受邀请后,将会收到下载必要的 add-on 的提示,接着会在浏览器窗口中打开你的下载主页。他们应当能够在无需重启游戏的情况下,下载并安装好你的 add-on,然后加入你的游戏大厅。