1
0
mirror of https://github.com/anthonyaxenov/balloon-pop.git synced 2024-10-21 14:23:22 +00:00

First (and I hope last) commit

This commit is contained in:
Anthony Axenov 2022-11-13 14:31:09 +08:00
commit 004fa56ccd
Signed by: anthony
GPG Key ID: EA9EC32FF7CCD4EC
123 changed files with 2219 additions and 0 deletions

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
# Godot-specific ignores
/.import/
/build/
/android/
export.cfg
export_presets.cfg
*.translation
!/**/*.gitkeep

63
Balloon.gd Normal file
View File

@ -0,0 +1,63 @@
extends Area2D
signal pop
var increase # speed ratio
var current_color # name of current animation (sprite set) of AnimatedSprite
var random = RandomNumberGenerator.new() # randomizer
# harcoded names of AnimatedSprite's animations
const colors = ['blue', 'green', 'orange', 'pink', 'purple', 'red', 'yellow']
# Get random animation except current one
func get_color():
var new_color = colors[random.randi_range(0, colors.size() - 1)]
if new_color == current_color:
new_color = get_color()
return new_color
# Hide balloon when its pop sound is finished
func hide_balloon():
print("Sound finished")
queue_free()
# Initialize scene
func _init():
random.randomize()
current_color = get_color()
increase = random.randf_range(1, 1.75)
# When node tree has been created and initialized
func _ready():
# set random sprite set to balloon
$AnimatedSprite.set_animation(current_color)
print("New balloon: ", current_color)
# connect "pop" signal to handler in Playground
connect('pop', get_parent(), 'update_score')
# the "finished" signal of every PopSoundN must hide current balloon
for i in range(1, 5):
get_node('PopSound' + str(i)).connect('finished', self, 'hide_balloon')
# On every Timer's interval we move current balloon up
func _on_Timer_timeout():
position.y -= increase
# we need to detect how far balloon from upper edge is and destroy it
# ballon becomes invisible when its first scaled frame height totally above Playground
var height = $AnimatedSprite.frames.get_frame(current_color, 0).get_size().y * scale.y
var y = position.y + height
if y < 0:
print("Die (out of playground at ", position.y, ")")
queue_free()
# Detect click/touch event on balloon
func _on_Balloon_input_event(_viewport, event, _shape_idx):
if event is InputEventMouseButton or event is InputEventScreenTouch:
if event.is_pressed():
print("Click: ", event.as_text())
# start pop animation
$AnimatedSprite.play()
# play pop sound
var sound_idx = random.randi_range(1, 5)
get_node("PopSound" + str(sound_idx)).play()
print("Sound started: ", sound_idx)
# emit poop signal so that we can increase score counter in Playground
emit_signal('pop')

129
Balloon.tscn Normal file
View File

@ -0,0 +1,129 @@
[gd_scene load_steps=51 format=2]
[ext_resource path="res://assets/green-balloon/1.png" type="Texture" id=1]
[ext_resource path="res://assets/blue-balloon/6.png" type="Texture" id=2]
[ext_resource path="res://assets/blue-balloon/5.png" type="Texture" id=3]
[ext_resource path="res://assets/blue-balloon/4.png" type="Texture" id=4]
[ext_resource path="res://assets/blue-balloon/2.png" type="Texture" id=5]
[ext_resource path="res://assets/blue-balloon/3.png" type="Texture" id=6]
[ext_resource path="res://assets/blue-balloon/1.png" type="Texture" id=7]
[ext_resource path="res://assets/red-balloon/3.png" type="Texture" id=8]
[ext_resource path="res://assets/purple-balloon/1.png" type="Texture" id=9]
[ext_resource path="res://assets/yellow-balloon/5.png" type="Texture" id=10]
[ext_resource path="res://assets/orange-balloon/4.png" type="Texture" id=11]
[ext_resource path="res://assets/red-balloon/2.png" type="Texture" id=12]
[ext_resource path="res://assets/red-balloon/1.png" type="Texture" id=13]
[ext_resource path="res://assets/orange-balloon/1.png" type="Texture" id=14]
[ext_resource path="res://assets/purple-balloon/2.png" type="Texture" id=15]
[ext_resource path="res://assets/green-balloon/6.png" type="Texture" id=16]
[ext_resource path="res://assets/yellow-balloon/2.png" type="Texture" id=17]
[ext_resource path="res://assets/red-balloon/4.png" type="Texture" id=18]
[ext_resource path="res://Balloon.gd" type="Script" id=19]
[ext_resource path="res://assets/orange-balloon/2.png" type="Texture" id=20]
[ext_resource path="res://assets/pink-ballon/3.png" type="Texture" id=21]
[ext_resource path="res://assets/pink-ballon/4.png" type="Texture" id=22]
[ext_resource path="res://assets/red-balloon/5.png" type="Texture" id=23]
[ext_resource path="res://assets/pink-ballon/2.png" type="Texture" id=24]
[ext_resource path="res://assets/pink-ballon/6.png" type="Texture" id=25]
[ext_resource path="res://assets/orange-balloon/6.png" type="Texture" id=26]
[ext_resource path="res://assets/green-balloon/4.png" type="Texture" id=27]
[ext_resource path="res://assets/purple-balloon/4.png" type="Texture" id=28]
[ext_resource path="res://assets/orange-balloon/3.png" type="Texture" id=29]
[ext_resource path="res://assets/green-balloon/2.png" type="Texture" id=30]
[ext_resource path="res://assets/green-balloon/5.png" type="Texture" id=31]
[ext_resource path="res://assets/purple-balloon/3.png" type="Texture" id=32]
[ext_resource path="res://assets/yellow-balloon/1.png" type="Texture" id=33]
[ext_resource path="res://assets/red-balloon/6.png" type="Texture" id=34]
[ext_resource path="res://assets/pink-ballon/5.png" type="Texture" id=35]
[ext_resource path="res://assets/yellow-balloon/4.png" type="Texture" id=36]
[ext_resource path="res://assets/purple-balloon/6.png" type="Texture" id=37]
[ext_resource path="res://assets/yellow-balloon/6.png" type="Texture" id=38]
[ext_resource path="res://assets/purple-balloon/5.png" type="Texture" id=39]
[ext_resource path="res://assets/yellow-balloon/3.png" type="Texture" id=40]
[ext_resource path="res://assets/green-balloon/3.png" type="Texture" id=41]
[ext_resource path="res://assets/orange-balloon/5.png" type="Texture" id=42]
[ext_resource path="res://assets/pink-ballon/1.png" type="Texture" id=43]
[ext_resource path="res://assets/sounds/balloon_pop1.mp3" type="AudioStream" id=44]
[ext_resource path="res://assets/sounds/balloon_pop3.mp3" type="AudioStream" id=45]
[ext_resource path="res://assets/sounds/balloon_pop2.mp3" type="AudioStream" id=46]
[ext_resource path="res://assets/sounds/balloon_pop4.mp3" type="AudioStream" id=47]
[ext_resource path="res://assets/sounds/balloon_pop5.mp3" type="AudioStream" id=48]
[sub_resource type="SpriteFrames" id=1]
animations = [ {
"frames": [ ExtResource( 7 ), ExtResource( 5 ), ExtResource( 6 ), ExtResource( 4 ), ExtResource( 3 ), ExtResource( 2 ) ],
"loop": false,
"name": "blue",
"speed": 15.0
}, {
"frames": [ ExtResource( 1 ), ExtResource( 30 ), ExtResource( 41 ), ExtResource( 27 ), ExtResource( 31 ), ExtResource( 16 ) ],
"loop": false,
"name": "green",
"speed": 15.0
}, {
"frames": [ ExtResource( 14 ), ExtResource( 20 ), ExtResource( 29 ), ExtResource( 11 ), ExtResource( 42 ), ExtResource( 26 ) ],
"loop": false,
"name": "orange",
"speed": 15.0
}, {
"frames": [ ExtResource( 43 ), ExtResource( 24 ), ExtResource( 21 ), ExtResource( 22 ), ExtResource( 35 ), ExtResource( 25 ) ],
"loop": false,
"name": "pink",
"speed": 15.0
}, {
"frames": [ ExtResource( 9 ), ExtResource( 15 ), ExtResource( 32 ), ExtResource( 28 ), ExtResource( 39 ), ExtResource( 37 ) ],
"loop": false,
"name": "purple",
"speed": 15.0
}, {
"frames": [ ExtResource( 13 ), ExtResource( 12 ), ExtResource( 8 ), ExtResource( 18 ), ExtResource( 23 ), ExtResource( 34 ) ],
"loop": false,
"name": "red",
"speed": 15.0
}, {
"frames": [ ExtResource( 33 ), ExtResource( 17 ), ExtResource( 40 ), ExtResource( 36 ), ExtResource( 10 ), ExtResource( 38 ) ],
"loop": false,
"name": "yellow",
"speed": 15.0
} ]
[sub_resource type="CapsuleShape2D" id=2]
radius = 147.5
height = 121.0
[node name="Balloon" type="Area2D"]
position = Vector2( 148, 217 )
script = ExtResource( 19 )
__meta__ = {
"_edit_group_": true
}
[node name="AnimatedSprite" type="AnimatedSprite" parent="."]
frames = SubResource( 1 )
animation = "pink"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2( 0, -1 )
shape = SubResource( 2 )
[node name="PopSound1" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 44 )
[node name="PopSound2" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 46 )
[node name="PopSound3" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 45 )
[node name="PopSound4" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 47 )
[node name="PopSound5" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 48 )
[node name="Timer" type="Timer" parent="."]
wait_time = 0.01
autostart = true
[connection signal="input_event" from="." to="." method="_on_Balloon_input_event"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

60
Playground.gd Normal file
View File

@ -0,0 +1,60 @@
extends Node2D
var score = -1 # pop counter; will be set to 0 in "_ready()"
var screen_size # screen size lol
var current_music # index 1..7 of AudioStreamPlayer ("MusicN") nodes
var random = RandomNumberGenerator.new() # randomizer
var balloon_scene = load("res://Balloon.tscn") # scene with balloon
var offset_y = 280 # top coordinate under bottom edge of playground to spawn balloons
# Get random music index except current one
func get_music_idx():
var new_current_music = random.randi_range(1, 7)
# if random equals to current -- regenerate
if new_current_music == current_music:
new_current_music == get_music_idx()
return new_current_music
# Play next random music
func play_music():
current_music = get_music_idx()
get_node('Music' + str(current_music)).play()
print("Music started: ", current_music)
# Initialize scene
func _init():
random.randomize()
# When node tree has been created and initialized
func _ready():
screen_size = get_viewport_rect().size # needed to seed balloons
update_score() # set 0 in global pop counter
play_music() # play random music
$TextureRect.set_position(Vector2(0, 0))
$TextureRect.rect_size.x = screen_size.x
$TextureRect.rect_size.y = screen_size.y
# the "finished" signal of every MusicN must start another music
for i in range(1, 7):
get_node('Music' + str(i)).connect('finished', self, 'play_music')
# On every Timer's interval we add new ballon under
# the bottom edge of the playground (screen) and
# randomly flip it horizontally
func _on_Timer_timeout():
# create new balloon virtually
var balloon = balloon_scene.instance()
# calculate new horizontal position
var x = rand_range(10, screen_size.x - 10)
# calculate balloon's scaled height
# set new position to balloon under the playground (screen)
balloon.set_position(Vector2(x, screen_size.y + offset_y))
# randomly flip balloon horizontally
# '0' child is AnimatedSprite of Balloon scene
balloon.get_child(0).flip_h = bool(random.randi_range(0, 1))
balloon.z_index = 10 # place balloon over other objects
add_child(balloon) # place balloon on playground
# Receive "pop" signal from Balloon scene to increment global score counter
func update_score():
score += 1 # increment
$Label.text = str(score) # show

76
Playground.tscn Normal file
View File

@ -0,0 +1,76 @@
[gd_scene load_steps=12 format=2]
[ext_resource path="res://Playground.gd" type="Script" id=1]
[ext_resource path="res://assets/background.jpg" type="Texture" id=2]
[ext_resource path="res://assets/music/AllezAllez.mp3" type="AudioStream" id=3]
[ext_resource path="res://assets/music/ChillinPoupi.mp3" type="AudioStream" id=4]
[ext_resource path="res://assets/music/FastFeelBananaPeel.mp3" type="AudioStream" id=5]
[ext_resource path="res://assets/music/Spook.mp3" type="AudioStream" id=6]
[ext_resource path="res://assets/music/School.mp3" type="AudioStream" id=7]
[ext_resource path="res://assets/music/Umlungu.mp3" type="AudioStream" id=8]
[ext_resource path="res://assets/music/MoveForward.mp3" type="AudioStream" id=9]
[sub_resource type="DynamicFontData" id=1]
font_path = "res://assets/OpenSans-Bold.ttf"
[sub_resource type="DynamicFont" id=2]
size = 150
outline_size = 3
use_mipmaps = true
use_filter = true
font_data = SubResource( 1 )
[node name="Playground" type="Node2D"]
script = ExtResource( 1 )
[node name="Timer" type="Timer" parent="."]
autostart = true
[node name="Label" type="Label" parent="."]
anchor_right = 1.0
margin_left = 40.0
margin_top = 20.0
margin_right = 126.0
margin_bottom = 157.0
custom_colors/font_color = Color( 0.0431373, 0.623529, 0.8, 1 )
custom_fonts/font = SubResource( 2 )
text = "0"
[node name="TextureRect" type="TextureRect" parent="."]
show_behind_parent = true
margin_right = 1007.0
margin_bottom = 911.0
mouse_filter = 2
texture = ExtResource( 2 )
expand = true
stretch_mode = 7
[node name="Music1" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -10.0
[node name="Music2" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 4 )
volume_db = -10.0
[node name="Music3" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 5 )
volume_db = -10.0
[node name="Music4" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 9 )
volume_db = -10.0
[node name="Music5" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 7 )
volume_db = -10.0
[node name="Music6" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 6 )
volume_db = -10.0
[node name="Music7" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 8 )
volume_db = -10.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

100
README.md Normal file
View File

@ -0,0 +1,100 @@
# Balloon Pop
Small and simple android game for toddlers.
The goals of this project for me were:
* to touch some new tech stack I never used before and learn something new;
* to combine business with pleasure by developing a game for my little son so he could:
* learn colors and digits;
* develop his fine motor skills;
* match sound effects with his in-game actions;
* listen nice music.
## Disclaimer
Since this is my very first godot project (1) for android (2) and is very small (3) I made something in pretty straightforward way.
**So, god, please, no, don't ask me for help with project.**
**I will never fucking ever going to get into this hell again.**
At least, I compiled and backed up an apk once just and I don't see any reason to come back here since the project is completed enough for me.
I reached somehow my goals and it took me a lot of nerves and time not to programm but to compile this game, so I deserve forgiveness.
## Setup and compile
1. Install latest version of godot:
https://godotengine.org/download
2. Set up your environment as you need according to these instructions:
https://developer.android.com/games/engines/godot/godot-configure
3. Clone this repo and open project in godot
4. Follow these steps to export the game for android:
https://developer.android.com/games/engines/godot/godot-export
Those manuals may be a little bit outdated but steps are correct in common.
I prefer to use commands from this manual to create keystores:
https://docs.godotengine.org/en/stable/tutorials/export/exporting_for_android.html
Also this document may be useful:
https://docs.godotengine.org/en/stable/development/compiling/compiling_for_android.html
After apk has been built you can drop it on android device to test.
## FAQ
In case of export errors restart godot with `-v` flag and try export again, so that you will see additional messages so you could find out failure reasons.
Godot usually don't print them in its own output window being like "export failed because fuck you dicksucker, that's why".
### Exit Code: 1
If your export stopped with `Exit Code: 1` without error message ensure your `ANDROID_SDK_PATH` variable is set:
```
export ANDROID_SDK_PATH="<correct path here>"
```
### Apksigner error #127
In my case there was error `apksigner: line 97: exec: java: not found`.
Seems like apksigner (when called by godot) just don't give a fuck about where is `java` bin is even if `JAVA_HOME` + `PATH` are correct.
So I had to manually run such command (TACL at vars in it) after export:
```
$ANDROID_SDK_HOME/build-tools/32.0.0/apksigner \
sign \
--verbose \
--ks $HOME/.android/debug.keystore \
--ks-pass pass:android \
--ks-key-alias androiddebugkey \
$EXPORTED_APK_PATH
```
## Credits
I am not an artist nor composer, so I found some assets on the internet to use in this project.
I want to thank authors of used assets and provide some info about them.
### Music
* [School](https://www.chosic.com/download-audio/24280/) by Komiku ([CC0](https://creativecommons.org/publicdomain/zero/1.0/))
* [Chillin Poupi](https://www.chosic.com/download-audio/25001/) by Komiku ([CC0](https://creativecommons.org/publicdomain/zero/1.0/))
* [Umlungu](https://www.chosic.com/download-audio/24984/) by John Bartmann ([CC0](https://creativecommons.org/publicdomain/zero/1.0/))
* [Allez! Allez!](https://www.chosic.com/download-audio/28341/) by John Bartmann ([CC0](https://creativecommons.org/publicdomain/zero/1.0/))
* [Move Forward](https://www.chosic.com/download-audio/39320/) by Kevin MacLeod ([CCBY 3.0](https://creativecommons.org/licenses/by/3.0/))
* [Spook](https://www.chosic.com/download-audio/45514/) by PeriTune ([CCBY 4.0](https://creativecommons.org/licenses/by/4.0/))
* [Fast Feel Banana Peel](https://www.chosic.com/download-audio/28655/) by Alexander Nakarada ([CCBY 4.0](https://creativecommons.org/licenses/by/4.0/))
### Fonts
* [Open Sans](https://fonts.google.com/specimen/Open+Sans) by Steve Matteson ([OFL](https://scripts.sil.org/OFL))
### Pictures
* [Background photo](https://unsplash.com/photos/gmZa95LWkF4) by [Mikey Harris](https://unsplash.com/@mikeyharris) ([Unsplash license](https://unsplash.com/license))
* [Balloon popping animation](https://www.gamedeveloperstudio.com/graphics/viewgraphic.php?item=134l668d3b3n083827) by Robert Brooks ([Game developer studio standard license](https://www.gamedeveloperstudio.com/license.php))
## License
[The MIT License](LICENSE.md)

BIN
assets/OpenSans-Bold.ttf Normal file

Binary file not shown.

BIN
assets/background.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/background.jpg-3c1ee7bbff6a1283595ccc69bb1d6acd.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background.jpg"
dest_files=[ "res://.import/background.jpg-3c1ee7bbff6a1283595ccc69bb1d6acd.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/1.png-6b1793ededc8db094447f2cb82039d9c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/1.png"
dest_files=[ "res://.import/1.png-6b1793ededc8db094447f2cb82039d9c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/2.png-1579510bfc7aafa8634903c25b269a21.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/2.png"
dest_files=[ "res://.import/2.png-1579510bfc7aafa8634903c25b269a21.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/3.png-6a8d452660defc8de8e77452ab763d17.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/3.png"
dest_files=[ "res://.import/3.png-6a8d452660defc8de8e77452ab763d17.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/4.png-eb0a26012888b546077b3b6a5cc7ad29.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/4.png"
dest_files=[ "res://.import/4.png-eb0a26012888b546077b3b6a5cc7ad29.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/5.png-877d218b24c76d30e03667d3fbf33ecb.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/5.png"
dest_files=[ "res://.import/5.png-877d218b24c76d30e03667d3fbf33ecb.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/blue-balloon/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/6.png-ba44f68b27ce5d73f3a4644eaae69a7a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/blue-balloon/6.png"
dest_files=[ "res://.import/6.png-ba44f68b27ce5d73f3a4644eaae69a7a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/1.png-8c60995548c70b6ff26aa2e67ef24437.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/1.png"
dest_files=[ "res://.import/1.png-8c60995548c70b6ff26aa2e67ef24437.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/2.png-0b8f97e98a5800e954f06b8ede5588cb.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/2.png"
dest_files=[ "res://.import/2.png-0b8f97e98a5800e954f06b8ede5588cb.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/3.png-28dea525f8f34ef9c04b77d8f4d220e2.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/3.png"
dest_files=[ "res://.import/3.png-28dea525f8f34ef9c04b77d8f4d220e2.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/4.png-9366f0f9ef3beace77f429d0848b203c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/4.png"
dest_files=[ "res://.import/4.png-9366f0f9ef3beace77f429d0848b203c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/5.png-02cb84abaf08a80367257f6f4537a9ae.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/5.png"
dest_files=[ "res://.import/5.png-02cb84abaf08a80367257f6f4537a9ae.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/green-balloon/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/6.png-34289c74d064745db1fd2ab200ac1649.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/green-balloon/6.png"
dest_files=[ "res://.import/6.png-34289c74d064745db1fd2ab200ac1649.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/music/AllezAllez.mp3 Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/AllezAllez.mp3-63398e22af8339d902e59636acf854f0.mp3str"
[deps]
source_file="res://assets/music/AllezAllez.mp3"
dest_files=[ "res://.import/AllezAllez.mp3-63398e22af8339d902e59636acf854f0.mp3str" ]
[params]
loop=false
loop_offset=0

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/ChillinPoupi.mp3-58564c4fcf0763c15205eb1f7ef8f129.mp3str"
[deps]
source_file="res://assets/music/ChillinPoupi.mp3"
dest_files=[ "res://.import/ChillinPoupi.mp3-58564c4fcf0763c15205eb1f7ef8f129.mp3str" ]
[params]
loop=false
loop_offset=0

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/FastFeelBananaPeel.mp3-071b512c58045e9c78fc1064795ca9a9.mp3str"
[deps]
source_file="res://assets/music/FastFeelBananaPeel.mp3"
dest_files=[ "res://.import/FastFeelBananaPeel.mp3-071b512c58045e9c78fc1064795ca9a9.mp3str" ]
[params]
loop=false
loop_offset=0

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/MoveForward.mp3-78a2924f4a4f4614997c1b4b9145f4ee.mp3str"
[deps]
source_file="res://assets/music/MoveForward.mp3"
dest_files=[ "res://.import/MoveForward.mp3-78a2924f4a4f4614997c1b4b9145f4ee.mp3str" ]
[params]
loop=false
loop_offset=0

BIN
assets/music/School.mp3 Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/School.mp3-cf536f8b1f432db1061f4f866dfd2959.mp3str"
[deps]
source_file="res://assets/music/School.mp3"
dest_files=[ "res://.import/School.mp3-cf536f8b1f432db1061f4f866dfd2959.mp3str" ]
[params]
loop=false
loop_offset=0

BIN
assets/music/Spook.mp3 Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/Spook.mp3-50d034e6c1565225f87c81a5fd6be306.mp3str"
[deps]
source_file="res://assets/music/Spook.mp3"
dest_files=[ "res://.import/Spook.mp3-50d034e6c1565225f87c81a5fd6be306.mp3str" ]
[params]
loop=false
loop_offset=0

BIN
assets/music/Umlungu.mp3 Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
path="res://.import/Umlungu.mp3-ae8857d7c5b3513754da695033c81f87.mp3str"
[deps]
source_file="res://assets/music/Umlungu.mp3"
dest_files=[ "res://.import/Umlungu.mp3-ae8857d7c5b3513754da695033c81f87.mp3str" ]
[params]
loop=false
loop_offset=0

BIN
assets/orange-balloon/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/1.png-57ec063d55611e857bac973c9256660b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/1.png"
dest_files=[ "res://.import/1.png-57ec063d55611e857bac973c9256660b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/orange-balloon/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/2.png-169186f3a87454cd09a32e3f8deae609.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/2.png"
dest_files=[ "res://.import/2.png-169186f3a87454cd09a32e3f8deae609.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/orange-balloon/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/3.png-c2282b89266b81751952414d40073810.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/3.png"
dest_files=[ "res://.import/3.png-c2282b89266b81751952414d40073810.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/orange-balloon/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/4.png-714fab1c7c59373cc25e5618ef2fb382.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/4.png"
dest_files=[ "res://.import/4.png-714fab1c7c59373cc25e5618ef2fb382.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/orange-balloon/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/5.png-c03e581c633ec59acb65c6617019313c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/5.png"
dest_files=[ "res://.import/5.png-c03e581c633ec59acb65c6617019313c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/orange-balloon/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/6.png-d0886ce6699b79ff611ccb2ebd1fa451.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/orange-balloon/6.png"
dest_files=[ "res://.import/6.png-d0886ce6699b79ff611ccb2ebd1fa451.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/pink-ballon/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/1.png-d194c5a369c75c9c4986e113bbf4df6b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/pink-ballon/1.png"
dest_files=[ "res://.import/1.png-d194c5a369c75c9c4986e113bbf4df6b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/pink-ballon/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/2.png-551b4c39fc8d709c24f6ed81f82991b9.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/pink-ballon/2.png"
dest_files=[ "res://.import/2.png-551b4c39fc8d709c24f6ed81f82991b9.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/pink-ballon/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/3.png-b7ed2c983e2befe9796c9bca4532fb34.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/pink-ballon/3.png"
dest_files=[ "res://.import/3.png-b7ed2c983e2befe9796c9bca4532fb34.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

BIN
assets/pink-ballon/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB