Sandbox Logo
Page Header

Tools

Tools I made for the project during the game jam
I couldn't find any built in splines, so I made one quickly.


Sadly I had to abandon them for gameplay as there was a bug where the player would walk offset from the spline and I didn't want to fix it, but they're still used for the cameras on the main menu.
When I made the first level, it was the same dude copy and pasted over and over. That got very boring very quick. So I decided to make something that pulls all the clothing in the game into a list that I can control with settings such as "Chance of Clothing Category" "Chance for good/bad guy" "Tints" etc.

When the game switched to a Western theme it was as simple as removing clothing items out of the list and adjusting the sliders based on what I thought was appropriate.

I find manually picking clothing very tedious, so my plan is to expand this and release it as a library or something!
This is split into two parts:

Room Generation
This part is for generating room and target layouts via a list of data. This made making initial layouts and iterating them extremely quick!

Room Visual Generator
This part was to change the rooms themselves. Being able to pick what type of wall in what direction and have it pick randomly from a list, made making/change rooms easy and quick.
This tool itself isn't complex but I just wanted to shout out how easy it was to make my own section on the toolbar! Granted I did have to look at source code but when I did it was simple, clean and intuitive. Which in my experience editor UI in engines never is, so good job Facepunch Team!

Also, this made testing in general a lot easier, letting the fastest bot run and then simulating the average click time per target gave us a ballpark of how players might do time wise.

User Comments

Wisd
19 Days Ago
Really interesting stuff
trende
18 Days Ago
A question, are you using ResourceLibrary.GetAll<>() to get all of the clothing ever and then use LINQ to filter by category? That could sanitize your clothing code in general
Coomzy
18 Days Ago
I'm using ResourceLibrary.GetAll<Clothing>() to get the clothing and then looping through them and adding them to a list of that type. If I was to do it again, I'd probably switch that to a dictionary, not really sure why I didn't use one at the time.