L4D Campaign Add-on Tutorial

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Español (es)Русский (ru)Translate (Translate)
Info content.png
This page needs to be translated.
This page either contains information that is only partially or incorrectly translated, or there isn't a translation yet.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article tries to comply with the alternate languages guide.

Существуют четыре основных шага для создания собственной кампании для Left 4 Dead:

  1. Создание папки Add-on и суб-папок для контента.
  2. Создание активов и размещение их в надлежащих суб-папках.
  3. Создание метаданных и размещение их в надлежащих суб-папках.
  4. Упаковка содержимого папки Add-on в .VPK файл.
  5. Создание домашней страницы кампании, где ее смогут скачать игроки.

Установка Authoring Tools

Для создания контента для Left 4 Dead, вам нужно установить Left 4 Dead Authoring Tools(en). Пакет содержит приложения и утилиты для изменения содержимого игры. В основном, вы будете использовать Hammer для создания уровней и утилиты для создания пользовательских текстур(en) и моделей(en).

Описание создания активов не входит в эту статью, но вы можете найти информацию в разделе Основные статьи по созданию карт для Left 4 Dead(en). Поскольку в этой статье описывается только создание дополнительных кампаний, мы предполагаем, что вы уже узнали о том, как успешно создавать эти активы.

Authoring Tools содержат образец дополнительной кампании Dead Line с образцами исходников.

Создание папки Add-on

Для начала, найдите папку "addons" в месте установки Left 4 Dead. Для большинства пользователей, это будет аналогично:

C:\Program Files\Steam\steamapps\common\left 4 dead\left4dead\addons

Создайте новую папку в каталоге аддонов, и дайте ей соответствующее название. Имя этой папки будет совпадать с именем VPK файла, который получится в конечном счете, не используйте в названии пробелы, старайтесь использовать только строчные буквы. Вы также можете включать игры в названии, чтобы отличить его от дополнений для других названий. Рассмотрим аддон-пример "deadline".

Это дополнение служит в качестве примера всех режимов игры, содержит модели, текстуры, gameinfo.txt и.т.д.

Create primary game assets

The assets you create will essentially append those shipped with the game. For a campaign, the primary assets are the .BSP and .NAV files for your map levels.

Make a folder called 'maps' inside your add-on project folder:

...\left4dead\addons\deadline\maps

Into this maps folder, copy the .BSP and .NAV files you're using for your maps. For this Dead Line tutorial example, there are three map file bsp.nav pairs:

File Description
l4d_deadline01 Minimal starting map for co-op
l4d_deadline02 Final map for co-op, survival
l4d_deadline02_vs A variation of the above map that includes modifications designed for with versus mode

The advantage of having a single map function for multiple game modes is size reduction, which can be worth the additional authoring complexity.

You may also optionally create custom .VTF texture images, custom .VMT material description files, and custom .MDL models which your maps can utilize. In order to keep the size of your add-on small, it's advisable to use as many textures and models from the game as possible.

Additional .VMT and .VTF materials (see Creating a Material(en)) should go under this folder:

...\left4dead\addons\deadline\materials

.MDL and related model files (see exporting(en) and compiling a model(en)) should go under here:

...\left4dead\addons\deadline\models

And materials for your models should go under here:

...\left4dead\addons\deadline\materials\models

It should be noted that L4D treats the /deadline folder much the same way as the /left4dead folder, so any folders you use inside the /materials and /models that you employ must also be present in your campaign's folder.

Create secondary game assets

Secondary assets such as poster and thumbnail images are not strictly required, but they can give your campaigns an extra level of polish. (Besides, the poster/concept art was likely the first thing you created, wasn't it?) If you haven't already, go ahead and make a materials folder and a vgui folder inside of it:

...\left4dead\addons\deadline\materials\vgui

Campaign Poster

Inside the vgui folder you'll want to place at least two .VTF files, along with .VMTs that reference them:

LoadingScreen_DeadLine.vtf
This is a poster image that is displayed while your campaign loads. Standard size is 1024 x 1024 pixels with an alpha channel for transparency.
OutroTitle_DeadLine.vtf
This is a title image that appears behind the end credits/stats. Standard size is 1024 x 256 pixels. Your design should look good against a black background and also allow white text in the foreground to be readable.

Map Thumbnail Previews

In addition to these two, you'll also want to make thumbnail images for each map in your campaign. These serve to provide a visual reinforcement indication for users while they're selecting map "chapters" in the UI.

To do so, create a new folder named 'maps' under the vgui folder:

...\left4dead\addons\deadline\materials\vgui\maps

In this folder, you'll want to create a .VTF/.VMT pair for each map you wish to create. They should each be 256 by 128 pixels. If appropriate, you may use a single thumbnail image to represent multiple .BSP maps, such as when you have a versus or survival variant of the same level.

.VMT files which are used for interface elements such as posters, thumbnails, etc., (I.e. Those typically found in the materials/vgui folder,) often need to specify an UnlitGeneric material. See Deadline vgui .VMT File(en) for an example.

Create metadata files

There are a few more files that you will make in order to allow your add-on content to function in game. The first is the addoninfo.txt file. This should go inside your add-on root folder, which was the first one we created way back at the top:

...\left4dead\addons\deadline

This file is used by the game in the Extras->Add-ons screen. It describes your add-on in general and what it provides. The example Deadline AddonInfo File(en) includes full comments and instructions for using it as a template for your own add-on. Another optional file you can create in the root folder is an image named addonimage.jpg. This serves as an icon to help differentiate your add-on and is displayed when an add-on is selected in the UI along with add-on details listed in the addoninfo.txt.

Mission File

The second required file is the mission file. This describes the structure and content of your campaign and is used by the campaign selection UI, matchmaking, and the game server. This can be a .TXT file of any name in the 'missions' folder, which you will need to make:

...\left4dead\addons\deadline\missions

The example Deadline Mission File(en) includes full comments and instructions for using it as a template for your own mission.

Test it out

At this point, your add-on should be fully functional. You should be able to launch the game, go to Extras->Add-ons, and enable your add-on. If you type path into the console, you should see the root directory of your add-on near the bottom. This means that the game will search your add-on folder for files that it cannot find in the standard game .VPK files. You can continue tweaking your content in folder form until you're ready for that magical moment: Release into the wild.

Packaging and shipping

The final remaining step is to package your add-on into a .VPK(en) for distribution.

The .VPK serves as a convenient, one file method for others to install your add-on folder. They need simply put the .VPK in their own add-on folder. Or, assuming they, like most non-authoring players, haven't associated the .VPK extension with something else, they can double click on it and it will install itself in the correct place.

Every .VPK file contains a unique ID that allows the game to ensure everyone is running the same content. If you've put in meta-data properly, the game will also prompt users to download a newer version if it is required to play.

Navigate to this folder:

C:\Program Files\Steam\steamapps\common\left 4 dead\bin\

Locate the vpk.exe packaging utility and make a shortcut to it on your desktop. Drag your add-on root folder and drop it onto the shortcut. The utility should make a new .VPK next to your original folder. By default it will not include source files such as .VMF, .TGA, .SMD, .QC etc., and it will always strip out executable binaries. Remove the folder version of the add-on (or move it to a safe location) so that the .VPK is alone and test it out. The .VPK should function exactly as the add-on folder does. If it works, you're ready to upload it to a location you specified in the metadata files and from which it is available.

Ideally, you'll want an add-on "homepage" that includes ratings, screenshots, and player comments. A simple example can be found here.

Compression

Since full Left 4 Dead campaigns can be very large it is advisable to compress them before uploading to file sharing sites for distribution. The open source Windows utility 7-zip supports compressing files in the 7z format/LZMA algorithm, which provide a very high compression ratio. The bulk of a campaigns size comes from the .bsp map files, which are highly compressible, so a vpk can be reduced to 25% or less of its original size. For example an unofficial version of Death Aboard was packaged up by a fan; the vpk was 267MB uncompressed, 92MB zipped, and 55MB with 7z.

Final testing

At this point, you should test out the download prompt. Start a lobby with a local server, and invite a friend to join. When they accept, they should be prompted to download the necessary add-on, after which a browser window will opened to your add-on homepage. They should be able to download and install the add-on without having to restart the game, and then join your lobby.

See also