Log #37: May/2/2025
- Callen's Desk is a Mess
- Secret Door
- Wait, When's the End!?
This week I was able to finish my layout for the Demo. I think this is the final layout now, and it's crazy (and terrifying) that our project's deadline is so soon!
The updated map includes more clues about the hidden mischief going on in our game, a hidden room, and nameplates marking each NPCs desk. One such NPC, named after our team's skilled artist, decorates the messy room of someone who seems to have faced some trouble.
All of us designers meant to discuss learning game engines, which was educational. A few revelations about how Unreal could have saved time were made, and I puffed my chest with pride as I was able to detail how one accesses exposed variables in an actor's detail panel.
Our coders have been doing fabulous work this week. They have programmed the mechanics for basically everything except the ending now, and that scares me. I am so fearful noise in trouble, because I don't know how our game ends! Leave it to a designer to not plan the flipping game. Well, I have the weekend now... How does our game end!?
MATH SEGMENT: Geometry
...An ongoing geometric investigation...
It's been a long time since I mentioned what I'm calling Joel's Problem. Back in this old blog post, I discussed a question posed by my friend Joel (check it out for more context).
The question asks how to calculate the angle at which to cut a plank of wood if you want to fit it inside of a box, with opposite corners of the inset beaming hitting opposite corners of the box.
I have been trying to solve this problem, and continually intrigued because it seems like it shouldn't be that hard, and yet a solution has thus far alluded me.
My more recent methods have involved using the Geogebra.org graphing calculator to create examples, and look for a trend. But after attempting to use variables in Geogebra to make trying lot's of variables quicker, I realized something.
I know how to calculate an actual example, so maybe I can abstract these calculations, and use them to find a general relationship. This seems so simple to me now, but it involves more tedious calculations that seem to make less.
Our aim right now has been to assume we know the length of the inset beam's diagnol crossed against the box's side, and try to find the width of the inset beam.
Since we can calculate the equation of the each of the beam's side lengths, then we can find a perpindicular line that passes through both of the beam's sides to create a triangle, and solve for the unknown length.


A drawing of Joel's problem with symbols labeling lengths. Note how the beam's sides each hit an opposite corner of the box that the beam is inside of.
I have not yet finished the calculations, but by taking the formula for each of these steps to find our unknown, I think I can eventually extract a general relationship between the lengths of the box and the inset beam! Wish me luck!
Learning to pull out the step-by-step processes of the formula I have learned in school is interesting, and maybe one day I will be able to tell Joel how to cut his wood!
I also did work designing our new Demo Map and Dream Map layouts, and I made the collision on some actors more precise too. So my level designing geometry is still being exercised.
MATH SEGMENT: Algebra and Functions
This week I worked on redoing the Demo Map, as I mentioned above. Unfortuantely, this broke the code for our HR worker NPC, and our Boss NPC, so I had to get my hands dirty (ask for help), and dig in unfamiliar code to fix what my new level design had broken.
Our NPCs walking code was broken, and at first it appeared that I only needed to change the location variables and everything would work. However, we were decieved. It turned out, we had only changed the default value of those variables, but since the code immediately sets them, our work would get overridden. Eventually we found where the code to set the locations for the NPCs to walk was, and we were able to appropriately tell HR where to walk.
Variables are like boats for information. Making sure you understand what those boats hold, and when they hold that information, is an important part of programming, and algebra. I continue to poke at code in our game, and am slowly growing my understanding of how computers and algebra mix.
BONUS CONTENT: Remember how I talked last post about creating a manual override to make custom nameplate lengths for my NPCs? Well I did that! Hooray! Even though my algorithm may not make a long enough nameplate for Mr. MMMMMMMMMM, now I can manually make one long enough!
Whelp, that's all I have for today. Thank you for reading this post. Have a good one!
-Luke Knotts
