top of page

Unit 8 FMP

____

Everything new is in pink
also check my practical

Blender modeling 

Once you open up blender you are greeted by The Default Cube, not good, you got to delete it instantly. 
dcube.png
nocube.png
Now once the Bad cube is deleted you can now add a new cube. 
Why?
Well you Can't claim to be working from scratch if you're using the existing default cube. 
Now we can safely  get started.
dcube.png
walldimensions.png
In edit mode I will add a single loop cut about 5 inches from the bottom of the wall. This is the start of my skirting board for my wall.
In the dimensions tab on the left I will input my desired dimensions to mould my cube. 
wall_loop.png
wall_extrude.png
Facing the side of my wall I'll extrude the face in the loop cut out by 3.5 inches.
Press the "2" key on the keyboard to select vertices and click on the vertices on the wall
wall1bevle.png
wallbevel2.png
At the top of the screen I selected the "Shading" tab. This page will help me texture my wall. 
shading2.png
Once you click on the vertices hold "Ctrl" and "B" then click and drag to the right this will pull the vertices to the wall. While still holding the left mouse button Use the scroll wheel to add loop cuts in the bevel. This will determine how round my skirting board will be. 
I went with 8 Cuts so it's not blocky or too detailed. 
On the right hand side of the screen click the small ball labelled "Texturing", Click the small plus button to add a texture setup screen. I then clicked on the yellow dot and assigned my wall to a "Image texture" present. 
At the bottom of my screen there will be 3 nodes, in the image one click "Add Image Texture" and I select my wallpaper. 

If you can see, the bottom left corner has an image and a small square. The square is my wall size in comparison to the image. 
shading1.png
To fix my missed placed image texture. To fix this  all I have to do is drag it to fit my image properly. 
wall_done.png
Now back into the design tab and I have pressed the "Tab" button you can see my final product, one of my library walls fully textured. Using this model I can change the image to make an entirely different wall. This is called a modular asset. 
shading3.png
I am happy with my outcome especially as i can re texture it as many times is I want to have a different wall. 
I was able to use my prior knowledge to make this wall for my levels.

Because I have made walls before I didn't see this as much as a challenge. But I did struggle to applies textures but i did eventual get there.  

Narrators intro

This level will be a short animation of a man sat In a old arm chair with a bookshelf and a writing desk. The room will have well optimised lighting and improved assets in the future but right now this is all basically a placeholder just to get the cameras in the right place. 

First this to make a game is to create a blank level.

In the content folder i have created a new folder called Main_Menu. This is where ill put all te stuff i use to make the menu in such as the level sequence, level its self and some assets.

screenshot 2025-03-16 101447.png
screenshot 2025-03-16 101557.png

On the left hand side i add: sky atmosphera, sky light, fog expermental and directinal light. This lets me see my world and grid lines better.

screenshot 2025-03-16 102255.png

I import my wall asset made in blender with its textures in the asset folder i made erilera.

screenshot 2025-03-16 102317.png
screenshot 2025-03-16 102427.png

I duplicat my assets and rotate them to make a small room for my main menu to start in. As the back wall isnt the right size It is cut out from view.

I then turn my png images into a meterial to use as my texture for my wall.

screenshot 2025-03-16 102654.png

I will now improve my lighting to brighten up my room as well as highlight where my narrator would sit with a stronger light. 
 

i copy and past the floor as my roof becase it was easy. Once this was done my room was dark soi added 2 point light and incresed the intensity to 25 on each.

lights.png
screenshot 2025-03-25 10-14-02.png

I just created a plane and re texture it with a carpet texture with included a Hight map. A Hight map makes a texture look 3d without being 3d. 

Not a lot of images since it was super easy.  Took like 5min. 

I have added some temporary carpet for my level. I went for this pattern as its simple and isn't a modern or old look its neutral. 
 

carpet2.png
man_chair.png

The chair and man were both found on sketchfab.com for free.

The man asset is a animation asset not a static one. 
Once the level plays he will start moving in a loop. 
This animation was download from mixamo.com. this can uses any human asset without bone structure and give it one with your desired animation all in a single website. 

desks.png

Add a writing desk and a regular desk. Why? its in my reference images I don't know why.  It also helps close in the corner of my subject. 

bookshelf.png

Lasts I have added a bookshelf and a small tall coffee table next to my subject. This helps tie all the things you would have in a old cluttered house without over adding objects. 

I try and center my camera to the back wall and place 2 Cine cameras where mine is. I rename the to, Cam_50mm and Cam_30mm. This helps me identify witch camera i need to work on in the future.

screenshot 2025-03-16 102835.png
screenshot 2025-03-16 103325.png

Create a level sequence and pare it with my Cam_50mm and trak its location for 5 seconds and make it loop. This came isnt going to move but i need it to laste for 5 seconds to loop a shaky effect later on.

I do the exact same for the other camera as well.

Disclaimer- for this piece of work i can't use a specific application so just imagine its working and there. I'll upload the actual work later. 

First you start with the image of what you want from the internet. Once the image is downloaded you open the application Shoebox. Now this is amazing but i cant run it on the college PC because they don't allow EXE to run. This application makes textures from an image. This is very helpful to get a realistic look at my assets. 

Now as I've done my texture I will start to model my assets on blender. First start by adding the image to blender to help model around it like tracing it.

Once this is done apply all transforms and unwrap it. 

Now give it an image texture to it and add in your new texter previously made. Select the desired face and alline it properly to the image to get the scale right. Do this for all faces.  

This is the new intro animation which now includes an animated character and furniture. All these assets and textures are free and are all copyright free but I'll include their name in my creddits list.  

By adding these assets it makes the room feel a lot less empty and more home-like. 


By adding my new objects into the scene the camera picks it up instantly so no extra code needed. 

Intro test 2

Adding occlusion culling

Implementing Occlusion Culling

This video shows me adding occlusion culling to my game, a feature that helps improve performance by not rendering objects the player can’t see. This is very useful for running the game smoothly on slower computers. I’ve done my best to follow the proper steps to implement this feature into my game. However, by the end of the process, occlusion culling didn’t work properly. This was caused by human error, not the engine — somewhere I missed a step or didn’t calculate the right values for it to work correctly. Some objects did disappear at the right time, but since it wasn’t consistent for all, I’ve decided to drop this feature for now.

Technical Setup

In the video, I start by creating an occlusion volume in my chosen level and set it to be boundless so it affects the entire level, not just inside the volume. Then, I add the sizes of most objects, like 500x500 for walls or 100x50 for lamps, into the volume, along with the distances at which these objects should disappear from the player’s view.

Conclusion: Why Occlusion Culling Matters for My Game

Occlusion culling is essential for optimizing my game’s performance, especially since my level design includes many objects and complex environments. By preventing the rendering of unseen objects, it reduces demand on the GPU, allowing for smoother gameplay and better FPS. This ensures a more enjoyable experience for players, even on slower computers.
I was doing some work in unreal engine 5, good work, amazing actually, but I forgot to unpause. I was concentrating so much that I forgot. I didn't realise until almost 4 hard working hours had gone by. not a single piece of evidence in what i have done. I'm not going back so I'll have to explain. I will also provide screenshots of my outcome. 
During this time I did however watch 2 videos in which I can put them down.
During my unevidenced work i achieved the following: Working settings menu, clean animation of the settings widget. A large amount of level design layout, occlusion culling for optimisation, doors which lock you in a room allowing the occlusion culling to work better and a shaky camera for realism. 

And no I didn't cheat and purposely not evidence it.
This video shows some new and improved features. This video shows a new paused menu with a smooth settings animation and working toggleable buttons, a camera shake mechanic which applies to running, longer rooms and better modelled assets with new textures and the lighting is fully optimised for low end pcs and is not to bright overall.

This is the top down view of my main level. This image show’s all the corridors and rooms for my level.

Brown: desk, filing cabinet office accessories etc. 
Green: multiple choice room
Light green: rows of chairs
Blue: Enter once room
White: Useless rooms
Purple: Starting room
Black: empty space
Yellow: Hallway
Red: door
 

newLayout.PNG
DarkLayout.PNG

Making locked door with equip-able key to unlock

First I start with finding references for some keys. For the time being I have gone for a basic key. I can always change this later if I want to.

I import the reference image into blender to help model it better. This will also help to get the scale right.

I now make a rough shape referencing the image.

I now add 15 loop cuts to the top of the key to then move into the same shape as the key.

Here is the final model in blender, no texture. 

Why am I making a key?
I mean The Stanley Parable doesn't have one, well it can give the player some else to do. This can make the player slow down and look around in my level and maybe even see things they would have missed if they just ran through it. This can also extend the game play making my game seem longer than it could be.
 

Adding my key into my game

I now import my key asset in unreal in its own folder. In this folder I will create a New Blueprint Actor and name it Key. In this blueprint I'll add a static mesh and add in my key. I may have to scale it a bit since it is made to scale but i'd like it bigger now.

screenshot 2025-05-07 194055.png

Then add a short animation of this key spinning in the event graph but rotating the yaw by 0.5 and making it loop indefinitely. 

I then add this unlocking code to the door blueprint I previously made which opens with the “E” key to open the door once and when you go past it a certain distance it closes and never opens again to keep you from going back and also help hide occlusion culling in the background.

screenshot 2025-05-07 194131.png
screenshot 2025-05-07 194817.png

As you can see in the details tab I can select which door this key will unlock. I have selected Door2 which is the only door in this current room. With every new key I add I can assign it to a different door as many times as I want.

This video is showing off the key atchully unlocking the door in my game.

Slight plan change-New idea/ Ignore this section

The narrator is having a nightmare and the game you're playing is it. At some point the narrator will wake up and then start the main story of the game.

In this nightmare you will be shown all the controls to the game like a tutorial for my game.

What do i need to change/add to my game to implement this new change. 

I need to add a new start intro and new level all with slightly different textures but using the same assets. In this level it will be a similar layout but with the walls and stuff to be slightly destroyed and vandalised. This is crucial to the story later on. 

While you play the tutorial level you can hear sound only from the real world like a alarm going off and shaking the world.

I plan to have a small office with a desk and a computer in witch a watchable demo of what keys do what for my game. 

Level Idea

This code is For The player to enter the collision to obtain a new objective. Once he enters the collision box a widget overlay will pop up from the bottom of the screen saying “Press “E” Key for new objective. Once the “E” Key is pressed you will get another widget in the top left of the screen with an objective to follow.
CollisionForDoorBP.PNG
This is the "E" Key input for this collision to get the new widget. 
DoorBP.PNG
Re arranging the main levels rooms
This video is me re-locating the start of my main game. I felt like it didn't begin properly and started too soon with anything interesting so I am making it longer.
I first start by moving the start elsewhere to help build it with space. I then deconstruct it and move stuff around for a fresh look.
I group my desk and stuff so it is easier to duplicate it and move as one.
I changed the wall texture to the old one since I much prefer it and I spent longer on it as it's not just a solid colour. I also added in my old flooring to the old carpet since this pairs really nicely to the new camera filter. 
Old DigiCam Filter/effect
This is the video I followed to recreate an old digicam look for my game. I stumbled across this video on instagram and many more but this one was different, it was almost exactly what i've been looking for, without looking. The only bad thing in this video is there isnt a path to follow just a few screenshots and examples of code with no links or real tutorial to follow. But I managed to follow as much as I could and still re-created it just as good and with my own noise texture
I wanted to do some level streaming for my game and add some old levels into a single one and have it well optimised. Upon watching 3 different videos one after the other since they were not working for some odd reason. (They were on 2x speed and I may have missed something). 

Even my lecturer was stumped until he found a old post on epic games with the solution. 
help.PNG
This video is a bit long so do speed it up to your end. This video is me making the end credits For my game. Why? Well in case I forget who and where I got some assets from, so I need to remember to credit them. 
First I start with the grid panel and make it 1920 by 1080 to fit most monitors.
I then make another one a custom size to fit all my text on for the people. I Then add their names and headings to the new panel. Once I do, I need to animate it.
This is easy, all you do is select the smaller panel and start it above the first panel, then add a mark there, drag the end frame to the desired time so for me it is 15 seconds and then move the small panel all the way to the bottom past the large panel and mark.
Now when you press play it will start above the screen and slowly move down and past the screen like movie credits. 
Small features
This section is dedicated to touching up some old code/other stuff to improve the smoothness of my game.
Why?
Well since i started i have a lot more knowledge of almost everything, i know a lot more better ways to do something now than i did before.
Each touch up will include a title and each improvement will only be 1 or 2 images and/or paragraphs long.
 
Xbox controller input
touchup.png
I now add the input for a xbox controller to work in my game in the project settings tab.
I now add the new xbox input into the code for keyboard so now both Keyboard and controller can play my game. As you can see the new input is going into the same line of code as the keyboard is.
touchup2.png
touchup1.png
Final game play
This video shows me a solid 3 min of game play with a lot of textures and intractable objects to mess around with. This gaming test also shows a few bugs which are very easy to fix but I have run out of time to fix them which is a shame.

 
Reflection
What I have now with 2 weeks left I am extremely happy with. At the start it was going good then I hated my game and the whole idea of it so I basically slowed down a bit. But now by adding an old cam filter and some small features I am very happy with it now. 

My game is now officially published on itch.io for free for windows only. In this page it includes a single screenshot of game play and a 3min video of the entire game. This video isn't a trailer to pull you into playing my game but is the entire game being played. This video was made for wix as my final gameplay test to show what I have done. 

Click for link

work123.PNG

My game that is now publicly available for download and play is only 542mb because I cut out everything I wasn't using like the running main menu animation and the tree pack from epic games as this made the game was 7gb. Roughly 15 hours after my game was published it apparently has 6 views which weren't me and one comment. This comment was a bot promoting their game. 

Final feed back

I think the overall gameplay is pretty interesting, that being the game taking a sort of backrooms camcorder-esque feel. I really think it makes the game seem fun to play through as from what I've gathered this game is a sort of walking sim with the theme of liminal spaces. I am not usually interested in these types of games as they all seem to be a copy and paste of one another, but "Harold's Downfall" manages to stand out with it's unique environment, that being a nice bright and simple colour scheme, i really do think it's refreshing in comparison to the bland yellow walls and hum of ambience. 
I can also see a lot of effort put into making the game as it has a functioning Menu (or almost functioning) . I appreciate the disclaimer that the settings menu doesn't work in the main menu and only works in the pause menu.
one thing I don't appreciate is the fact that the game is automatically set to a graphical setting called "Ultra+" as this has Realtime raytracing enabled and is not friendly to lower end devices for anyone who wants to play, this could theoretically force some users to sort the game through config files, I feel like this could be avoided by either: providing a start up menu to configure everything before the game actually launches, or add a feature where the game automatically configures itself for optimal performance for the hardware it is being played on, I won't let this turn my experience into a negative one as I understand this was made in a measly 10 weeks and is still currently in development, but I love the overall direction this game is headed.
I would gladly play through this once it gets to a more polished stage as it has a simple yet captivating and satisfying feel to gameplay allowing anyone to pick it up, and breaks free from the now stale "backrooms" copy and paste, I really do hope you take this project AWAY from the backrooms copy and paste problem, your game stands out compared to them.
 
I only have one question for you on this project: 
I heard that you want to take this game in the direction of how The Stanley Parable works and functions. How do you plan to incorporate this into your game? 

Response

bottom of page