Log #33: April/4/2025

  • Breaking Things by Fixing Things
  • I Like Nonsense?
  • UV Maps and Normals

At the beginning of this week, everyone discussed the general stages of development, and we were all encouraged to get our game to a playtesting phase. Playtesting is essential for making a fun game.

Afterwards, I gathered just my team to talk about our goal of making our game "playable" for next week (something I don't think we'll be quite ready for now). After being slowed by bugs (and my generally disorganized planning), my fears about not finishing our project are growing.

While our game has plenty of mechanics, it's pulling everything together into a sort of story that our game is really lacking. That is pretty much my job, and have been deeply struggling with storytelling.

One big lesson is simply for me to play more games. Consuming more art helps make artists better.

I also spent additional time talking with our teacher about storytelling in general. My main question was about how to practice writing even when you don't have an idea. While I could just plug nouns into a Hero's Journey plot, that seems robotic and not very interesting. The advice I recieved was to find something meaningful to me, and communicate that.

For example, I could make a story that still follows the Hero's Journey, but is meant to tell people how I think we could benefit from more heavily prioritizing eating enough food. Suddenly you have a theme that you can explore with your story, and you can get creative (with a direction) as you communicate via a story. It makes the use of symbolism and irony more than just concepts; they're vehicles for things that actually matter.

While that realization may seem simple to you, it gives me a better starting point when I need to create a story right now, but don't have any inspiration or pre-established theme. I can just pick an idea that's something important to me, and roll from there. And boom, it may be easier to make creative decisions.

For our project, I had to look inward at why I was so inspired by things like The Backrooms or prints by M.C. Escher. I love those works of art, but I didn't understand on any concrete level what they meant to me. That made it hard to pick a theme for our game, ERASE. Thinking about why I liked my inspirations let me land on some conepts that I appreciated and found meaningful. After some contemplation, I picked the idea of "loving confusion and fearing confusion" for our game. From there, it became easier to make creative decisions because I knew what I was trying to say, at least on a vague level. And that's something I can work with, baby!

MATH SEGMENT: Geometry

"UV Map" this, and "Normal Map" that, I've never understood the complaints of 3D artists... until now. I was trying to figure out how to put a coffee logo png into our game, and our teacher helped me see into the world of 3D art.

The main things I learned was the purpose of UV Maps and Normal Maps.

UV maps are used to tell the computer what parts of a 2D texture image go onto what parts of a 3D model. If you are familiar with Minecraft skins, the layout of the skin file essentially is a predetermined UV Map. You have to put the graphic for your character's head on one part, while the body has to be on another part of the 2D image.

UV maps tell the computer which areas of an image go onto which areas of the 3D model. And unlike in Minecraft skins, artists will make custom UV Maps for thier different 3D models.

Normal maps are also interesting. When 3D modeling, making a model with lots of detail can be expensive for your computer. So, you can basically "fake" detail with normal maps. Instead of having all of the complexity of a 3D model, a normal map is a 2D image that tells light how to interact with the model. This lets you create more details without making a more detailed model.

Even though as a designer, I will probably not mess with UV maps or normal maps very much, it is still important to understand the processes, and it helps me better understand the roles of the poeple I work with.

MATH SEGMENT: Algebra and Functions

While coding isn't my main role, I have been dabbling in Unreal Engine's visual scripting language, Blueprint. Blueprint can be easy to understand, because you can visually follow the flow of events.

After updating the collision on our chair model to be more precise, I found that our player ended up getting stuck in our chair (And it's hard to argue that was a feature).

My initial fix made the chair move out of the way of the player, but problems arose again when our HR worker NPC got stuck in their chair.

I tried to fix this by making both chairs move, but I ran into two problems.

Thanks to the help of a coder, we found that the chair move-out-of-the-way functionality was called by an event for only one chair. Our team's coder was easily able to fix this by calling the event for each actor of our special chair class.

Then I could see the second problem, which was that the chairs were moving in the same direction. The problem was that I was adjusting the chairs in the same global direction, even when the chairs were facing opposite directions.

The way I fixed this was by making the program move each chair from their starting position based on a "ChairChange" variable that I could individually set on each actor. This enabled me to move the player's chair and the NPC's chair such that the chairs moved conviently out of the way for both characters.

Working through these chair problems I caused and tried to fix was pretty cool. I like getting to understand the flow of events, and I like being able to create flexible chair-systems that can be adjusted quickly.

Well, that's all I have for today. Thank you for reading. Peace out!

-Luke Knotts




Okay, so I don't want my email to be scrapped by bots so I'll explain it to you. First you write my name, but with an 'f', all lowercase. So you get, 'fluke', got it? Okay, then you add an 's', to really make the email say 'flukes', all lowercase still. Then there's a dot, like a, erm, period. You know. Those things we use in writing. After that is the word 'targets', like the things you miss in life. Then there's a 0, or a ZERO, if you prefer it written out. From there it's the typical, '@icloud.com', you know, one of those 'at' signs, but the symbol, and then it's followed by an 'i', the word 'cloud' and then another one of those dot things (.) and 'com', which I think is short for company. So that's my email. Hopefully that helps.