Starbound

Starbound

Not enough ratings
Randomizer
By Wonky
Here's how you can randomize sounds/music/sprites/etc to create a truly awful Starbound experience.
   
Award
Favorite
Favorited
Unfavorite
0. Backup
First, make a backup of your "storage" folder (which is where your characters and universe are saved) in case something goes horribly wrong (which it shouldn't).
1. Unpack game's assets
Before you can randomize the game's assets, you need to unpack them with this script:
@echo off win32\asset_unpacker.exe "assets\packed.pak" "shuffle" >NUL echo Done! pause >NUL

Save it as a "unpack assets.bat" file in Starbound game folder and run it. It will unpack all the game's assets and put them in a folder called "shuffle". Move that folder to your "mods" folder.

Next, inside the folder "shuffle", open a file called "_metadata" in notepad and copy-and-paste this text:
{ "author" : "me", "name" : "shuffledgameassets", "priority" : 0, "friendlyName" : "Shuffled Game Assets", "includes" : ["base"] }
Then save the file by pressing Ctrl + S.
This will make sure the randomized assets will be treated like a mod and everything will load up the way it should.
2. Remove unnecessary files
Then, you'll have to create another .bat file with this code inside it:
@echo off del /s /q /f namegen.config del /s /q /f penguinoid.config rmdir /s /q interface rmdir /s /q ships rmdir /s /q dungeons del /s /q /f *.macros del /s /q /f *.object del /s /q /f *.animation del /s /q /f *.miningtool del /s /q /f *.aimission del /s /q /f *.lua del /s /q /f *.achievement del /s /q /f *.event del /s /q /f *.frames del /s /q /f *.behavior-project del /s /q /f *.configfunctions del /s /q /f *.disabled del /s /q /f *.functions del /s /q /f *.2functions del /s /q /f *.questtemplate del /s /q /f *.json del /s /q /f *.currency del /s /q /f *.objectdisabled del /s /q /f *.ase del /s /q /f *.beamaxe del /s /q /f *.harvestingtool del /s /q /f *.inspectiontool del /s /q /f *.painttool del /s /q /f *.particlesource del /s /q /f *.ridgeblocks del /s /q /f *.sbvn del /s /q /f *.tillingtool del /s /q /f *.treasurechests del /s /q /f *.ttf del /s /q /f *.txt del /s /q /f *.unlock del /s /q /f *.wav del /s /q /f *.wiretool del /s /q /f *.monsterpart del /s /q /f *.activeitem del /s /q /f *.animation del /s /q /f *.augment del /s /q /f *.back del /s /q /f *.behavior del /s /q /f *.biome del /s /q /f *.bossability del /s /q /f *.bush del /s /q /f *.chest del /s /q /f *.cinematic del /s /q /f *.codex del /s /q /f *.collection del /s /q /f *.combofinisher del /s /q /f *.config del /s /q /f *.consumable del /s /q /f *.cursor del /s /q /f *.damage del /s /q /f *.dance del /s /q /f *.dungeon del /s /q /f *.effectsource del /s /q /f *.flashlight del /s /q /f *.grass del /s /q /f *.head del /s /q /f *.instrument del /s /q /f *.item del /s /q /f *.itemdescription del /s /q /f *.legs del /s /q /f *.liqitem del /s /q /f *.liquid del /s /q /f *.material del /s /q /f *.matitem del /s /q /f *.matmod del /s /q /f *.modularfoliage del /s /q /f *.modularstem del /s /q /f *.monstercolors del /s /q /f *.monsterpart del /s /q /f *.monsterskill del /s /q /f *.monstertype del /s /q /f *.namesource del /s /q /f *.nodes del /s /q /f *.npctype del /s /q /f *.object del /s /q /f *.parallax del /s /q /f *.particle del /s /q /f *.partparams del /s /q /f *.projectile del /s /q /f *.radiomessages del /s /q /f *.recipe del /s /q /f *.spawntypes del /s /q /f *.species del /s /q /f *.stagehand del /s /q /f *.statuseffect del /s /q /f *.structure del /s /q /f *.tech del /s /q /f *.tenant del /s /q /f *.terrain del /s /q /f *.thrownitem del /s /q /f *.tooltip del /s /q /f *.treasurepools del /s /q /f *.vehicle del /s /q /f *.weaponability del /s /q /f *.weaponcolors del /s /q /f *.weather for /f "delims=" %%d in ('dir /s /b /ad %1 ^| sort /r') do rd "%%d" 2>nul echo. echo Done! pause >NUL
You can name it "delete files that shouldn't be shuffled.bat".
This code will delete all the unneeded files in our "mod" or else there might be serious issues.
3. Install Python
For the shuffling script (in the next section) to work, you need to install Python. If you already have it installed, just go grab the script.

Here's a link to download Python: https://www.python.org/downloads/
Just click on the big yellow button that says "Download Python X.X.X".

Here's a tutorial how to install Python: https://www.youtube.com/watch?v=OV9WlTd9a2U (skip to around 2:30)

4. Shuffling script
This script was made by Jam2go on Youtube for Skyrim (you absolutely need to watch his randomized sounds Skyrim gameplay, it's awesome) and slightly modified by me for easier use. This is what we're gonna use for Starbound:

import os, subprocess from os import rename import subprocess import random import glob from shutil import copyfile extensions = ['ogg', 'png'] names = [] for ext in extensions: filesA = glob.glob("G:\Steam Games\steamapps\common\Starbound\mods\shuffle" + '/**/*.' + ext, recursive=True) filesB = filesA.copy() match = True while(match): match = False random.shuffle(filesB) x = 0 for file in filesA: if filesB[x] == file: print(str(x) +": " + filesB[x] + " = " + file) match = True x += 1 temp = "G:\Steam Games\steamapps\common\Starbound\mods\shuffle\\temp." + ext x = 0 for file in filesA: print (file + " <-> " + filesB[x]) copyfile(file, temp) copyfile(filesB[x], file) copyfile(temp, filesB[x]) x += 1 os.remove(temp) #wait = input("Completed shuffling '" + ext + "'.") wait = input('Done!')

Before you save this script, you need to put the correct paths. Replace this:
G:\Steam Games\steamapps\common\Starbound\mods\shuffle
with your path where your game is located.
Notice there are two similar such paths in the script. You need to replace both of them, but remember to keep the "\\temp." part in the 2nd one.

This script will randomize all .ogg and .png files.
.ogg files contains music and sound effects, .png files contains graphics. You can choose which you want to randomize by changing this line in the script: extensions = ['ogg', 'png']
Having both the extensions will randomize both sound and graphics, but you can remove one or the other by changing the line to, for example: extensions = ['png']

After you've made those changes, save the script in the "shuffle" folder as a "shuffle.py" file.
5. Shuffle!
Now that everything's ready, we can finally randomize Starbound!

Make sure that the files "delete files that shouldn't be shuffled.bat" and "shuffle.py" are inside the "shuffle" folder and that the entire "shuffle" folder is inside the "mods" folder, and that you put the correct paths inside the "shuffly.py" script.

Once you're absolutely sure everything is where it's supposed to be, double-click on the .bat file and let it remove all the unnecessary files. Once it's done, double-click the .py file and wait until it's done shuffling all the game's files around. This whole process shouldn't take longer than just a few minutes.

After all that is done, you can launch Starbound to see what it looks/sounds like!
Video example