3D Platformer GameDev Series – Weekly Blog #15: Pause Screen (Part 2)

Howdy everyone! Today, I will continue where I left off last week in the 3D Platformer Udemy course and create the options menu for the pause screen. The options menu will basically allow the player to adjust the game’s music and sfx volume (which were implemented two weeks ago).

To create an options menu, the first step is to add a panel, “Options Panel”, to the “PauseScreen” panel. Here, another new UI element is introduced and added: the slider.  A slider is an object which contains background, fill area, and handle slide area objects (as the children); each of these contain components that allow an image and/or colour to be assigned to it:

PauseScreen (OptionsPanel)

Before diving into the scripts, there is one thing that needs to be done in Unity’s Audio Mixer window. If you recall way back when we had set up various animations for our player, we were introduced to an “exposed” parameter (i.e.- “Speed” for our character). In Unity however, some parameters are by default, unexposed. For example, the volume parameter in Unity’s audio mixer is unexposed. As such, in order to refer in our scripts to the volume parameters for the Music and SFX audio mixers, they need to be exposed and renamed:

AudioMixer (exposed parameters)

Next, the “UIManager” script is updated:

UIManager script (updated for set music+fix levels)

And then the “AudioManager” script is updated:

AudioManager script (updated for set music+sfx levels)

Before running the game, the course instructor also shows how to add a skybox and use it as a part of the lighting for the game environment/scene:

Adding a Skybox

The skybox addition is kind of a random addition, although I do recall adding a skybox in Blender before, which could really make a scene pop and stand out more! I think it also adds a bit of a realistic look to the game, wouldn’t you agree?

So it’s nearly the end of July now… As I look at the progress bar for the course, it looks like I am right at the halfway point (53 out of 108 lectures). Realistically, at this rate, I will likely finish the course at the end of the year (rather than in the Fall which I originally anticipated). I think this is fine! Looks like 2020 will be primarily about learning game development and the start of 2021 will be when I begin to design my own, original 3D platformer.

In the meantime, I hope you guys are enjoying and will continue to enjoy reading these blogs on my learning process in 2020! Next week should get more interesting as we move away from UI elements again and start learning how to add enemies to the game! Super excited for this!

– Taklon

3 thoughts on “3D Platformer GameDev Series – Weekly Blog #15: Pause Screen (Part 2)

  1. Excellent progress! I’ve been reading your articles from my email for quite a bit of time. Let me say something I wanted to say.

    I can really tell that a great deal of work goes into writing a blog post every Sunday, and I appreciate how you take the time to explain the code and show the specific areas of the code on the images. I, however, even though I know how to code, can’t follow these things too well at first glance. It would need me to focus extra intensely to get an actual picture of how everything works. XD Don’t be offended or anything! I just feel a bit silly for not being good at reading other people’s code too well yet. Maybe my attention span is also very poor, well, getting a bit derailed here.

    I see that your posts are getting shorter but you are still doing well with them! I really like that demo scene of this platformer and how it’s built to demonstrate each episode of your course’s series. You did a great job at interpreting the information well,

    Unity is, like almost all game engines, something I find intimidating to get used to, since every engine is quite different. I tried learning Godot recently but gave up because I feel more comfortable using just libraries/frameworks and VS Code to make everything, having an entire engine with its rules and quirks is indeed something I always found intimidating for some reason. (learning APIs was always easier for me than learning an entire IDE or engine) I’m so glad you get to learn Unity well though! My coding path is slower and more difficult in the long term, but still very enjoyable nevertheless.

    And I’m glad to see you’re making a platformer like this to follow a course to learn how to make a 3D platformer, and 2020 being a year of learning game development is totally fine right?

    I’ll be looking forward to see what you post next! Super hyped for the enemies!!

    Best of luck!

    1. Hey Naryunic! No offense taken at all – I try not to delve into the coding much (and nowadays, I leave some of the details out in my blogs). To be honest though, the quality of some of the course lectures have somewhat diminished (the instructor doesn’t seem to explain things as well as he did earlier in the course). Still, I’m learning something valuable every week and I think that’s worth it.

      As for your comment on game engines, a lot of programmers/coders feel the same. In fact, the more popular game engines (such as Unity and Unreal Engine) are even often frowned upon. But for someone like me who’s not naturally good at coding, I find Unity is a somewhat good fit for me. Still, I won’t know for sure until I eventually start my own game from scratch – but that won’t be until next year! 🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s