{"id":587,"date":"2025-05-15T07:21:42","date_gmt":"2025-05-15T06:21:42","guid":{"rendered":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/?p=587"},"modified":"2025-05-15T07:24:01","modified_gmt":"2025-05-15T06:24:01","slug":"bsc3b-vertical-game-jam","status":"publish","type":"post","link":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/2025\/05\/15\/bsc3b-vertical-game-jam\/","title":{"rendered":"BSc3b &#8211; Vertical Game Jam"},"content":{"rendered":"\n<p>This years vertical jam has felt much more interesting than the previous, rather than being given just a prompt, we were given a brief by Sainsbury centre by UEA who asked us all to make games based on our own interpretation of 17 artefacts from their museum, <\/p>\n\n\n\n<p>A few days before the briefing, I set up a discord and added everyone from my team to it so I could gather everyone as soon as possible so we wouldn&#8217;t have to struggle as much gathering everyone on brief day and can collaborate as soon as possible. And I can set everyone&#8217;s nicknames to their forename, role and year group so we know who&#8217;s who in the team.<\/p>\n\n\n\n<p>I had an asset artist from my last group project charlie, who quickly suggested having a lead for each specialism which was a really good choice given it&#8217;s much easier to be a leader for your own specialism than the entirety of the team, he was a lead asset for the group project and was a massive help in bringing assets together in engine before.<\/p>\n\n\n\n<p>I put in a brief instruction on how I&#8217;d like use to collaborate on Trello and Figma for idea generation<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"898\" height=\"823\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-27.png\" alt=\"\" class=\"wp-image-635\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-27.png 898w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-27-300x275.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-27-768x704.png 768w\" sizes=\"auto, (max-width: 898px) 100vw, 898px\" \/><\/figure>\n\n\n\n<p>A teammate suggested used Figma over Miro, which was a big help as I had hit the board limit on my student account and it looked much better overall to use. With having such a big team that were all present and my previous experience in 4 group projects, I wanted to set out for a slightly more ambitious project this time around<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"371\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-30-1024x371.png\" alt=\"\" class=\"wp-image-638\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-30-1024x371.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-30-300x109.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-30-768x278.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-30.png 1508w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We started off brainstorming ideas about what the game could be about in relation to the brief, with the many artefacts we came up with a fair share of mechanic ideas, in the end we opted for a game with multiple levels where the player time-travels to find artefacts which have a unique mechanic each.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"655\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-24-1024x655.png\" alt=\"\" class=\"wp-image-632\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-24-1024x655.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-24-300x192.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-24-768x491.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-24.png 1128w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The main idea we were on board with was the goggles that reveal secrets around the world, however someone in the team had talk to a friend about it and asked if they were in this other person&#8217;s group because they&#8217;re doing the exact same idea. Because of this, I thought it would be a good idea to have a gameplay loop that implements more mechanics overtime to help it stand out on its own especially with how simple yet key they were to our idea.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"563\" height=\"450\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-29.png\" alt=\"\" class=\"wp-image-637\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-29.png 563w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-29-300x240.png 300w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"843\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-31.png\" alt=\"\" class=\"wp-image-639\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-31.png 887w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-31-300x285.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-31-768x730.png 768w\" sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"823\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-32.png\" alt=\"\" class=\"wp-image-640\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-32.png 957w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-32-300x258.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-32-768x660.png 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/figure>\n\n\n\n<p>One part we hadn&#8217;t considered is actually researching into the artefacts, the museum resources exist for people to learn and understand the origins of their collection and we lose so much if we just make assumptions about them.<\/p>\n\n\n\n<p>For instance, we were planning on making a desert level for the flute, however upon looking into it, it&#8217;s actually from Oceania, a tropical climate. I made a little moodboard for each item we were considering<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"426\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-37-1024x426.png\" alt=\"\" class=\"wp-image-645\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-37-1024x426.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-37-300x125.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-37-768x320.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-37.png 1158w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>On further iteration, these were some of the ideas I had going for each item with a small study on their level themes and locations.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"917\" height=\"820\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-28.png\" alt=\"\" class=\"wp-image-636\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-28.png 917w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-28-300x268.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-28-768x687.png 768w\" sizes=\"auto, (max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<p>I spent a bit of time studying other artefacts for other mechanics as well, I&#8217;d rather overdo than skimp on the planning phase for our ideas. It turns out that one of my teammates as already conducting gamejam-espionage.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-33-1024x645.png\" alt=\"\" class=\"wp-image-641\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-33-1024x645.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-33-300x189.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-33-768x483.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-33.png 1190w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Everyone seemed quite happy with the idea so far with the 3 artefacts<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"621\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-34-1024x621.png\" alt=\"\" class=\"wp-image-642\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-34-1024x621.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-34-300x182.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-34-768x466.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-34.png 1402w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"603\" height=\"824\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-35.png\" alt=\"\" class=\"wp-image-643\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-35.png 603w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-35-220x300.png 220w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/figure>\n\n\n\n<p>For the first day we got our main planning done and I smashed through most of our basic mechanics in only a few hours.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"223\" height=\"539\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-38.png\" alt=\"\" class=\"wp-image-646\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-38.png 223w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-38-124x300.png 124w\" sizes=\"auto, (max-width: 223px) 100vw, 223px\" \/><\/figure>\n\n\n\n<p>In order, we have a &#8216;secret object&#8217; actor, on the player&#8217;s end they have a function they can use after collecting goggles, they call a function to toggle the visibility on every single secret. This had to take the current visibility of the object set the new visibility with a not bool.<br>The blueprint also toggles a first person mode on the player and limits their walking speed.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"311\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-86-1024x311.png\" alt=\"\" class=\"wp-image-696\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-86-1024x311.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-86-300x91.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-86-768x233.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-86.png 1485w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p>&#8216;Fluterocks&#8217; use a timeline to smoothly travel so the player can stand on top.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"189\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-87-1024x189.png\" alt=\"\" class=\"wp-image-697\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-87-1024x189.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-87-300x55.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-87-768x142.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-87.png 1442w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Checkpoints when overlapping with the player will &#8216;update&#8217; the player&#8217;s store checkpoint value as an update location vector, when the player falls out of bounds their location will be updated to this stored variable.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-88-1024x541.png\" alt=\"\" class=\"wp-image-698\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-88-1024x541.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-88-300x159.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-88-768x406.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-88.png 1358w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-39-1024x505.png\" alt=\"\" class=\"wp-image-647\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-39-1024x505.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-39-300x148.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-39-768x379.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-39.png 1177w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>These were all simple mechanics I&#8217;ve made before so it took no time at all to create. Mostly pickups and toggles tied to events.<\/p>\n\n\n\n<p>I think the communication my team has had today has been incredible, anytime someone was confused about something we cleared it up, lead roles were on the ball about getting on the same page as everyone and guiding their teams toward goals.<\/p>\n\n\n\n<p>Each day, I tried to keep tabs on what everyone has made so far and what each of us are planning to do that day, we have lists of what we need so if anyone needs something to do they can grab from the list.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tuesday 10th &#8211; Day 2\/5<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"905\" height=\"667\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-40.png\" alt=\"\" class=\"wp-image-648\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-40.png 905w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-40-300x221.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-40-768x566.png 768w\" sizes=\"auto, (max-width: 905px) 100vw, 905px\" \/><\/figure>\n\n\n\n<p>I feel task management has gone really well, the indie devs are much more comfortable working on visuals and effects, and as Harvey was a year 2 dev who missed planning day I gave them a much more simpler task to complete.<\/p>\n\n\n\n<p>Day 2:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>setup game instance to track all the collectibles the player has collected through bools.<\/li>\n\n\n\n<li>set up the camera to toggle between first person and third person when they turn on the goggles (only will matter if we get the character model in the end where we&#8217;ll keep third person mode).<\/li>\n\n\n\n<li>I&#8217;ve set up the placeholder blueprint for the statue pieces as well and i&#8217;ve setup all items the player can pick up to update the instance data.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"631\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-89.png\" alt=\"\" class=\"wp-image-699\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-89.png 669w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-89-300x283.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"719\" height=\"426\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-42.png\" alt=\"\" class=\"wp-image-650\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-42.png 719w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-42-300x178.png 300w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/figure>\n\n\n\n<p>It&#8217;s been great having indie devs to focus on visuals and effects, Ben has created a glorious snowfall, fog as well as a door that swings open.<\/p>\n\n\n\n<p>The glow material I&#8217;m setting up as an overlay also has a max render distance, which both stops the player from seeing secrets from far away and reduces load on the engine.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"469\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-43-1024x469.png\" alt=\"\" class=\"wp-image-651\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-43-1024x469.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-43-300x137.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-43-768x352.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-43.png 1295w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>An actual issue I ran into was running out of tasks to hand out to the devs, it&#8217;s been so rare to finish mechanics this quickly that I started struggling giving directions to the devs. With the majority of our core mechanics made it was time to move onto refining what we already had.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"290\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-44-1024x290.png\" alt=\"\" class=\"wp-image-652\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-44-1024x290.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-44-300x85.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-44-768x217.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-44.png 1194w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Asset has manage to beat the previous merge conflict from last year <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"197\" height=\"92\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-45.png\" alt=\"\" class=\"wp-image-653\"\/><\/figure>\n<\/div>\n\n\n<p>I put a pin in it to deal with tomorrow after a reset.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wednesday 11th &#8211; Day 3\/5<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"637\" height=\"385\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-46.png\" alt=\"\" class=\"wp-image-654\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-46.png 637w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-46-300x181.png 300w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/figure>\n\n\n\n<p>Indie focused on preparing levels<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"485\" height=\"496\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-49.png\" alt=\"\" class=\"wp-image-657\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-49.png 485w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-49-293x300.png 293w\" sizes=\"auto, (max-width: 485px) 100vw, 485px\" \/><\/figure>\n\n\n\n<p>We had a LOT of level files cluttering the game from wherever people in the team were importing assets from, I put together a list understanding where each one is from, what they do and which ones we&#8217;re actually using for the game.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-48-1024x596.png\" alt=\"\" class=\"wp-image-656\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-48-1024x596.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-48-300x175.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-48-768x447.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-48.png 1382w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I had to rush out of the house to help a friend of mine [He urgently called me out to sort out his PC so he could finish preparing for a job interview in the morning. I got home at 11pm, and it&#8217;s only while going through everything that happened post-jam have I realised I missed here critical guides that Peter who modelled Level 2 uploaded, his guides showed the route the player will take throughout the level using the moving rocks and goggles mechanics, as well as Ben&#8217;s instruction on the placeholders he used to show what mechanic needs to go where on Level 3].<\/p>\n\n\n\n<p>After getting home, I made up for lost time by working late into the night.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"854\" height=\"204\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-50.png\" alt=\"\" class=\"wp-image-658\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-50.png 854w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-50-300x72.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-50-768x183.png 768w\" sizes=\"auto, (max-width: 854px) 100vw, 854px\" \/><\/figure>\n\n\n\n<p>As I bashed through some remaining refinements such as pause menu and hud functions, making the moving rocks move back and fourth cleanly plus a condition check to only use the closest one if it&#8217;s close enough to the player, and made up for work lost in a merge.<\/p>\n\n\n\n<p>I&#8217;m particularly happy with getting the movable rocks to move back and fourth, each one has two instance editable locations which had to be manually set in editor &#8211; I originally used the &#8216;show 3D widget&#8217; feature which looked great but only worked for local transform, which worked great if the platform only moved to the second location once, if it tried to move back it would still be using relative transform which changes as it moves (in hindsight, an alternative solution could have actually been inverting the relative transform so it would just move back the way it came).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"373\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-84-1024x373.png\" alt=\"\" class=\"wp-image-694\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-84-1024x373.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-84-300x109.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-84-768x280.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-84.png 1241w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I didn&#8217;t want the flute to keep moving every single rock in the level when used, so I added a &#8216;for each&#8217; loop that would store an index for which rock has the shortest distance to the player. (One small change I&#8217;d make is I&#8217;d store the returned array from &#8216;get all actors of class&#8217; for fluterock as a variable so it wouldn&#8217;t need to be called again on every flute use.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"335\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85-1024x335.png\" alt=\"\" class=\"wp-image-695\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85-1024x335.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85-300x98.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85-768x252.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85-1536x503.png 1536w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-85.png 1569w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Knowing I&#8217;d wake up later than the team, I left a to-do list of things I need to make sure are done tomorrow for the team to check over.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"207\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-1024x207.png\" alt=\"\" class=\"wp-image-659\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-1024x207.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-300x61.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-768x155.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-1536x311.png 1536w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51-1568x317.png 1568w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-51.png 1647w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-54-1024x344.png\" alt=\"\" class=\"wp-image-662\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-54-1024x344.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-54-300x101.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-54-768x258.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-54.png 1212w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Thursday 12th &#8211; Day 4\/5<\/h2>\n\n\n\n<p>Ben filled me in on what was done<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"237\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-55-1024x237.png\" alt=\"\" class=\"wp-image-663\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-55-1024x237.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-55-300x69.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-55-768x178.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-55.png 1250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1017\" height=\"781\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-56.png\" alt=\"\" class=\"wp-image-664\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-56.png 1017w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-56-300x230.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-56-768x590.png 768w\" sizes=\"auto, (max-width: 1017px) 100vw, 1017px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1008\" height=\"466\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-57.png\" alt=\"\" class=\"wp-image-665\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-57.png 1008w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-57-300x139.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-57-768x355.png 768w\" sizes=\"auto, (max-width: 1008px) 100vw, 1008px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"441\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-58.png\" alt=\"\" class=\"wp-image-666\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-58.png 887w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-58-300x149.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-58-768x382.png 768w\" sizes=\"auto, (max-width: 887px) 100vw, 887px\" \/><\/figure>\n\n\n\n<p>Harvey had managed to finish the UI he made however I kept getting an error that I had no idea how to fix. Looking at the UI work he had made, I opted to <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"638\" height=\"381\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-59.png\" alt=\"\" class=\"wp-image-667\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-59.png 638w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-59-300x179.png 300w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<p>This question raised to Ben was the first main warning sign to the group I missed an important message as Ben already communicated what the orange wall and floppy disk were placeholders for].<\/p>\n\n\n\n<p>Put together a list of what I&#8217;ll need to be finishing that night.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"886\" height=\"373\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-62.png\" alt=\"\" class=\"wp-image-670\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-62.png 886w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-62-300x126.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-62-768x323.png 768w\" sizes=\"auto, (max-width: 886px) 100vw, 886px\" \/><\/figure>\n\n\n\n<p>Set up an artefact collection UI for the player to track what they&#8217;ve collected, and added artefacts to the museum level if they have been collected.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"674\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-61-1024x674.png\" alt=\"\" class=\"wp-image-669\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-61-1024x674.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-61-300x198.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-61-768x506.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-61.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Concept managed to supply me with a dozen brush-stroke textures i can use as markers for secrets<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"390\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-63-1024x390.png\" alt=\"\" class=\"wp-image-672\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-63-1024x390.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-63-300x114.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-63-768x293.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-63.png 1104w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Friday 13th &#8211; Day 5\/5<\/h2>\n\n\n\n<p>I normally track devblog days after I go to sleep due to working past midnight and sleep splits the day into two for me but as I did not sleep tonight getting as much finished as possible, I will count any work after midnight today as Friday&#8217;s work. <br>I realised I was lacking a model for checkpoints, my quick little workround was to make them stone pillars to work as little markers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"466\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-72.png\" alt=\"\" class=\"wp-image-681\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-72.png 714w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-72-300x196.png 300w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-68-1024x622.png\" alt=\"\" class=\"wp-image-677\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-68-1024x622.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-68-300x182.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-68-768x467.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-68.png 1290w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-69-1024x601.png\" alt=\"\" class=\"wp-image-678\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-69-1024x601.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-69-300x176.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-69-768x451.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-69.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"547\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-70-1024x547.png\" alt=\"\" class=\"wp-image-679\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-70-1024x547.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-70-300x160.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-70-768x410.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-70.png 1299w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Level 2:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"139\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-60-1024x139.png\" alt=\"\" class=\"wp-image-668\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-60-1024x139.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-60-300x41.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-60-768x104.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-60.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I raised a question of how I should be populating the second level, but unfortunately 2:30am on the final night of the jam is one of the WORST times to be asking questions. I found two maps on the onedrive but the couldn&#8217;t figure out how the actual level aligned with the map <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"756\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-81-1024x756.png\" alt=\"\" class=\"wp-image-690\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-81-1024x756.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-81-300x222.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-81-768x567.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-81.png 1228w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"679\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-64-1024x679.png\" alt=\"\" class=\"wp-image-673\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-64-1024x679.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-64-300x199.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-64-768x509.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-64.png 1210w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>One massively glaring issue was that Level 2 was scaled up drastically too big, it would take substantially too long for the player to traverse and without proper guides the could also get lost easily.<\/p>\n\n\n\n<p>I followed my own intuition with population the level, re-using assets like rocks and trees to create small rock island as broken down stepping stones for the player, and treated sand as a &#8216;hazard&#8217; overlapping it with an out of bounds box for checkpointing.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"665\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-65.png\" alt=\"\" class=\"wp-image-674\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-65.png 987w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-65-300x202.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-65-768x517.png 768w\" sizes=\"auto, (max-width: 987px) 100vw, 987px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-66-1024x481.png\" alt=\"\" class=\"wp-image-675\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-66-1024x481.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-66-300x141.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-66-768x361.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-66.png 1126w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Below, there was a big rock blocking the river that also hid a secret section off from me. Looking at the map we produced early on as a reference I thought the map looked off and it was partially because of this.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"641\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-67-1024x641.png\" alt=\"\" class=\"wp-image-676\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-67-1024x641.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-67-300x188.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-67-768x481.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-67.png 1160w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Level 3:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"599\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-73-1024x599.png\" alt=\"\" class=\"wp-image-682\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-73-1024x599.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-73-300x175.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-73-768x449.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-73.png 1040w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"671\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-74-1024x671.png\" alt=\"\" class=\"wp-image-683\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-74-1024x671.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-74-300x196.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-74-768x503.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-74.png 1078w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"878\" height=\"619\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-76.png\" alt=\"\" class=\"wp-image-685\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-76.png 878w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-76-300x212.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-76-768x541.png 768w\" sizes=\"auto, (max-width: 878px) 100vw, 878px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"430\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-75-1024x430.png\" alt=\"\" class=\"wp-image-684\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-75-1024x430.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-75-300x126.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-75-768x323.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-75.png 1212w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"609\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-77.png\" alt=\"\" class=\"wp-image-686\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-77.png 614w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-77-300x298.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-77-150x150.png 150w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"480\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-78.png\" alt=\"\" class=\"wp-image-687\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-78.png 820w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-78-300x176.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-78-768x450.png 768w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/figure>\n\n\n\n<p>After rushing through finishing touches in the morning, we achieve a photo-finish for the submission<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"758\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-79-1024x758.png\" alt=\"\" class=\"wp-image-688\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-79-1024x758.png 1024w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-79-300x222.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-79-768x569.png 768w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-79.png 1122w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>My relief for submission was short-lived, when Peter saw how I set up navigation across his level he had a fit in the general chat about it and brought back the map he had used before. I felt terrible over it but the team re-assured I&#8217;d done a good job.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"201\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-82.png\" alt=\"\" class=\"wp-image-691\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-82.png 826w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-82-300x73.png 300w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-82-768x187.png 768w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/figure>\n\n\n\n<p>Going back, somehow the gameinstance has been deleted causing everything that casts to it to break. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"728\" height=\"450\" src=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-83.png\" alt=\"\" class=\"wp-image-693\" srcset=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-83.png 728w, https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-content\/uploads\/2025\/05\/image-83-300x185.png 300w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/figure>\n\n\n\n<p>This would explain why &#8216;bad actor&#8217; was showing up when I re-opened the project to see what Peter was talking about.<\/p>\n\n\n\n<p>Upon revisiting, I&#8217;ve patched up the missing actor and all the broken connections caused by it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reflections:<\/h2>\n\n\n\n<p>A result that I think was mildly interesting is how dev-wise we kept catching up with planned tasks. Usually the hurdle I have in these jams is working on a mechanic that&#8217;s a little convoluted and ends up taking an extended amount of jam time, but I managed to make a lot in a little amount of time &#8211; I didn&#8217;t add much in the way of stretch goals incase we got far ahead in our tasks which is a shame as I normally load many stretch goals in my projects.<\/p>\n\n\n\n<p>The biggest shame was I missed some communications from asset artist Peter who made the level 2 tropical map. He had drawn guides of where he thought movable rocks should go in his level, these had ended up passing my mind where they would have been a good solution true to his vision &#8211; in the end I had painstakingly set up an elaborate parkour course across his map, and missed a large section of the map that was obscured. He supplied many useful guides and visuals for how to populate his map, I was confused how I missed it then I realised he had shared all of the guides while I had left the house for the evening where I responded to the most recent message and missed all the previous messages sent in the dev channel. Perhaps if these images were added to the Figma board that I actively used to check progress I likely wouldn&#8217;t have missed it.<\/p>\n\n\n\n<p>There were some key parts of the design that were missed in the end, such as how the level 1 was supposed to be &#8216;foggy&#8217; with low visibility which is what made the map concept of traversing through ice-caps more fitting with the gaps to fall in rather than the hazardless walls that safely guide the player through.<\/p>\n\n\n\n<p>I&#8217;m happy with what my team had managed to produce in a few days, it&#8217;s interesting the stark contrast between levels, something I&#8217;d do differently would include a scale-guide to make sure maps are scaled to an appropriate guide, I had this happen before in-fact in my college group project though that was more due to my teammate completely ignoring me after explicitly telling him how big we need the map.<\/p>\n\n\n\n<p>The use of figma was excellent in this project, we collaborated on ideas, agreed as a team on what we like for the game, gathered plenty of research on brief-related themes and goals and kept clear track of progress on tasks and what everyone was working on.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This years vertical jam has felt much more interesting than the previous, rather than being given just a prompt, we were given a brief by Sainsbury centre by UEA who asked us all to make games based on our own interpretation of 17 artefacts from their museum, A few days before the briefing, I set&hellip; <a class=\"more-link\" href=\"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/2025\/05\/15\/bsc3b-vertical-game-jam\/\">Continue reading <span class=\"screen-reader-text\">BSc3b &#8211; Vertical Game Jam<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-587","post","type-post","status-publish","format-standard","hentry","category-uncategorised","entry"],"_links":{"self":[{"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=587"}],"version-history":[{"count":8,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/587\/revisions"}],"predecessor-version":[{"id":704,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/posts\/587\/revisions\/704"}],"wp:attachment":[{"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lloydmills.nuacomputerscience.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}