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.


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.


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.


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


At the top of the screen I selected the "Shading" tab. This page will help me texture my wall.

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.

To fix my missed placed image texture. To fix this all I have to do is drag it to fit my image properly.

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.

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.


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.

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


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.

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.


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.


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.

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.

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.


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


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.

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.


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.

This is the "E" Key input for this collision to get the new widget.

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.

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

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.


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
