This guide answers common questions regarding the long-maintained Wolf4SDL source port.

Setting up the Wolf4SDL Source Code

Wolf4SDL was released in 2007, a project by DHW member Moritz "Ripper" Kroll to port Wolfenstein 3D to modern systems. While there were other notable attempts at ports like NewWolf and WinWolf3D, this particular port stood out for it's closeness to the original look and feel of the game, as well as it's relative similarities to the original source in respect to modding.

This particular port has been one of the most common for people to make games using, and is even used as the base for ECWolf.

Enabling Feature Flags (High Resolution Textures, Cloudy Skies, etc)

Wolf4SDL comes with extra features already added and just needing to be activated. This guide teaches you what is in Feature Flags, how to activate them, and how to use them.

Compiling the code for shareware Wolfenstein 3D and Spear of Destiny

The source code comes prepared to build version 1.4 of the full version of Wolfenstein 3D, but is actually capable of building for multiple different versions of the game, as well as Spear of Destiny!

This guide will show you how to change the code to compile for different games and different versions of them. It assumes you already have a game project that successfully compiles. If not, you'll want to check out the guide for setting up a Wolf4SDL project.

Add a Rocket Launcher (Wolf4SDL)

Rocket launchers are a weapon introduced in the last three episodes of Wolfenstein 3D, but only for the Boss enemies. Let's fix that!

A basic RPG-style levelling system

Many games from all genres take inspiration from RPGs in the form of a "level-up" system. This system typically rewards the player "experience points" for tasks, and gives the player a "level" when a milestone is hit. Each level will generally make the player stronger in some way.

For this guide, we'll be introducing such a system to Wolf3D. By the end you will have a functional but basic system for levelling, where kills will reward experience, and levels will influence the amount of damage weapons do.

Removing the Lives system from Wolf3D (Beta)

A holdover from arcade games, Wolfenstein 3D is one of many games that utilize a "Lives" system in it's game - each time the player dies they lose a life, and when they have used up all of their lives, the game is over. The choice of using Lives is a design choice, and of course everyone has a different vision. What if you don't want to use them in your game?

Rearranging the status bar

In Wolfenstein 3D, the status bar is a static image, over which the stats pertaining to the player and game are displayed. Of course, in a different project, this design might not be relevant. Maybe the game has more than 4 keys, or the author doesn't want to display weapons, or simply wants things in different places.