Tutorial 6: In this tutorial we will explore different ways to add sounds to your game.
Adding sounds to the lazer / bullet
In the Asset Browser resources menu:
Create a sound Asset
Name it sndPlayerLazer
Click on the 3 dots in the window that appears
From your spaceshooter-assets, browse to sounds folder and choose the sndLaser wave file *Note: I have listed some websites where you can get sounds from at the end of this tutorial
Inside the sounds settings windows you can change the volume of the sound, to lower it sound in the game if you want.
In Target Options, change the Output to Stereo, if not already chosen.
Open the Player Object from the Resources menu. Double click into the Key Press Z event you already created.
Add the following code to the Key Press Z event, under the instance_create_layer() function, but inside the if statement:
//audio function takes 3 arguments
//reference to the soundfile, priority, loop(true / false)
audio_play_sound(sndPlayerLazer,1,false);
Play Music in the Game
To play music in your game, you must have a long enough music sound track that can loop on itself.
You can find copyright free music on lots of websites – one site I recommend is https://www.looperman.com/
Go to the Resource menu and create a new sound called sndGameMusic
Click the 3 dots and browse to the Asset Resources / Sounds folder
Select the sndMusic file
Name the sound to sndGameMusic
Change the Volume to your liking and change the output to Stereo
Next, double click into the Player object, objPlayer
Add the following code to the Create event of the layer object:
audio_play_sound(sndGameMusic,1,true);
Run the game and see if the music plays
Music for each level / room of your game
Create an objects that will represent the music you want for each level of your game.
Add a Create event to the music object and use code similar to the below
if(room!=EndRoom1){ //we want to pause music in the end room
audio_pause_all();
}else {
audio_play_sound(sndGameMusic,1,true);
}
Add the music object into your game room
You can change the above code with an else if( ) statement to play different music based on each room
If you don’t have the time or skills to create your own game assets – such as sprites, backgrounds, tiles and sounds, there are a number of websites were you can download game assets for free from. Here is a list of websites that we recommend: https://opengameart.org/ https://www.kenney.nl/ https://itch.io/game-assets/free https://marketplace.yoyogames.com/browse/latest?filter=free If you want an asset…
Tutorial 10: Collisions and Health Setup In this tutorial, we will learn how to setup your player and enemy health and how to destroy them based on some collision rules. Set the player collision mask Go to the Resources menu: Open Sprites. Open your player sprite, sprPlayer Find Collision Mask in the Sprite window. Open…
Tutorial 7: Creating Enemy Sprite in Game Maker Studio 2 Go to the Resources area on the right of your screen: Right click on Sprites and click Create Sprite Make sure to name your sprites accurately for future reference Example: always prefix your sprites with the letters spr Name your first enemy sprite sprEnemy1 Importing…
Tutorial 4: Creating a Game Room in GameMaker Studio 2 Change the Room size In the Assets Browser menu, double click the room that you want to add a background to. The default room is Room1 If you don’t see the Layers panel for the room appear on the left side of GameMaker, go to…
Tutorial 3: Create a player object, movement & animation In the Asset Browser / Resource menu area, right-click Object and click Create object Name the object objPlayer – note: You should always prefix your objects with the letters obj Assign it the sprPlayer sprite you should already have created. To do this click on the…
Over the coming weeks and months, we will explore how to build a simple 2D Top-Down Space Shooter computer game using the popular game development engine called GameMaker Studio. You will learn how to create sprites, learn to code to make your player move around a game environment, code spawning enemies, enemy collisions, making the…
3 Comments
Add audio_stop_all(); to object restart button in end room to stop looping game music.
You can also have different music for each room by adding code like this to the Room Start event on your player object if you run into a problem with objects that represent your music:
if room = Room1 { audio_play_sound(YourSoundFileName,1,true); }
if room = Room2 { audio_stop_sound(YourSoundFileName); audio_play_sound(YourSoundFileName2,1,true) }
Add
audio_stop_all();
to object restart button in end room to stop looping game music.
You can also have different music for each room by adding code like this to the Room Start event on your player object if you run into a problem with objects that represent your music:
if room = Room1 {
audio_play_sound(YourSoundFileName,1,true);
}
if room = Room2 {
audio_stop_sound(YourSoundFileName);
audio_play_sound(YourSoundFileName2,1,true)
}
You can randomize what audio files plays if you have different sounds for the lazer with this code:
audio_play_sound(choose(sndPlayerLazer1, sndPlayerLazer2, sndPlayerLazer3), 1, false);