Adding custom graphics is a skill that crosses many domains in our game, so it’s very important to learn how! Thankfully, it’s very simple once you know what to do.

<aside> 💡 Required Materials:

If you’ve already got a PK3 file with some sprites in it (potentially from the Skin Assembler), then you can open the PK3 file that you have and skip ahead to the offset portion. Otherwise, it’s recommended to read through it all to know how to start fresh.

Starting a New PK3


For the sake of starting fresh, we’re gonna start this tutorial by just creating a new PK3 archive in SLADE. We can do this by opening SLADE and clicking on the buttons shown to the right.

Starting to create a new archive.

Starting to create a new archive.

Once you’ve clicked that Archive button, it’ll prompt you for which type of archive to create. You’ll want to create a Zip Archive. With our new archive, let’s go ahead and create some folders which we’ll need for the graphics. There are two main folders to focus on here, one for sprites and one for graphics.

Creating a  folder.

Creating a sprites folder.

Creating a  folder.

Creating a graphics folder.

Now that we’ve made some changes to our archive, we can go ahead and save it using CTRL + S. Be very cognizant when saving this archive, because we want to save it as a PK3 file, not a standard ZIP file! The screenshot below shows me saving the file with the name GraphicsDemo and a file extension of .pk3 so that we create a PK3 file.

Don’t forget this step!

Don’t forget this step!

Adding Some Graphics


Before we can begin modifying the offsets on graphics, we need to actually have the graphics in the archive. There’s some rules to keep in mind when bringing graphics into our file.

For general graphics and textures, the only rule is that it must have a name which is 8 or less characters in length. However, you should take care to make sure that the name you decide on does not conflict with any other graphic names!

For sprites, their name should be in the pattern of a 4 character sprite name, a 1 character frame, and a rotation number. An example is PLY1A1. This specifies the PLY1 sprite name, the A frame, and a rotation number of 1. The rotation numbers for a frame with 8 rotations are shown below:

Untitled

Typically, sprite frames in this game share the same graphic for the 2/8, 3/7, and 4/6 rotations. This is done in practice by using a naming scheme such as PLY1A8A2. PLY1 is still the 4 character sprite name, A is the 1 character frame, and two rotations are combined, rotation 2 and 8.

For the first specified rotation number, the graphic is used as is, but for the second rotation number, the sprite is flipped horizontally.