top of page
Top Luring
sign.PNG

Luring Town

Made during the class Level Design 2 09/2021

Postmortem

In Level Design 2, we, the students, were tasked with building new levels using the same Adventure project that was used for Frozen Mine. All the levels had to adhere to a creative vision and rubric given by our professor, however, we were give much more freedom then before, allowing me to create a mechanic I couldn't have previously when working on Frozen Mine. My level, Luring Town, was based off of works by Alfred Hitchcock and H. P. Lovecraft that I thought would help me create a foreboding and suspenseful atmosphere.

Restrictions

Note: SuperGrids Refers to the given static meshes with grid materials used for block meshing in the project​​

​

Adventure Project's Creative Vision:​

  • Everything had to be created to fit the Creative Vision defined by the Adventure project.

​

Genre: Adventure

  • This is an “adventure game”.  An adventure game has the player assume the role of a protagonist in an interactive story driven by exploration and puzzle-solving.
     

Time Period: Modern-ish

  • Our adventure had to be believable, and feasible in the time period between the 1700s and today.

​​

Location: Earth-like

  • The location had to be Earth-like.  It could have been entirely made-up, but it had to be believable that the location could exist.  
     

  • Physics, gravity, and other natural phenomenon had to match Earth.

​​

Other Restrictions:

  • The player had to always be alone.  They could not come in contact with any other “beings” during the game.  No animals, people, robots, etc.​​​​​​

​​

  • Everything had to be created in scale with the Player Character.

​​

  • The majority of level objects needed to be created with SuperGrids. Geometry Brushes were allowed if more specific static meshes with a strong silhouette were needed, however, the majority of objects had to be created with SuperGrids.​​

​​

  • We had to restrict the player's vision so they could never see the void.

​​

  • Our levels had to adhere to three randomly given "beats" one narrative, one mood, and one theme/environment.

​​

  • Our levels had to somewhat adhere to our beat charts which we created before building our levels (a graph showing the order and difficulty of beats.

​​

  • Our levels had to contain narrative and gameplay beats.

​​

  • Our levels had to somewhat match our level maps which we created before building our levels.​

​

  • Segments of our level needed to be split between areas of refuge (rest and safety) and prospect (danger and advancement).​​

Restrictions Luring

What Went Right

Line Trace

After figuring out how to line trace by channel properly, the line was always able to track the player. I was also able to filter out certain objects to use as collision or as windows. The light is now able to organically tell the player through color when they are about to die and fades back to white when the line trace can no longer see the player.

Crate Children

After finding out that using multiple components on set transform sweep wasn't going to work, I created a parent child relationship that allows the parent to be called on the player's input, which will then call the appropriate children depending on whether the player has obtained the broom or not and what location the player is at.

Animation Pivots

This level sequence went a lot smoother than I thought it would. By creating invisible actors that acted as parents for much of the level, I was able to use them as pivots to rotate the level and extend the teeth for my final monster mouth animation.

What Went Right Luring

What Went Wrong

linetrace.PNG

Light Detection

It took a lot of documentation before I figured out how to line trace properly, which ate up two days of the time I had to build my level, and would impact other parts of the project negatively. Now it just looks so simple.

Crate Scene Root

Originally, I had multiple crates in one actor, which I would then place in a single area. However, this never worked the way I desired since sweep only works on the scene root of the actor. I ended up having to build the crates from the ground up again using parent child communication in order to get them working as intended.

cratecode.PNG
unlit.PNG

Color Contrast Glow

Originally this view was almost completely brownish-yellow. This had the negative consequence of making my level glow yellow whenever I built lighting. I couldn't figure out what was wrong, so I asked my lab instructors for help. One of them walked me through all my lighting and realized himself that it was the lack of color contrast that was causing the problem. The light was continually turning yellow when bouncing off the environment, because it had no other colors to bounce off of. It's something I never realized could be a problem until now, but I'm glad I learned about it. And in hindsight, I think it was causing the same problem in my team's project during Frozen Mine, only we were not required to build lighting then, so we didn't delve deeper into the problem. 

Obstacle Collision

This problem was discovered very late, so I was unable to fix it before submission. For some reason, sweep does not work for the obstacles lerp to set transform. Given more time, I could have borrowed the crate's code in order to solve the problem, but when push comes to shove meeting the deadline mattered more.

bed.PNG
key.PNG

Safe Key in Build

This problem was also discovered late, however, its a lot stranger. The key was originally supposed to be locked in a safe. Due to its interact collision, I had it placed below the safe and teleported the key to the correct location upon the safe being opened. Playing in editor, this event worked completely fine and as intended, but when it was pushed to a build, for some reason the key would not move. I still don't know what caused this problem, but I was forced to quickly change the puzzle to just have the key in a locked room on the floor instead.

Infinity Fence

I created this fence in hopes of being able to shave down time spent on placing them. The fence is supposed to be able to change size depending on a public variable, allowing me to create fences just the size I need. The fence actually does work, but only for the first instance. I didn't have more time to work on it, so I ended up just using it to create static meshes of different sizes. So still sort of a success, but not how I originally envisioned it.

fence.PNG

Conclusion

Although I had far less time to spend on this level then Frozen Mine, I think the new freedom I had really let me experiment with new parts of unreal I had not used before. I learned a lot and I can't wait to put what I learned to good use.

Also, I didn't think this warranted being placed in What Went Right, but I learned about Unreal's dedicated camera shake blueprints, which I thought were cool and wanted to point them out somewhere in here.

Level Pictures

What Went Wrong Luring
Level Pictures Luring
sign.PNG

Level Start

Presentation of My Level

Presentation Luring
bottom of page