Chapter 5: Enhance the Presentation and Export the Game
In this chapter, we’ll cover how to polish up the presentation of the completed game and make it playable on PC.
Think About What’s Missing in the Presentation
Although the game is technically complete, the screen still feels a bit plain. What can we add to make it feel more like a real game?
-
First, there’s no background, so adding one would help.
-
Since this is a game about defeating enemies, there should be an effect when enemies are defeated, similar to the “defeat” effect for the player.
-
Currently, there is no sound, so we’ll also want to add BGM and sound effects.
-
Finally, having a title screen would make the game feel more polished.
Of course, there are many other details that could be added, but with these elements in place, the game should already feel much more like a complete product.
Let’s start creating them!
Create a Parallax Background
In Godot, you can use a Parallax2D node to create a parallax background. A parallax background gives a sense of depth by making closer objects move faster and distant objects move slower relative to the camera. This is the same effect you might have seen on modern smartphone lock screens, where tilting the phone makes the background image appear to shift.
In ACTION GAME MAKER, each game scene layer (Base / Wall / NearView / MiddleView / DistantView) is built with Parallax2D, which allows you to create a parallax background.
We’ll use the following image. Load it into the project, then set up its parallax and looping properties.
Steps
-
Save the image to your PC. Due to system limitations, the file will be automatically compressed if downloaded directly. Please click on the image to enlarge it before saving.
-
Drag and drop the saved mountain.png file into the FileSystem.
-
Switch the scene tab to stage1 and change the editor view to 2D.
-
In the Scene window, select the Sprite2D node under the MiddleView (Parallax2D) layer.
-
In the Inspector, drag and drop mountain.png into the Texture property.
-
In the Scene window, select the MiddleView (Parallax2D) layer itself.
-
In the Inspector, set Scroll Scale to x=0.7, y=0.7.
- With this, when the camera and player move by a distance of 1, the background will only move by 0.7, creating depth.
-
Next, expand the Repeat section in the Inspector.
-
Set the following values:
-
Repeat Size: x = 1080
-
Repeat Times: 10
This means the mountain.png (1080px wide) will be repeated horizontally 10 times in a row.
-
Run a test play. If everything is set up correctly, the mountains will move more slowly than the player, giving a sense of depth.
Troubleshooting
-
Background looping looks strange → Check the Repeat settings in MiddleView (Parallax2D).
-
Background speed doesn’t appear different → Check whether the Scroll Scale in MiddleView (Parallax2D) is set correctly.
Add a Death Effect to Enemies
We can use the same method as with the player. Let’s add a “Death Particle” display to the Vanish state.
If we simply add the particle display, the enemy will disappear at the same time the particle appears, causing the particle to vanish immediately as well. To fix this, we’ll use a Wait action to keep the particle visible for a while.
However, there are two issues we need to solve here:
-
Until the “Vanish” action is executed, the enemy keeps moving—so it looks like the enemy is still active, with its attack collision intact.
-
We need to disable the enemy’s attack collision during the defeat sequence.
For the first issue (movement):
The problem is that “Template Move” is still active. You can either use the “Template Move: Stop” action or set the movement speed to 0 within the state. We’ll use the latter.
For the second issue (attack collision):
We need to disable the attack collision. This can be done with the ChangeObjectProperty action by enabling the “Disabled” property of AttackCollision. The “Change Property” action allows you to modify inspector properties as well as variables and switches.
Let’s go through the setup.
Add “DisplayParticle”
-
Open the enemy scene tab and switch the editor to Script view.
-
Select the Vanish state and click + Add Executable Action.
-
Choose DisplayParticle.
-
For the particle object path, select death_particle.tscn, then click Add.
Add “Wait”
-
Add another execution action and select Wait.
-
Since the particle display lasts 1 second, set the wait time to 1.0 seconds, then click Add.
Set Movement Speed to 0 in This State
-
Expand the Action Settings in the Inspector.
-
Under “Horizontal Speed Multiplier”, set the value from 100 to 0.
Disable the Attack Collision with “Change Property”
-
Add another executable action.
-
Select Change Property and set it as follows:
-
Target Object Type: Object Property
-
Target Type: Self
-
Target Node Name: AttackCollision
-
Target Object Name: disabled
-
Constant Value: On
This enables the “Disabled” property of the AttackCollision node.
Arrange the Action Order
Make sure the execution order is correct. Drag actions with the three-line icon until the order is:
-
DisplayParticle
-
ChangeObjectProperty (disable collision)
-
ChangeObjectProperty (decrease Remaining Enemies)
-
Wait
-
RemoveSelf
Test the Behavior
Run a test play and check:
-
When defeating an enemy, the particle effect appears.
-
After the enemy is defeated, colliding with it no longer causes damage.
Troubleshooting
-
No effect appears and the enemy disappears immediately:
Check that “RemoveSelf” is the last action in the sequence.
-
Player still takes damage after defeating the enemy:
Verify that the ChangeObjectProperty action correctly enabled the disabled property on AttackCollision.
Add Sound: Managing Audio in ACTION GAME MAKER
Next, let’s set up the sound system. First, we need to think about which sounds are necessary.
For BGM (background music), we’ll need at least two tracks:
For SE (sound effects), several are needed depending on the object:
-
Player:
-
Jump sound
-
Bullet firing sound
-
Damage sound
-
Defeat sound
-
Enemy:
-
Damage sound
-
Defeat sound
-
Stage Clear:
- Stage clear sound (handled by the “Remaining Enemies Manager”)
In total, that makes 2 BGMs and 7 SEs.
How ACTION GAME MAKER Manages Sound
In ACTION GAME MAKER, all sounds are managed with a dedicated Sound Database.
BGM and SE registered in the Sound Database can be played using the “PlayAudio” action in the visual script.
So, the first step is to register our audio files into the Sound Database.
Registering Sounds in the Sound Database
We’ll use the prepared set of 2 BGMs and 7 SEs, included in the file sounds.zip.
This archive contains all the necessary sound files, organized into folders.
sounds.zip (1.4 MB)
Steps:
-
Save sounds.zip to your PC.
-
Extract the contents of the zip file.
-
Drag and drop the extracted sounds folder into the FileSystem panel.
-
Make sure the folder structure looks like this:
res://sounds/
├── bgm/
└── se/
If you see a duplicated structure such as res://sounds/sounds/bgm, move the folders in the FileSystem until it matches the correct format above.
-
Click the Database button in the top-left corner.
-
In the Data Management window, switch to the Audio Database tab.
-
Click the bulk set button.
This automatically scans the folders (res://sounds/bgm and res://sounds/se) and registers all 9 sound files. If you see all entries correctly listed, the setup is complete.
Troubleshooting
- If sounds don’t appear:
Check that the sounds folder is placed directly under res:// and not inside another nested folder.
Now the sounds are ready to be used in visual scripts via the “PlayAudio” action.
Add SE to the Player
Now let’s start setting up the SE (sound effects), beginning with the player.
We’ll add a sound effect to each state: jump, bullet fire, damage taken, and defeat.
Add a Sound to the “Jump” State
-
Switch the scene tab to player and change the editor to Script view.
-
Select the Jump state.
-
In the Inspector, click + Add Executable Action.
-
Choose the PlayAudio action.
-
In the Audio Data ID field, select se_player_jump (se_player_jump.ogg) and click Add.
-
Run a test play. If set correctly, pressing the Z key to jump should now play the jump sound effect.
Add the “Play Audio” Action to “Ground Shot,” “Air Shot,” and “Moving Shot”
Next, we’ll add the bullet firing sound. Since there are three shooting states, repeat the setup for each.
-
Select the Ground Shot state.
-
In the Inspector, choose + Add Execution Action.
-
Select Audio Sound.
-
Set the Sound Data to se_player_shot (se_player_shot.ogg) and click Add.
-
You could repeat this process for the other states, but note that execution actions can also be copied and pasted. Let’s use that here.
-
Right-click the added PlayAudio action and select Copy.
-
Select the Moving Shot state.
-
In the Inspector, change the Execution Actions size from 1 to 2.
-
A new <empty> slot will appear. Right-click it and select Paste.
-
If the “PlayAudio” action appears, it worked.
-
Select the Air Shot state and repeat steps 7–10 to paste the action.
-
Run a test play. While standing, moving, or jumping, pressing the X key to fire should now play the same firing sound.
Add “PlayAudio” to the “Damage” State
Now let’s add a sound to the Taken Damage state. The process is the same, so here’s the short version:
-
Add a PlayAudio action with the Audio Data set to se_player_damage (se_player_damage.ogg).
-
Since the Damage state already includes a Wait action, drag the “Play Sound” action above the Wait so the sound plays immediately.
-
Run a test play. When the player collides with an enemy, the damage sound should play.
Add “Play Sound” to the “Death” State
-
Select the Death state.
-
Add a Play Sound action, and choose se_player_down (se_player_down.ogg).
-
Run a test play. When the player falls into a pit or HP reaches 0, the defeat sound should play.
At this point, all sound effects for the Player are set up correctly.
Add SE to the Enemy
Next, let’s set up SE for the enemy.
There are two types of sounds: damage sound and defeat sound.
However, unlike the player, the enemy doesn’t have a dedicated Damage state.
In this case, you can use the TakenDamageSettings node, which provides a way to trigger sounds when the enemy takes damage.
Play SE with the TakenDamageSettings Node
-
Switch the scene tab to enemy.
-
In the Scene window, select the TakenDamageSettings node.
-
In the Inspector, expand Damage Taken Data List.
-
Click + Add Damage Taken Setting.
-
Click <empty> and select New TakenDamageData.
-
Expand the newly created TakenDamageData.
-
Expand Other Settings.
-
Set Play Sound to On, and in Audio Data ID, choose se_enemy_damage.
-
Run a test play. If set correctly, hitting the enemy with a bullet should now trigger the damage SE.
Add “Play Sound” to the Enemy’s “Vanish” State
For the defeat SE, we’ll add it to the Vanish state, just as we did with the player.
-
Select the Vanish state.
-
Click + Add Executable Action.
-
Choose PlayAudio, and set the Sound Data to se_enemy_down (se_enemy_down.ogg).
-
Reorder the actions so that PlayAudio comes before the Wait action.
-
Run a test play. If set correctly, defeating an enemy should now trigger the defeat SE.
With this, the enemy now has damage SE and defeat SE properly configured.
Set the Stage BGM and Stage Clear SE
For BGM, the first step is to enable loop playback in the Import settings. After that, the best place to start the stage BGM is in the “Count” state of the always-visible Remaining Enemies Manager object.
For the stage-clear SE, you can set it in the “Stage Clear” state of the same object.
Loop the BGM in the Import Settings
You can change asset settings in the Import tab (next to the Scene tab) after selecting a resource in the FileSystem.
-
In the FileSystem, go to the sounds/bgm folder and select bgm_stage1.ogg.
-
Switch the tab above the Scene panel to Import.
-
In the Import panel, enable Loop, then click Reimport (*).
-
When the “Reimporting asset” progress bar finishes and disappears, the change is complete.
-
Repeat steps 2–4 for bgm_title.ogg as well, so both BGMs loop properly.
Play Stage BGM in the “Count” State
Since BGM is played with the PlayAudio action (just like SE), the process is the same as before.
-
Switch the scene tab to Remaining Enemies Manager.

-
Select the Count state.
-
Add a PlayAudio action, and set the audio data to bgm_stage1.
-
Test play to confirm that the BGM starts when the stage begins.
Play Stage Clear SE in the “Stage Clear” State
-
Select the Stage Clear state.
-
Add a PlayAudio action, and set the sound data to se_stageclear.
-
Test play to confirm that the SE plays once all enemies are defeated.
Checklist if something doesn’t work:
-
Make sure the sounds folder is directly under res:// (not nested in another folder).
-
Confirm that the Loop setting was enabled and reimported for the BGM.
-
Ensure the PlayAudio action is placed in the correct states (Count for BGM, Stage Clear for SE).
Set Up the Title Screen
Now let’s create and configure the title screen.
We’ll make it as a new game scene, and from there, pressing a button will transition into stage1.
ACTION GAME MAKER provides a dedicated SceneTransition feature that makes this possible.
So, let’s create a title screen scene, set it up, and then connect it to stage1 using SceneTransition.
Planning the Title Screen
Since this is a simple game, the title screen will just consist of:
In practice, this means creating a new game scene, using Sprite2D inside the UI layer for the background, and adding a UI game object to display the title logo and play sound.
Just like in Visual Script, SceneTransition allows us to set scene transitions triggered by specific key inputs. That’s how we’ll set up the transition with the Jump key.
Create the Title Screen Game Scene
-
Open a new scene tab.
-
For the root node, select Game Scene.
-
Save the scene immediately as title_scene.tscn.
Add a Background to the Title Screen Scene
-
Use the prepared background image for the title screen. (Right-click and save it to your PC.)
-
Drag title_bg.png from your PC into the FileSystem to import it.
-
In the Scene panel, select the UI layer.
-
From the FileSystem, drag title_bg.png into the editor while holding SHIFT.
- Holding SHIFT ensures the image is placed as a child of the selected node, in this case the UI layer.
-
Confirm that the background was placed as a child of the UI layer.
- If it was misplaced, drag the TitleBG node inside the Scene tree to the correct spot.
-
This background image is sized exactly to the camera: width 1152 × height 648.
- If misaligned, the gray background will show through. So, let’s adjust it precisely.
-
With the TitleBG node selected, expand the Transform section in the Inspector.
-
Set Position X = 576, Y = 324.
- Since the image’s pivot is its center, placing it at half the camera’s width and height makes it align perfectly.
At this point, you should have a cleanly placed background for your title screen.
Create the “Title Logo” Game Object
-
Open a new scene tab, and under Create Root Node, choose Game Object.
-
Set Object Name: title_logo, Use Template: UI, Type: Empty, then click Create.
-
Right-click Unsaved and save the scene as title_logo.tscn.
-
Right-click the image below to save it to your PC.
-
Drag title_logo.png into the FileSystem to import it.
-
Drag title_logo.png from the FileSystem into the editor to place it in the scene.
Add a Visual Script to the Title Logo Game Object
This object only needs to play BGM audio—so a single state with one action is enough.
-
Select the title_logo (GameObject) node and click
+ (Attach Script).
-
Keep the default name and click Create.
-
Rename State001 to Title, then click + Add Executable Action.
-
Choose Play Audio.
-
For Audio Data, select bgm_title (bgm_title.ogg) and click Add.
Place title_logo in the Title Scene (title_scene)
-
Switch to the title_scene tab and the 2D editor.
-
Select the TitleBG node under the UI layer.
-
Drag title_logo.tscn from the FileSystem into the scene to place it.
- If it doesn’t appear, it may be behind the background. In the Scene tree, confirm the
title_logo node is a child of the UI layer and is below (in front of) TitleBG, as shown in the reference image.
Create a Scene Transition from the Title Screen to Stage1
Now it’s time to set up the scene transition from the title screen to stage1.
The Scene Transition editor works almost the same way as the Visual Script editor.
The steps will be:
-
Load title_scene.tscn into the Scene Transition editor.
-
Set the initial scene to title_scene.tscn.
-
Define the transition condition from title_scene.tscn to stage1.tscn.
-
Configure the transition effects.
Steps
-
Switch the editor tab from 2D to SceneTransition.

-
In the editor window (similar to the Visual Script view), drag and drop title_scene.tscn from the FileSystem into the workspace.
-
Right-click title_scene, and select Set Start Scene from the menu.
-
Next, add a link. Right-click title_scene, select Add Link, and connect it to stage1.
-
In the Inspector, expand switching conditions.
-
Enable Trigger On Input.
-
In the input operation list, click + Add Input, select , and then choose New Input Condition.
-
Expand the new Input Condition and set:
Before the Switch Effects
-
Expand the Before the Switch Effects section.
-
Set the following:
With this setup, when the transition starts, the title screen will slide upward while the “enemy hit” SE plays, and the BGM will gradually fade out and stop.
After the Switch Effects
-
Expand the After the Switch Effects section.
-
Set the Transition Type: to Slide Down.
This will make stage1 slide down into view as the title screen slides upward.
Test Your Scene Transition
Run a test play. If everything is set up correctly, the game should start on the title screen, and pressing the Z key will trigger the transition effect and switch to stage1.
Troubleshooting Checklist
-
Stage1 starts immediately: Check that the initial scene is correctly set to title_scene, and that you are running the project with Run Project (F5).
-
Scene transition doesn’t work: Recheck that the link from title_scene to stage1 and its input condition are set correctly.
Let’s Export the Game
At this point, the game is complete.
So far, test play has only been possible through ACTION GAME MAKER, which means only those who have ACTION GAME MAKER installed can run it.
However, by using the Export function, you can make the game playable on its own, so that anyone can play it.
Let’s try exporting for Windows PC.
Exporting the Game
-
From the Project menu, select Export.
-
The Export window will open. Click the Add button and select Windows Desktop.
(In this example, six export targets are displayed, but as of version 1.1.0, ACTION GAME MAKER officially supports Android, Web, and Windows Desktop only.)
-
First, specify the export path. By default, the build will be created directly under res://, which would mix it with your project assets. Let’s create a separate folder.
Click the
icon on the right side of the export path field.
-
The project folder (same as the FileSystem) will appear. Right-click and create a New Folder.
Note:
You can set the export path outside the FileSystem as well. For clarity, we’ll keep it inside the project folder this time, but in practice, you may want to export to a more convenient location.
-
Name the new folder export and click OK.
-
Inside the new export folder, save the file as tutorial.
(This will be the name of the executable file.)
-
Confirm that the export path looks like this:
res://export/tutorial.exe
-
Next, configure the options. Set Export Console Wrapper to No.
(This determines whether a debugging console window is displayed.)
-
Click the Export Project button.
-
A Save window will appear, showing the folder and executable name you set earlier. Simply press Save.
-
A progress bar will appear saying “Packing…”; wait a moment for the process to complete.
-
When finished, you may see the following warning:
This means the tool rcedit (which sets executable metadata such as icon and author name) failed to run. Since we haven’t configured these settings, this warning can be ignored.
A similar error may also appear in the output log (ERROR: Could not create child process: rcedit export/tutorial.exe --set-icon…). This can also be ignored.
Testing the Exported Game
-
Close the Export window.
-
In the FileSystem, right-click the export folder and select Open in File Manager.
-
Windows Explorer will open. You should see two files: tutorial.exe and tutorial.pck.
-
Double-click tutorial.exe to launch it.
A window titled Tutorial (DEBUG) will appear, and you should be able to play your game.
Now your game can be played on any Windows PC — no ACTION GAME MAKER required.
If you want to share your game, simply distribute tutorial.exe together with tutorial.pck.
Conclusion
You’ve done it — you are now a game creator!
It may be a small game, but you have successfully completed a full project from start to finish.
Congratulations! 
Of course, there’s always more you might want to add:
-
Double jump
-
Wall kick
-
Sliding
-
Charge shots
-
Weapon switching
-
A boss battle…
Even just within this game, there are countless ideas you could try. And perhaps you’re already thinking of creating games in entirely different genres.
From here on, it’s your turn to make whatever you want to make!
It may feel challenging at times, but through this tutorial you’ve learned the fundamentals of game development and the core concepts of ACTION GAME MAKER. With the knowledge you now have, and a bit of imagination, you can create all kinds of games.
As long as you can think, “If I combine this action with this condition, maybe I can make it work…” you’re on the right track.
If you ever feel stuck or run out of ideas, try searching the RPG Maker Guild or asking questions in the official Discord community.
You can use the search bar at the top right of the RPG Maker Guild to look up topics.
Official Discord Channel for community support:
https://discord.gg/vfaV86vYd9