Game Release Preparations

You've created a mod or game, and you're getting it ready to release it for people to play. First up, congratulations! Getting from inception to finished product is a great feat, and you're hopefully proud of your creation.

Congratulations!

Releasing a Wolf3D mod is generally a very simple affair; you're either publishing a pk3 file (in the case of ECWolf/LZWolf), or zipping the relevant edited game files and releasing that. If you're looking for how to publish your game on Wolf3D.net, you'll want to visit this guide.

This guide is for people who are releasing a project that works with the original game engine (No source code or scripting changes). For those projects, with just a few small additional files, you can help players with additional game compatibilities and provide more ways to experience your creative work!

There are a number of considerations to be made in ensuring your game is ready for release, that can be generally referred to as "good practices". This is a simple checklist you can go through to ensure your game releases cleanly.


Considerations for all releases

🗸 Attribute credit somewhere in your project for borrowed or contributed assets.

This includes art, sounds, and other resources, and can come in the form of a Credits section in a text document, in the game itself, or on the website you publish your game to.

🗸 If you're borrowing art that hasn't been released with the intention of others to use (For example, lifted from another mod) or announced publicly that it's okay to use, it is generally good to ask permission from these people to use the resources.


DOS / Wolf4GW / Wolf4SDL releases

🗸 You should not include unedited game files in your release.

For example, if your project only edits the maps of the game, your download should only include the GAMEMAPS and MAPHEAD files. Being unedited, distributing the extra files would be a violation of id Software's copyright.

🗸 If you utilized a program like MapEdit to create your project, make sure you've removed any excess files from the folder, and do not accidently include them in your published release.


ECWolf/LZWolf releases

🗸 In almost all cases, you shouldn't include a full copy of the ECWolf or LZWolf files in your release.

Mods for these source ports are built so they can all run from the same copy of the engine. Once a person has downloaded ECWolf or LZWolf, they do not need another copy. At most, including a reminder in your text file to update to the latest version is all you will need.

🗸 You should never edit and re-distribute the ecwolf.pk3 or lzwolf.pk3 files.

The source ports rely on these files to translate the original games, and editing these files is almost always unnecessary. 

🗸 If your game is specifically intended for ECWolf or LZWolf, do not include the original game files in your release.

Basically, the only file that need to be included in an ECWolf-only or LZWolf-only release, is the new .pk3 containing your game. Any extra files are going to be unnecessary in most releases, and if not it is possibly a sign that you haven't prepared the mod properly.

If you need to learn how to build the .pk3 file, you can get started by learning How to create and import maps for an ECWolf Mod.

ECWolf and LZWolf are built with the ability to "soft-mod"; rather than edit the core game files, mods built on these source ports utilize a .pk3 file which they runs on top of the original game, making changes as designated in the pk3.

If your game is being released as a DOS, Wolf4GW or Wolf4SDL project, you can very often still set it up to run easily in ECWolf/LZWolf without the need to recreate the entire project as a pk3.


Vanilla Projects

To make your game's zip file compatible with ECWolf and LZWolf, you simply need to add a single empty file to your game zip. Create a new text file in your game directory and call it ECWOLF.TXT. Make sure the file is completely blank and empty.

ecwolf.txt

Depending on the game you are editing, you will also need to edit the .txt extension on the new file to match those of your game files. For example, if you're editing Wolfenstein 3D, the file extension will be changed to .WL6. Spear of Destiny would be .SOD.

ECWOLF.WL6

Projects with minor engine changes

If your project has minor tweaks and differences that aren't in the default, you can place a modified PK3 file into your project in the same way the .TXT file is implemented.

As an example, we want to change the behaviour of the pushwalls to move three spaces instead of just two. To do so, you would take this file (pushwallrange.pk3) and place it in your project directory. To get an idea of what the file is doing, you can crack it open and check it out in SLADE!

pushwallrange.pk3

Just like with the ECWOLF.TXT in the above example, you will rename it to ECWOLF.*, where * is your game's file extension.

ECWOLF.WL6

Anything you can script in an ECWolf or LZWolf mod is compatible with this method, including features like LZWolf's parallaxing skies. However, this should only be done for mods that are built for DOS/Wolf4SDL. If your project is intended for ECWolf or LZWolf, you should avoid distributing WL6 files in favour of a proper mod PK3 file.


Now, when you zip your mod's edited files, make sure you directly zip the files (as in, don't zip a folder), and make sure the new file is included in the zip.

So what does this do for your project?

Well, instead of having to extract the files to a new folder, an ECWolf or LZWolf user can play your mod by simply dragging and dropping the entire zip over the source port's executible file! The engines will see and read the new file and know how to run the game.

C-Dogs SDL is a port and extension of the classic top-down shooter, originally for DOS. Cong Xu has been updating the game over the years, getting it to feature parity and beyond with the original game.

One of the biggest updates to the game in the past few years was the addition of support for Wolfenstein 3D and mods of the game. If you own a copy of Wolfenstein 3D, Spear of Destiny or the Mission Packs, you can play them as campaigns within C-Dogs SDL!

Wolf3d

if you have an installed Steam or GOG copy of Wolfenstein 3D or Spear of Destiny, C-Dogs SDL will automatically detect these installations and the campaigns will be added to the game.
If you're using a different installation of Wolfenstein 3D or Spear of Destiny (ie from a CD-ROM), simply create a folder in /missions with the files from your game (The extension will vary depending on which game you're installing, between .WL1 .WL6 and .SOD).

Mapsets and mods can be played, but some require a few extra steps; if you have your Steam or GOG copy, you can put just the modded files in their own folder within your game's \missions folder. C-Dogs SDL will combine them with your Wolfenstein 3D or Spear of Destiny installation to build the campaign.
If you are using a different installation of the games, you will need to have the mapset files and any remaining necessary game files inside the folder within \missions.

With just a minute of effort, it is easy to add compatibility with C-Dogs SDL for your Wolf3D project!


campaign.json

Wolf3D mods and mapsets can also be played, as long as they don't change the game engine. To make your game compatible with C-Dogs SDL, you can create a simple campaign.json file that will look similar to the following:

{
    "Version": 16,
    "Title": "Wolf3D - Astrostein",
    "Author": "Bruce Ryder",
    "Description": "A three level demo of a never released project that ported Laz Rojas' Astrostein from Mac Wolf3D to DOS back
        on the 2nd of October, 1996.\n\nRate this campaign, and download more at Campaign Dogs! http://cdogs.morezombies.net",
    "Ammo": true,
    "SkipWeaponMenu": true,
    "RandomPickups": false,
    "DoorOpenTicks": 210,
    "Missions": 3
}

This is the campaign.json file included in the download for Astrostein, a 3 level demo by Bruce Ryder.

The first set of variables, "Title", "Author" and "Description", are used for the display of information in the Campaign Select menu of C-Dogs SDL.

C-Dogs SDL

The last 5 elements are important, and except for the "Missions" variable, should stay the same as the above example for each Wolf3D campaign.

"Missions" is important, as without it C-Dogs SDL automatically assumes the amount of levels present based on the Wolf3D mod's file extensions. For example, WL1 files are automatically assumed to have 10 levels, and .SOD would have 21.

Using Astrostein as an example again, it is a 3 level project that uses the 60-level WL6 files. By assigning "Missions" a value of 3 in the campaign.json file, we tell C-Dogs SDL that the game actually ends at level 3. Without it, C-Dogs would try to play the other 57 maps as well.


Your own campaign.json file

{
    "Version": 16,
    "Title": "Game Title",
    "Author": "Author Name",
    "Description": "\n\nRate this campaign, and download more at Campaign Dogs! http://cdogs.morezombies.net",
    "Ammo": true,
    "SkipWeaponMenu": true,
    "RandomPickups": false,
    "DoorOpenTicks": 210,
    "Missions": 60
}

Create a new file in notepad with the above text, changing the "Title", "Author", "Description" and "Missions" values to match your game. Save it as "campaign.json", and include it alongside your game files on release.

This simple inclusion has minimum impact on the game files, but gives the player everything they need for C-Dogs SDL compatibility, giving them an additional way to experience your game!

Mapsets that are C-Dogs SDL ready can also be uploaded to Campaign Dogs, a child of Wolf3D.net dedicated to C-Dogs SDL campaigns!

Your game is ready. It's time to upload it. Where can you go?

Wolf3D.net

This very website offers a means for users to create their own game pages for mods of all Wolf3D games (Including Blake Stone, Corridor 7, etc), and upload game files to it. Register an account on the website, and visit this guide to learn more.

Wolf3D.net is built to try and account for the various quirks of the Wolf3D modding community and the variety of games, addons and ports that exist.

ModDB

ModDB is a website for mods of all games, and includes it's own section for Wolfenstein 3D! ModDB allows registered users to create their own game pages to upload their projects to, as well as broadcast news and updates.

IndieDB

ModDB's sister website, IndieDB is a website for original indie games. If your game is an original that runs by itself (with no copyrighted material from other games), this can be an alternative location to upload, especially if you are already familiar with how ModDB works!

itch.io

itch.io is a major indie gaming platform that could also be the home for your game or project, if its an original that runs by itself (with no copyrighted material from other games).

Campaign Dogs

A child-site of Wolf3D.net, Campaign Dogs is dedicated to custom content in C-Dogs SDL, the topdown shooter. If your project includes a compatible campaign.json file, you can upload your project to this website as well, for C-Dogs SDL fans to enjoy!