Sprite Editing Overview
This guide will include NTT editing on a later date. Currently this is just about editing base NT.
Sprite editing was changed in the 2023 beta to make the process more streamlined and is easy. Editing versions before this requires a few more technical steps and while these are not particularly complicated themselves, they will require some patience as sprite editing can be tedious.
Changing versions on Steam can cause the spritesheet to get overwritten, so make sure to have a backup after any new edits are complete. It's possible to add multiple Steam branches to the Steam library following these dropdown instructions.
Transferring sprites between versions means taking the sprite edits from an old spritesheet and applying it to the new one. Newer versions change the spritesheets around which will make this especially tedious, so it's best to edit a version that you plan to play for a while.
There are split sections between the 2023 beta and earlier versions, only the section corresponding to your version needs to be read.
2023 Beta Editing
Sprite editing in the 2023 beta has the simplest steps to get to work. Be aware that Steam auto-updates for new branches (can be toggled off), so a back-up of the save is especially important.
- Navigate to your game files. On Steam this is located at 'C:\Program Files (x86)\Steam\steamapps\common\Nuclear Throne'.
- Open the folder titled 'tex'.
- This will include 6 spritesheets in which all sprites are stored. Any of them can be opened in an image editor tool.
- paint.net is recommended in the opinion of this guide.
- Any desired sprite edits can now be made in the image editor. Do not move sprites around or change the size of the image.
- Saving the image will overwrite the original spritesheet, which will apply these edits in-game.
- Once a new game session is launched any new changes will be present. Make sure to create a new backup as well.
Non-Beta (u99r1) & 2021 Beta Editing
Versions before the 2023 beta requires the usage of multiple tools in order to make sprite editing work, and is more tedious to find sprites.
- Open YAL's texture viewer which will be necessary for this process.
- Select 'Menu!' on the left top and then 'Open'. This will open the file explorer, navigate to the game files.
- On Steam this is located at 'C:\Program Files (x86)\Steam\steamapps\common\Nuclear Throne'.
- Select the right file based on version; if the wrong one is selected it will simply give an error.
- For u99r1: Select 'nuclearthrone.exe'.
- For 2021 Beta: Select the 'data.win' file.
- If done correctly the texture viewer will display 6 different spritesheets on the left sidebar.
- Select the desired spritesheet to edit and click the 'Save?' button at the top. The specific spritesheet will then be downloaded.
- The spritesheet can now be opened and edited using any image editing tool.
- paint.net is recommended in the opinion of this guide.
- Any desired sprite edits can now be made in the image editor. Do not move sprites around or change the size of the image.
- Spritesheets in these versions are a cluttered mess. Skip to the next section for advanced Texture Viewer usage to assist with editing, and then return to this step once complete.
- Once the desired edits are made save the image as a png.
- Return to YAL's texture viewer. Select the 'Replace?' button on the spritesheet you edited, and select the now modified version.
- If the image file is larger than the default it will return an error and not upload, this is a common issue.
- png crush is a good tool as it will reduce the file size while not reducing quality.
- The edits made on the texture viewer will not be immediately apparent. Swapping view to another spritesheet then swapping back will make changes visible.
- Once any spritesheets are replaced select the 'Save As...' button under the menu. This will generate a new nuclearthrone.exe or data.win file depending on version.
- Take the newly downloaded file and place it into the game files, replacing the old one.
- Once a new game session is launched any new changes will be present. Make sure to create a new backup as well.
Advanced Texture Viewer Usage
YAL's texture viewer has a few tools as well to assist with sprite editing on Non-Beta and 2021 Beta.
Selecting 'Menu!" and then clicking 'Show sprites' will open up a list of every sprite on the sheet based on its animation grouping. The sidebar width can be adjusted to see the full names easier. Selecting a sprite from the list will automatically change to the spritesheet it is located on, though zooming out manually may have to be done to see all the sprites. Right clicking a sprite on the spritesheet will jump to its location on the list.
Ctrl+F can be used to search for groupings easier, though be aware that object names in the code may be different than what the community uses. YAL also has a sprite list that has things sorted into categories, which can be really useful.
Groupings will include every frame within that specific animation. For example the image above shows 'RatkingWalk' which has 8 sprites numbered from 0-7, which covers every frame of its walk animation. In this image 0 would be the first frame, and 4 would be the fifth frame.
Mousing over a specific sprite will show its sprite size which it can be edited within, in this example being 34 x 31 pixels. The other number refers to its X and Y coordinates on the spreadsheet, being 473, 797 in this example.
Using the paint.net program the coordinates can now be used to locate where the sprite is, which is at the right bottom of the program. The rectangle tool can be used to select the exact pixels for full accuracy, and while active it will prevent the pencil tool from drawing outside of the selected area.
Anything within the sprites boundaries can be edited. This means that sprite edits do not have to be within the specific lines of the sprite, just within the boundaries of the red box selection on the texture viewer. Adding or removing pixels anywhere will NOT change the hitbox.
Under 'Menu!' there are two other tools, the first being 'Save images' which will save every individual sprite as a ZIP. 'Save strips' will save every sprite in their specific grouping as a strip of sprites in a line in their frame order. These will take a few minutes to put together as there are over 10,000 sprites in the game.
Saving all images/strips is not necessary to the process of sprite editing for vanilla NT, although strips are useful in seeing every sprite in a grouping side by side rather than having to locate and edit them individually on a giant spritesheet. The downside to this is that once respriting is finished, every sprite will have to manually be placed in the exact right position on the spritesheet. (paint.net allows for selected images to be moved one pixel at a time using the arrow keys for exact positioning.)
NTT Spriting
Coming soon to a Wasteland near you!