Log #36: April/24/2025
- Nameplates. Nameplates.
- Demo Redesign
- Okay, fine signage, you win. I will manually set your lengths :((
Our team continues to work hard this week, and progress is obersvable.
I developed Nameplates to decorate desks with NPC's names by getting the team's coders to help me. And I improved our signage to have manually set lengths so you can guarantee that sign plaques are big enough.
I have also been working to redesign our game's levels, focusing on the Demo. I think my new layout is much more realistic, and I'm really happy with how it has been turning out.
I also have plans with this demo redesign to help reinforce the idea that something mysterious is going on, an idea that we clearly need to refine from our playtesting.
MATH SEGMENT: Geometry
When redoing our demo's layout, I made things much more compact.
A sketch of my plans for the Demo.
I was inspired by some office layout images I saw online, and I realized how much more compact real building layouts are. My old layouts had needlessly long hallways connecting some rooms, but this felt awkward. Real buildings make good use of space, so desiging a more compact layout actually feels more natural.
My design plans to fit the Demo Map's rooms together like pieces of a jigsaw puzzle.
In order to execute this idea, I am required to more consciously measure how large rooms and hallways are. I repeatedly tested out layouts in-game until things "felt" right to me.
Figuring out the proper proportions of room sizes and keeping walls lined up with one another mostly invovled me checking the coordinate locations of different assets, and testing.
While there isn't always a mathmatical science to what makes a layout "good," implementing designs uses geometry in balancing designs and measuring dimensions almost automatically.
BONUS CONTENT: For those of you who read my math segment about making signage and how to set the size of the plaque based on the inputted text, I ended up giving in and just having a variable you can set to override the calculated size, to catch any edge cases with wide letters like "MMMMMMMMM". I didn't scrap my old method of calculating the plaque length, I just provided an option to override it with a custom plaque size.
MATH SEGMENT: Algebra and Functions
I mentioned above how I made nameplates for NPC's desks. I used a similar technique to what I did for the signage plaques earlier. I just accepted that things wouldn't be perfect, and again aimed for a middle ground between not leaving too much extra space on nameplates, and not having enough space on nameplates (The reason there is difficulty is because some letters are bigger than others, so you can't just use the number of characters in a portion of text to set a nameplate size).
The real difficulty with the nameplates, however, was getting a nameplate to show the player's name.
One reason I have to settle for some compromise on the nameplate sign's length is because the player's nameplate doesn't have a known value before the game. But I guess I could create a manual override for the NPC's plates... that's an idea...
Initially, I tried to set the player's nameplate right at the beginning of the game, but because the player hadn't yet entered their name, no name was availabe for their nameplate. I had to get help from our team's coders to call the nameplate function from another script (after the player's name has been set).
There were additional details to work out too. I got (more) help to make sure every nameplate got called. This was done by creating an array of all the nameplates, and setting each nameplate in the array with a for loop.
While my main job is not coding, I enjoy learning about all of these things, and trying to solve the "puzzle" of whatever the task at hand is. Knowing when to call a function, and to call it for each actor are both important ideas used frequently in programming.
That's all I have for today. Thank you for reading.
-Luke Knotts
