nitrosodiumfmpsequel
nitrosodiumfmpsequel
Nitrosodium's Second FMP
184 posts
The final project.
Don't wanna be here? Send us removal request.
nitrosodiumfmpsequel · 2 months ago
Text
Making a Trailer
To go on the Itch.io page, I decided to make a trailer for Robot Shepherd. This is once again something I am lifting from the last FMP, but I wanted to go above and beyond this time. So, I used FL Studio again, not to make sound effects this time, but a main theme for the game to go in the trailer.
youtube
In order to make it specifically intertwined with Robot Shepherd, I utilised leitmotifs - if you listen to the trailer, you can hear the robot moving sound, and also Ithaca's dialogue progression chord. I wanted to do more than just make a song for the trailer, I wanted it to have a proper connection to the game itself.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Making an Itch.io Page
I've decided to put Robot Shepherd on Itch.io as the main way of showcasing it, and also so other people can play my game. I did this with the previous FMP, and doing it again seems like a good idea.
Tumblr media
I made this as a cover image for the game. Itch needs a 630 x 500 image to display when the game is searched for and linked to, and I didn't want to use the same image I had done for the menu and loading screen. So, I went to the old Level 1 (if you remember, the in-game Level 1 had all the foliage taken from it except the vines) and posed these two robots next to the Escape Pad, which had its text altered to say ROBOT SHEPHERD. The binary code at the top says "Cooperation is the only way we will survive", displaying the game's core idea and also presenting a mystery that should hopefully help to hook the player and draw them in.
Tumblr media
This is the description I decided to give.
Tumblr media
Issues then presented themselves when I tried to upload the game. Even as a zip file, it was 3 gigabytes, which meant I couldn't upload it. (You can contact Itch support, but I didn't know if they'd get back to me in time). This made no sense to me, and so I opened up the project and used the Size Map function to see what might be bloating the file size.
Tumblr media
I did some quick calculations, and found that deleting the FirstPersonMap plus the redundant GameLevel1 would bring the file size down by a big amount, and taking out some unused textures would bring it down to roughly half size. That, plus deleting all the starter maps that show off Niagara effects and such would probably get me to under 1gb, and allow me to put the game on Itch.
I also checked this forum post on ways to decrease the file size, which gave an easier way to do this without actually deleting maps. There is a setting in Project Settings to only include certain maps in a packaged version. I tracked this down, and made it so only StartMenu, GameLevel1OnlyVines and GameLevel2 were included.
Tumblr media Tumblr media
Before repackaging, I added this to the main menu widget, to keep track of any future version updates. This one is currently v.1.1.1.
Tumblr media
This worked, and the size decreased drastically. Here is the page:
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Gameplay Video
youtube
Here's a full showcase of my game - all levels, and the menu.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Packaging the Game Again
Tumblr media
While playing through the packaged game, I realized that the line traces and print strings were still visible. After consulting with my friends, I found out that this was because I had packaged the game for Development instead of Shipping.
Tumblr media
This was an easy fix - I just set the game to Shipping and packaged it again. This new game version is Robot Shepherd version 1.1.
Rebuilding the game also gave me the option to add a crosshair, which will make aiming easier as you can no longer see the line traces.
Tumblr media Tumblr media
It gets added to the player in Level 1 and 2, but not in the main menu, for obvious reasons.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Preparing the Game for Packaging
Now that I have got my game as highly polished as I can, it's time to package it and turn it into a proper playable experience outside of the editor. There are a few things to do before this, however.
Tumblr media
Firstly, I added a proper quit game button to the player's code. While you can quit using Escape in the editor, this of course does not work with a packaged game, and so I made a basic Quit Game block for it.
Tumblr media
I then went to the project settings, and set it so the first level is the StartMenu, instead of GameLevel1OnlyVines.
Tumblr media
I then needed to make an icon for the game, to replace the default Unreal one. I decided that a head of one of the robots would look cool, so I went back to my test map and made a basic white backdrop to take a screenshot on. I then removed the background in Paint 3D and got this.
Tumblr media Tumblr media
I then also made this for the loading screen, out of the same screenshot used for the main menu.
After this, I packaged the game, creating a proper experience.
Tumblr media
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Making a Menu
Tumblr media
To make a main menu for my game, the first thing I did was make a new level that consisted of just the player in a box.
Tumblr media
In the level blueprint, it creates a widget on EventBeginPlay, and also sets the cursor so it is always shown, to make navigating menus easier.
Tumblr media
This is the menu I came up with. it's a screenshot of the Escape Pad in the first level, since I think that it captures the game's premise quite well. You're in a strange overgrown place filled with advanced tech and vernacular architecture, you need to help the robots escape, and you can do this by bringing them to Escape Pads. At the bottom, I added credits to the creators of every sound effect I used, and the creators of the various textures.
Tumblr media
This is the code. The buttons make differing robot sounds when you mouse over them, and then of course, they start the first level or quit the game when you click them accordingly.
Tumblr media
I also set the Level 2 Escape Pad to bring the player back to the main menu when they finish.
youtube
Here's a demonstration of how it looks in-game.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Making Adjustments Based on Feedback
Tumblr media
In order to stop players from getting under the Maintenance elevator and glitching themselves onto it, I put two metal beams either side of it. This seemed like a fix, but I realised that players could jump from the top and get softlocked. I considered building a big glass tube around the elevator, but then realised that there was a much simpler solution: a ledge to climb out on.
Tumblr media
While testing this, I realised that the Forcefield could be squeezed through with some prodigious mashing of the spacebar.
Tumblr media
The solution here was to just lower the collision box again, lessening the chance for a player to glitch through. I decided to do this for the other forcefields in the level, to minimise the chance for an edge case like that to occur.
Tumblr media
For the Escape Pad, I also added a Do Once to the end level code, so it can't be spammed once all robots are loaded.
1 note · View note
nitrosodiumfmpsequel · 2 months ago
Text
Playtesting Feedback for Finished Game
Today, as I mentioned before in my weekly plans, is focused on playtesting. I want feedback from people so I can see any problems that need to be patched, or things that need to be improved. I split the feedback form into four rough sections - puzzle design, level design, sound design and story. For the first 3 sections, the questions ask the player's thoughts on the specified aspect of the game with checkboxes (was it fun, enjoyable, easy to understand, et cetera) and then some qualitative feedback, asking the player their favourite feature of the aspect, and anything they would add or change. The story section is different, and it instead asks how much the gameplay fit with the story, and if it was well communicated.
Here are the responses I received, from three playtesters:
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
As you can see, I mostly received positive feedback for the game, but a few glitches and areas for improvement presented themselves. Namely, "the elevator glitch", which is a problem with the Maintenance puzzle where the player can stand beneath the central elevator and ride it up to the catwalk. There was also a problem on one playthrough where robots would for some reason go to a random corner of the Living Quarters when the Recall Point was triggered. I think this is probably because the player set the Recall Point to that corner and didn't realise, so not a glitch and more of an operator error. Another bug is mentioned with the sound design, advising to "fix the audio glitch so it only plays once", but the actual audio itself is never explained, so I have no clue.
The point of the Ithaca dialogue box not disappearing is also brought up, but I stand by my point to keep it on the viewport as long as the player doesn't interact with Ithaca. There's no point in either level where the player can no longer go to Ithaca to finish the conversation, and I would rather give the players a choice in the matter. It also coaxes players into finishing the dialogue and learning all of the important info they are offered (i.e. how to control the robots and use Recall Points in level 2); if they could just run off, they might get distracted and then not know what to do and how to progress.
To conclude, the only thing I will be altering in the game will be the Maintenance elevator glitch, which I will fix. Well, that along with making a slight adjustment to the Escape Pad, to stop people spamming the button and making the teleport countdown overlap itself.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Putting Sound into My Game
Tumblr media
I started putting sound in the game by importing all of the effects into a folder, just to keep them organised. I set a few of them to loop (the whistling wind, robot moving sound and propeller sound specifically), and also made an attenuator, so the sounds wouldn't be heard from everywhere (see my last FMP for what happens when you don't do this.)
Tumblr media
I then put Audio components into any actor that would have a sound related to it, and used Spawn Sound Attached blocks to play the sounds when an event occurs. The screenshot above is of the door code - I'm not going to go through every single instance, because they all essentially have the same code within them. I used a Spawn Sound Attached because this means the sound isn't a static entity, and its source will move when the actor moves. A better example of this is the Propellevator's whirring - the Audio component is attached to the actual elevator cabin, and so it gets louder or quieter from the player's perspective as the Propellevator goes up and down. The Spawn Sound at Location doesn't do this, and is inferior for my purposes.
Tumblr media
For the two sounds set to play on level start (gravel slide and teleport), I put them inside the Level Blueprint itself, which is what deals with all level-specific code.
Tumblr media
The code for the robot is an interesting one. Because I want the moving sound to only play when it is in motion, I dragged out a Stop block from the Spawn Sound Attached, but plugged its exec into the Success and Fail pins of the AI Move To. As far as I understand it, the neutral pin runs its code directly after the AI Move To, but the Success and Fail wait until the event has actually concluded (i.e. the robot either reaches its set location, or is unable to).
Tumblr media
For the Escape Pad, I put a two-second delay so the countdown audio actually works before you get teleported.
Tumblr media
The only audio I actually had issue with was the whistling wind. I placed it in the level as a sound cue with attenuation, but it wouldn't make any noise. I suspect this is because the audio can't start until the player is in range of it, and restarts when they leave it. There was a similar problem in a previous project of mine, Wallpaper of the Mind, where the various radios throughout the level would restart their tune each time the player left the attenuation. Looking back at my old blog for answers (@nitrosodiumgameanglia), I found out that I needed to change the Virtualisation settings to Play When Silent.
Tumblr media
This fixed it, and now everything works perfectly. I'll take a video to show all the new sound effects in action.
youtube
Here's a demonstration of everything I've added. I think the game feels far more lively with all the audio. The robots especially benefit from this - they feel more like sentient beings with their various sound effects, and not just cylinders you shunt about.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Adding Sound Effects Part 2
Having now found generic sound effects, I am moving on to the more specialised sounds I need for the game - mostly encompassing the robot noises, Recall Point noises, and the sound of the Escape Pad.
youtube
I watched this video, as it seemed relevant to my current goal. However, all of the techniques were for Adobe Audition, which I don't have, nor anything similar.
youtube
I then looked at this video, which was about how the sound effects of Star Wars were made. The first topic was on R2D2, whose distinctive beeps were made using the combination of a Moog synthesiser, and Ben Burtt's own modulated voice. This gave me an idea. I've been using FL Studio in my own time to make music, but I could also use it to make robot sounds.
Tumblr media
Using the FLEX synth plugin, various sound effects can be created.
Tumblr media
I decided to make the robot activation noise (i.e. one that would play when you click them) an ascending tune with the Subspace Transmission preset, along with a single note from the Praise preset. This creates a sound akin to computer systems coming to life.
Tumblr media
The directing sound (i.e. one that plays whenever you direct a robot somewhere) uses the Muted Statement preset. The sound itself is a generic ba-ding sound byte, since those are mostly associated with positive connotations when used for computers. The actual pitch is roughly in the middle, not too high, but not too low. I didn't want to make it too low-pitched, as this could seem like an error sound, but too high-pitched and it started to sound strange. I think for continuity, any sound that the robots are canonically making while active will be in Muted Statement, to represent their voice.
Tumblr media
The error sound (playing whenever a robot fails to reach its directed location, i.e. On Fail from the AI Move To block) is a descending tune, and far more lower-pitched than the success sound.
Tumblr media
For placing a Recall Point, I decided to make a single note of the Warehouse Beacon preset. This is essentially just a 'ping', but I think it reflects that a point has been set in the world.
Tumblr media
When the robot goes to the Recall Point, it plays a pitched-up version of the Warehouse Beacon note, along with a short tune from the Muted Statement preset.
Tumblr media
The Escape Pad fail sound (playing when the Escape Pad is activated without enough robots) plays a deep, somewhat crunchy sound, indicating that something is wrong.
Tumblr media
The Escape Pad success sound would probably end up cut off in game, but it is a much more positive beeping sound, using the Black Sting preset, the same as the fail sound, overlaid with a Zargon Pulse at the end. It sounds like a lot of garbled electronic noise, like something out of a 1960s sci fi film. I think it works for a teleporter, if you imagine that the Escape Pad is disassembling its cargo and then transporting them to a new destination, possibly as some kind of transversal wave.
Tumblr media
For the teleport sound (i.e. what plays when you enter Level 2) I used the Zargon Pulse again.
Tumblr media
I also realised here that Ithaca would probably need a unique sound for advancing their dialogue, so I made one. This is a selection of notes using the Muted Statement preset, and the focus here is on creating a unique sound effect, so their placement is a little abstract. Ithaca is the only speaking robot NPC in the game, but I still wanted them to stand out through their audio. Rather than just being a beep, I made a small melody, sort of as a way to characterise them. You can see this in games like Undertale, where different noises represent each character's voice. I'm doing a similar thing here, but instead of a single byte that repeats per letter spoken, it's one melody that will place each time the dialogue advances.
Tumblr media
The final sound I created was one for the robots moving from A to B. I wanted some sort of electronic hum, and eventually found the Metal Butterfly preset. It's an interesting melody of scintillating notes, and I think it sounds very unique and could work as a robot movement sound.
youtube
Here are all the sounds I created. I think they work very well.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Adding Sound Effects Part 1
It's finally time to add some sounds to my game. I've been putting this off for probably too long - most of my games get some sounds at least 2/3 of the way through development, and I have a week left. It's no matter though. Just for my own use, here's a list of things that will need sounds.
Gravel sliding when the player enters the first level onto the rubble
Floor breaking beneath the player
Possible whistling wind when they fall down the hole
Water splash when they hit the bottom
Robot select sounds (some sort of power up sound)
Robot move sounds (confirmation beep)
Robot move fail sound (negative beep)
Possible robot moving generally sound (electric hum)
Recall Point place sound (some sort of electric beep)
Recall Point move sound (confirmation beep but different)
Button press sound (click)
Door moving sound (pistons whirring)
Propellevator ambient sound (buzzing)
Escape Pad fail sound (loud, deeper beep perhaps)
Escape Pad confirm sound (confirmation beep again)
Teleport sound (some sort of warbling)
PDA reading sound (electronic sound of some kind)
Getting these sounds will be a combination of searching YouTube or Freesound for effects, or somehow producing them myself for the more specific ones. In this blog post, I will attempt to find generic atmospheric sounds (clicking buttons, opening doors, etc), and do the more personalised sounds in a separate post, to make things easier.
Tumblr media
I found this gravel sliding effect on Freesound, which works well for my purposes.
I already had a 'concrete destruction' sound on my computer (I have a sound library for my own projects), so I didn't need to find one for that.
Tumblr media
For whistling wind when you fall down the hole, I was struggling to find a good effect on Freesound. Most of the ones they had included traffic sounds in the background, or were too harsh-sounding. I decided to just record myself whistling into my mic, and then doubled up the sound byte and reversed it to make a seamless loop.
Tumblr media
I had trouble finding a good water splash sound for when the player abruptly ends their descent - most of the ones I found were just small splashes. As it happens, searching up "big water splash" got the results I was looking for.
Tumblr media
For the buttons, I decided to use a single sound of a mechanical keyboard.
Tumblr media
Finding a good door sound also took a while. Many of them had too much of a windup, or sounded too loud and industrial - I needed a quick whirring sound. Eventually I found this one, which is good and brief.
Tumblr media
I wanted the Propellevators to have a looping whirr ambience when nearby, and found this one which does the trick. To make it properly loop, I edited it in WavePad, using the same "duplicate section and reverse" technique to make it seamless.
Tumblr media
For using the PDA, I found this sound, which sounds somewhat like a hi-tech notification sound.
This brings me to the end of my "generic sound effects" section. The other sounds on the list will likely need to be created by myself, due to their specific nature.
Tumblr media
All the sounds I chose had Creative Commons 0, meaning I don't need a license to use them. I found this spectrum on Wikipedia that explains the different licenses, going from most free to most restricting. As you can see, CC0 is near the top, which is useful for me. I will probably still credit the authors of these sounds, perhaps in a menu, out of goodwill.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Adding A Drawing to the Living Quarters
Tumblr media
This is a very minor change, but still one I will document. I added a basic instructional drawing to the first forcefield, so players have a better idea of what it is and what it does.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Identifying a Problem with the Recall Point
This was something I noticed while playing through the second level. If you select a robot and set a Recall Point, it will go to it, but if you select another robot afterward, they don't respond.
Tumblr media
I looked in the code and quickly identified the issue. When you set a Recall Point, it broadcasts the location to your currently selected robot, and then pressing X triggers the code that moves it to that location. If no robot is selected, they can't see where the Recall Point is.
Tumblr media
There's also the issue of the Can Use Recall variable, which sees if a point has been placed, but once again, only a selected robot will have that changed. A lot of this code was clearly built around moving a single robot throughout a test map, back in March when we started the project, and never considered how multiple robots would react to it. Thus, I am going to change it slightly.
Tumblr media
I removed the Can Use Recall variable, and now it works perfectly. Multiple robots can use the same Recall Point without having to re-place it every time it is used.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Weekly Plans 28/4/25
This is the last week of development, so I'm going to try my absolute hardest to finish the game. For my remaining directed study day (Tuesday), I will add sound effects and a proper start screen, and then I will spend the week doing playtests and getting feedback to see what can be iterated on for final finishing touches (mostly for the second level, which hasn't gotten much feedback yet).
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Did I achieve my Weekly Goals?
My goals were to clear up the game experience and bring it to a succinct close, and given that I have now finished Level 2, this has definitely been achieved. Ideally I would have liked to add sound effects and a menu, but due to time problems this was not possible.
0 notes
nitrosodiumfmpsequel · 2 months ago
Text
Making the Maintenance Section
(Posted on Monday due to some scheduling issues.)
Tumblr media
I decided to do something different for the final area of Level 2 - instead of Maintenance being a series of rooms, I made a single large room with three elevators in it. The puzzle here uses elevators, Recall Points, and Forcefields, and you have to move the robots between the different sections to operate the elevators by means of pressure plates. The player can't directly use the central elevator, since it is blocked with a forcefield - instead, they have to send a robot up and direct it to a pressure plate, which brings the left elevator down for them to climb into. That metal box on the lower catwalk has a forcefield within it, so you can't just walk to the pressure plate - you have to jump down.
Tumblr media
Here's an annotated version. I will also provide a video of the puzzle below.
youtube
This is the intended way of solving the puzzle, but I am aware that it seems possible to softlock and lose your robots on the top balcony without a way to reach them. However, you can just send another robot up on the central elevator if you want, and use that to activate the left elevator, thus giving yourself access once more.
1 note · View note
nitrosodiumfmpsequel · 2 months ago
Text
Evaluating my Progress so Far
Given that we have about a week until the unofficial end of the project (as far as I see it, the week after that is to be spent making the project showcase), I am taking a look at what I have so far, and if I can reasonably finish it within the allotted time.
youtube
You'll have to ignore the audio changing, and the cut halfway through - I was listening to the Deus Ex soundtrack when an ad came on, and I decided to cut the video footage where I tabbed out to skip it, but I couldn't figure out how to cut the audio out. Anyhow, as you can see, the map is 2/3 done. The Control Systems and the Living Quarters have been finished, and I only have to do the Maintenance section and it'll be finished. I do want to make some more wall drawings for the Living Quarters, but Paint 3D isn't working for some reason and I can't figure out why. Along with that, I want to add sound effects, and a proper start and end menu. I reckon that I can finish the Maintenance section today, and then I can do all the other things I need to do over the weekend or next week.
In short terms: I am on track to get Robot Shepherd into a complete state within the time I have been given, which satisfies all the requirements of my MVP.
0 notes