The immersive sim stealth horror game created by Dillon Rodgers. This was my next "target" after I completed the Chop Goblins randomizer, as while rando in Chop Goblins is fun, I knew that a game with as many intricate systems like Gloomwood would be much more interesting to develop a randomizer for. There are other mod ideas I have for the game, but while I have been learning how the game works I do want to wait for the full release before working on all of the mods.
The Gloomwood Randomizer is a mod that replaces a .dll file for Gloomwood, which allows it to read from user generated files and randomize the enemies and items of the game based on these settings.
The way this is done is by getting the entity ids of the enemies and then adding a "weight" value to them (i.e. higher weight = more likely chance to spawn). There's also various settings that allow for enemies of different species to remain friendly depending on what the original enemy was, along with a variety of item randomization features (complete randomization vs. randomizing objects of similar types, i.e. weapons become other weapons, ammo becomes other ammo, etc.).
This project has been mainly for fun, but also has taught me a lot about working with other people's code and how to get around certain restrictions. Specifically, the way I create these mods is by using dnspy to edit the .dll files and the source code, but doing it in this way prevents me from adding new variables to classes, and I cannot make private variables public if I need them elsewhere. There's a lot of limitations that I need to work around, but the code is so robust that there's always a way to get through it.
While I would love to get the chance to work on a Gloomwood Randomizer officially, I'm content with having this be both a programming and design challenge, both getting things to work and figuring out what settings players might want to use (and how best to allow them to set them). Below is a link to the latest version of the Randomizer.