Browse Source

Merge pull request #222 from cbscribe/dodge_game

Add "Dodge the Creeps" tutorial game
Rémi Verschelde 7 years ago
parent
commit
1c2ec4c2e8
44 changed files with 1470 additions and 0 deletions
  1. 2 0
      2d/dodge_the_creeps/.gitignore
  2. 25 0
      2d/dodge_the_creeps/HUD.gd
  3. 126 0
      2d/dodge_the_creeps/HUD.tscn
  4. 21 0
      2d/dodge_the_creeps/LICENSE
  5. 42 0
      2d/dodge_the_creeps/Main.gd
  6. 112 0
      2d/dodge_the_creeps/Main.tscn
  7. 11 0
      2d/dodge_the_creeps/Mob.gd
  8. 82 0
      2d/dodge_the_creeps/Mob.tscn
  9. 54 0
      2d/dodge_the_creeps/Player.gd
  10. 145 0
      2d/dodge_the_creeps/Player.tscn
  11. BIN
      2d/dodge_the_creeps/art/House In a Forest Loop.ogg
  12. 14 0
      2d/dodge_the_creeps/art/House In a Forest Loop.ogg.import
  13. BIN
      2d/dodge_the_creeps/art/enemyFlyingAlt_1.png
  14. 28 0
      2d/dodge_the_creeps/art/enemyFlyingAlt_1.png.import
  15. BIN
      2d/dodge_the_creeps/art/enemyFlyingAlt_2.png
  16. 28 0
      2d/dodge_the_creeps/art/enemyFlyingAlt_2.png.import
  17. BIN
      2d/dodge_the_creeps/art/enemySwimming_1.png
  18. 28 0
      2d/dodge_the_creeps/art/enemySwimming_1.png.import
  19. BIN
      2d/dodge_the_creeps/art/enemySwimming_2.png
  20. 28 0
      2d/dodge_the_creeps/art/enemySwimming_2.png.import
  21. BIN
      2d/dodge_the_creeps/art/enemyWalking_1.png
  22. 28 0
      2d/dodge_the_creeps/art/enemyWalking_1.png.import
  23. BIN
      2d/dodge_the_creeps/art/enemyWalking_2.png
  24. 28 0
      2d/dodge_the_creeps/art/enemyWalking_2.png.import
  25. BIN
      2d/dodge_the_creeps/art/gameover.wav
  26. 20 0
      2d/dodge_the_creeps/art/gameover.wav.import
  27. BIN
      2d/dodge_the_creeps/art/playerGrey_up1.png
  28. 28 0
      2d/dodge_the_creeps/art/playerGrey_up1.png.import
  29. BIN
      2d/dodge_the_creeps/art/playerGrey_up2.png
  30. 28 0
      2d/dodge_the_creeps/art/playerGrey_up2.png.import
  31. BIN
      2d/dodge_the_creeps/art/playerGrey_walk1.png
  32. 28 0
      2d/dodge_the_creeps/art/playerGrey_walk1.png.import
  33. BIN
      2d/dodge_the_creeps/art/playerGrey_walk2.png
  34. 28 0
      2d/dodge_the_creeps/art/playerGrey_walk2.png.import
  35. BIN
      2d/dodge_the_creeps/art/set3_tiles.png
  36. 28 0
      2d/dodge_the_creeps/art/set3_tiles.png.import
  37. 2 0
      2d/dodge_the_creeps/attributions.txt
  38. 102 0
      2d/dodge_the_creeps/default_env.tres
  39. 253 0
      2d/dodge_the_creeps/fonts/FONTLOG.txt
  40. 94 0
      2d/dodge_the_creeps/fonts/LICENSE.txt
  41. BIN
      2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf
  42. BIN
      2d/dodge_the_creeps/icon.png
  43. 28 0
      2d/dodge_the_creeps/icon.png.import
  44. 29 0
      2d/dodge_the_creeps/project.godot

+ 2 - 0
2d/dodge_the_creeps/.gitignore

@@ -0,0 +1,2 @@
+.import
+logs/

+ 25 - 0
2d/dodge_the_creeps/HUD.gd

@@ -0,0 +1,25 @@
+extends CanvasLayer
+
+signal start_game
+
+func show_message(text):
+	$MessageLabel.text = text
+	$MessageLabel.show()
+	$MessageTimer.start()
+
+func show_game_over():
+	show_message("Game Over")
+	yield($MessageTimer, "timeout")
+	$StartButton.show()
+	$MessageLabel.text = "Dodge the\nCreeps!"
+	$MessageLabel.show()
+
+func update_score(score):
+	$ScoreLabel.text = str(score)
+
+func _on_StartButton_pressed():
+	$StartButton.hide()
+	emit_signal("start_game")
+
+func _on_MessageTimer_timeout():
+	$MessageLabel.hide()

+ 126 - 0
2d/dodge_the_creeps/HUD.tscn

@@ -0,0 +1,126 @@
+[gd_scene load_steps=6 format=2]
+
+[ext_resource path="res://HUD.gd" type="Script" id=1]
+[ext_resource path="res://fonts/Xolonium-Regular.ttf" type="DynamicFontData" id=2]
+
+[sub_resource type="DynamicFont" id=1]
+
+size = 64
+use_mipmaps = false
+use_filter = false
+font_data = ExtResource( 2 )
+_sections_unfolded = [ "Font", "Settings" ]
+
+[sub_resource type="DynamicFont" id=2]
+
+size = 72
+use_mipmaps = false
+use_filter = false
+font_data = ExtResource( 2 )
+_sections_unfolded = [ "Font", "Settings" ]
+
+[sub_resource type="DynamicFont" id=3]
+
+size = 48
+use_mipmaps = false
+use_filter = false
+font_data = ExtResource( 2 )
+_sections_unfolded = [ "Font", "Settings" ]
+
+[node name="HUD" type="CanvasLayer"]
+
+layer = 1
+offset = Vector2( 0, 0 )
+rotation = 0.0
+scale = Vector2( 1, 1 )
+transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+script = ExtResource( 1 )
+
+[node name="ScoreLabel" type="Label" parent="." index="0"]
+
+anchor_left = 0.5
+anchor_top = 0.0
+anchor_right = 0.5
+anchor_bottom = 0.0
+margin_left = -25.0
+margin_right = 25.0
+margin_bottom = 100.0
+rect_pivot_offset = Vector2( 0, 0 )
+rect_clip_content = false
+mouse_filter = 2
+mouse_default_cursor_shape = 0
+size_flags_horizontal = 1
+size_flags_vertical = 4
+custom_fonts/font = SubResource( 1 )
+text = "0"
+align = 1
+percent_visible = 1.0
+lines_skipped = 0
+max_lines_visible = -1
+_sections_unfolded = [ "Anchor", "Margin", "custom_fonts" ]
+
+[node name="MessageLabel" type="Label" parent="." index="1"]
+
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+margin_left = -200.0
+margin_top = -150.0
+margin_right = 200.0
+margin_bottom = 50.0
+rect_pivot_offset = Vector2( 0, 0 )
+rect_clip_content = false
+mouse_filter = 2
+mouse_default_cursor_shape = 0
+size_flags_horizontal = 1
+size_flags_vertical = 4
+custom_fonts/font = SubResource( 2 )
+text = "Dodge the
+Creeps!"
+align = 1
+valign = 1
+percent_visible = 1.0
+lines_skipped = 0
+max_lines_visible = -1
+_sections_unfolded = [ "Anchor", "Margin", "custom_fonts" ]
+
+[node name="MessageTimer" type="Timer" parent="." index="2"]
+
+process_mode = 1
+wait_time = 2.0
+one_shot = true
+autostart = false
+
+[node name="StartButton" type="Button" parent="." index="3"]
+
+anchor_left = 0.5
+anchor_top = 1.0
+anchor_right = 0.5
+anchor_bottom = 1.0
+margin_left = -100.0
+margin_top = -200.0
+margin_right = 100.0
+margin_bottom = -100.0
+rect_pivot_offset = Vector2( 0, 0 )
+rect_clip_content = false
+focus_mode = 2
+mouse_filter = 0
+mouse_default_cursor_shape = 0
+size_flags_horizontal = 1
+size_flags_vertical = 1
+custom_fonts/font = SubResource( 3 )
+toggle_mode = false
+enabled_focus_mode = 2
+shortcut = null
+group = null
+text = "Start"
+flat = false
+align = 1
+_sections_unfolded = [ "Anchor", "Margin", "Visibility", "custom_fonts" ]
+
+[connection signal="timeout" from="MessageTimer" to="." method="_on_MessageTimer_timeout"]
+
+[connection signal="pressed" from="StartButton" to="." method="_on_StartButton_pressed"]
+
+

+ 21 - 0
2d/dodge_the_creeps/LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 KidsCanCode
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 42 - 0
2d/dodge_the_creeps/Main.gd

@@ -0,0 +1,42 @@
+extends Node
+
+export (PackedScene) var Mob
+var score
+
+func _ready():
+	randomize()
+
+func new_game():
+	score = 0
+	$HUD.update_score(score)
+	$Player.start($StartPosition.position)
+	$StartTimer.start()
+	$HUD.show_message("Get Ready")
+	$Music.play()
+
+func game_over():
+	$DeathSound.play()
+	$Music.stop()
+	$ScoreTimer.stop()
+	$MobTimer.stop()
+	$HUD.show_game_over()
+
+func _on_MobTimer_timeout():
+	# choose a random location on the Path2D
+	$MobPath/MobSpawnLocation.set_offset(randi())
+	var mob = Mob.instance()
+	add_child(mob)
+	var direction = $MobPath/MobSpawnLocation.rotation + PI/2
+	mob.position = $MobPath/MobSpawnLocation.position
+	# add some randomness to the direction
+	direction += rand_range(-PI/4, PI/4)
+	mob.rotation = direction
+	mob.set_linear_velocity(Vector2(rand_range(mob.MIN_SPEED, mob.MAX_SPEED), 0).rotated(direction))
+
+func _on_StartTimer_timeout():
+	$MobTimer.start()
+	$ScoreTimer.start()
+
+func _on_ScoreTimer_timeout():
+	score += 1
+	$HUD.update_score(score)

+ 112 - 0
2d/dodge_the_creeps/Main.tscn

@@ -0,0 +1,112 @@
+[gd_scene load_steps=8 format=2]
+
+[ext_resource path="res://Main.gd" type="Script" id=1]
+[ext_resource path="res://Mob.tscn" type="PackedScene" id=2]
+[ext_resource path="res://Player.tscn" type="PackedScene" id=3]
+[ext_resource path="res://HUD.tscn" type="PackedScene" id=4]
+[ext_resource path="res://art/House In a Forest Loop.ogg" type="AudioStream" id=5]
+[ext_resource path="res://art/gameover.wav" type="AudioStream" id=6]
+
+[sub_resource type="Curve2D" id=1]
+
+bake_interval = 5.0
+_data = {
+"points": PoolVector2Array( 0, 0, 0, 0, 1.70602, 3.56798, 0, 0, 0, 0, 482.263, 3.26522, 0, 0, 0, 0, 480.489, 729.458, 0, 0, 0, 0, 0.794434, 732.118, 0, 0, 0, 0, 1.97066, 3.83263 )
+}
+
+[node name="Main" type="Node" index="0"]
+
+script = ExtResource( 1 )
+Mob = ExtResource( 2 )
+
+[node name="ColorRect" type="ColorRect" parent="." index="0"]
+
+anchor_left = 0.0
+anchor_top = 0.0
+anchor_right = 0.0
+anchor_bottom = 0.0
+margin_right = 486.0
+margin_bottom = 734.0
+rect_pivot_offset = Vector2( 0, 0 )
+rect_clip_content = false
+mouse_filter = 0
+mouse_default_cursor_shape = 0
+size_flags_horizontal = 1
+size_flags_vertical = 1
+color = Color( 0.253451, 0.425288, 0.429412, 1 )
+
+[node name="Player" parent="." index="1" instance=ExtResource( 3 )]
+
+[node name="MobTimer" type="Timer" parent="." index="2"]
+
+process_mode = 1
+wait_time = 0.5
+one_shot = false
+autostart = false
+
+[node name="ScoreTimer" type="Timer" parent="." index="3"]
+
+process_mode = 1
+wait_time = 1.0
+one_shot = false
+autostart = false
+
+[node name="StartTimer" type="Timer" parent="." index="4"]
+
+process_mode = 1
+wait_time = 2.0
+one_shot = true
+autostart = false
+
+[node name="StartPosition" type="Position2D" parent="." index="5"]
+
+position = Vector2( 240, 450 )
+_sections_unfolded = [ "Transform" ]
+
+[node name="HUD" parent="." index="6" instance=ExtResource( 4 )]
+
+transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+
+[node name="Music" type="AudioStreamPlayer" parent="." index="7"]
+
+stream = ExtResource( 5 )
+volume_db = -8.0
+autoplay = false
+mix_target = 0
+bus = "Master"
+
+[node name="DeathSound" type="AudioStreamPlayer" parent="." index="8"]
+
+stream = ExtResource( 6 )
+volume_db = -5.0
+autoplay = false
+mix_target = 0
+bus = "Master"
+
+[node name="MobPath" type="Path2D" parent="." index="9"]
+
+curve = SubResource( 1 )
+
+[node name="MobSpawnLocation" type="PathFollow2D" parent="MobPath" index="0"]
+
+position = Vector2( 1.70602, 3.56798 )
+rotation = -0.000630111
+offset = 0.0
+h_offset = 0.0
+v_offset = 0.0
+rotate = true
+cubic_interp = true
+loop = true
+lookahead = 4.0
+
+[connection signal="hit" from="Player" to="." method="game_over"]
+
+[connection signal="timeout" from="MobTimer" to="." method="_on_MobTimer_timeout"]
+
+[connection signal="timeout" from="ScoreTimer" to="." method="_on_ScoreTimer_timeout"]
+
+[connection signal="timeout" from="StartTimer" to="." method="_on_StartTimer_timeout"]
+
+[connection signal="start_game" from="HUD" to="." method="new_game"]
+
+

+ 11 - 0
2d/dodge_the_creeps/Mob.gd

@@ -0,0 +1,11 @@
+extends RigidBody2D
+
+export (int) var MIN_SPEED
+export (int) var MAX_SPEED
+var mob_types = ["walk", "swim", "fly"]
+
+func _ready():
+	$AnimatedSprite.animation = mob_types[randi() % mob_types.size()]
+
+func _on_Visibility_screen_exited():
+	queue_free()

+ 82 - 0
2d/dodge_the_creeps/Mob.tscn

@@ -0,0 +1,82 @@
+[gd_scene load_steps=10 format=2]
+
+[ext_resource path="res://Mob.gd" type="Script" id=1]
+[ext_resource path="res://art/enemyWalking_1.png" type="Texture" id=2]
+[ext_resource path="res://art/enemyWalking_2.png" type="Texture" id=3]
+[ext_resource path="res://art/enemyFlyingAlt_1.png" type="Texture" id=4]
+[ext_resource path="res://art/enemyFlyingAlt_2.png" type="Texture" id=5]
+[ext_resource path="res://art/enemySwimming_1.png" type="Texture" id=6]
+[ext_resource path="res://art/enemySwimming_2.png" type="Texture" id=7]
+
+[sub_resource type="SpriteFrames" id=1]
+
+animations = [ {
+"frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
+"loop": true,
+"name": "walk",
+"speed": 4.0
+}, {
+"frames": [ ExtResource( 4 ), ExtResource( 5 ) ],
+"loop": true,
+"name": "fly",
+"speed": 3.0
+}, {
+"frames": [ ExtResource( 6 ), ExtResource( 7 ) ],
+"loop": true,
+"name": "swim",
+"speed": 4.0
+} ]
+
+[sub_resource type="CapsuleShape2D" id=2]
+
+custom_solver_bias = 0.0
+radius = 34.8222
+height = 28.8308
+
+[node name="Mob" type="RigidBody2D"]
+
+input_pickable = true
+collision_layer = 1
+collision_mask = 0
+mode = 0
+mass = 1.0
+friction = 1.0
+bounce = 0.0
+gravity_scale = 0.0
+custom_integrator = false
+continuous_cd = 0
+contacts_reported = 0
+contact_monitor = false
+sleeping = false
+can_sleep = true
+linear_velocity = Vector2( 0, 0 )
+linear_damp = 0.1
+angular_velocity = 0.0
+angular_damp = 1.0
+script = ExtResource( 1 )
+_sections_unfolded = [ "Angular", "Collision", "Transform" ]
+__meta__ = {
+"_edit_group_": true
+}
+MIN_SPEED = 150
+MAX_SPEED = 250
+
+[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
+
+scale = Vector2( 0.75, 0.75 )
+frames = SubResource( 1 )
+animation = "swim"
+playing = true
+_sections_unfolded = [ "Transform" ]
+
+[node name="Collision" type="CollisionShape2D" parent="." index="1"]
+
+rotation = 1.5708
+shape = SubResource( 2 )
+_sections_unfolded = [ "Transform", "Visibility" ]
+
+[node name="Visibility" type="VisibilityNotifier2D" parent="." index="2"]
+
+rect = Rect2( -10, -10, 20, 20 )
+
+

+ 54 - 0
2d/dodge_the_creeps/Player.gd

@@ -0,0 +1,54 @@
+extends Area2D
+
+signal hit
+
+export (int) var SPEED
+var velocity = Vector2()
+var screensize
+
+func _ready():
+	hide()
+	screensize = get_viewport_rect().size
+
+func start(pos):
+	position = pos
+	show()
+	$Collision.disabled = false
+
+func _process(delta):
+	velocity = Vector2()
+	if Input.is_action_pressed("ui_right"):
+		velocity.x += 1
+	if Input.is_action_pressed("ui_left"):
+		velocity.x -= 1
+	if Input.is_action_pressed("ui_down"):
+		velocity.y += 1
+	if Input.is_action_pressed("ui_up"):
+		velocity.y -= 1
+	if velocity.length() > 0:
+		velocity = velocity.normalized() * SPEED
+		$AnimatedSprite.play()
+		$Trail.emitting = true
+	else:
+		$AnimatedSprite.stop()
+		$Trail.emitting = false
+
+	position += velocity * delta
+	position.x = clamp(position.x, 0, screensize.x)
+	position.y = clamp(position.y, 0, screensize.y)
+
+	if velocity.x != 0:
+		$AnimatedSprite.animation = "right"
+		$AnimatedSprite.flip_v = false
+		$AnimatedSprite.flip_h = velocity.x < 0
+	elif velocity.y != 0:
+		$AnimatedSprite.animation = "up"
+		$AnimatedSprite.flip_v = velocity.y > 0
+
+func _on_Player_body_entered( body ):
+	$Collision.disabled = true
+	hide()
+	emit_signal("hit")
+
+
+

+ 145 - 0
2d/dodge_the_creeps/Player.tscn

@@ -0,0 +1,145 @@
+[gd_scene load_steps=13 format=2]
+
+[ext_resource path="res://Player.gd" type="Script" id=1]
+[ext_resource path="res://art/playerGrey_walk1.png" type="Texture" id=2]
+[ext_resource path="res://art/playerGrey_walk2.png" type="Texture" id=3]
+[ext_resource path="res://art/playerGrey_up1.png" type="Texture" id=4]
+[ext_resource path="res://art/playerGrey_up2.png" type="Texture" id=5]
+
+[sub_resource type="SpriteFrames" id=1]
+
+animations = [ {
+"frames": [ ExtResource( 2 ), ExtResource( 3 ) ],
+"loop": true,
+"name": "right",
+"speed": 5.0
+}, {
+"frames": [ ExtResource( 4 ), ExtResource( 5 ) ],
+"loop": true,
+"name": "up",
+"speed": 5.0
+} ]
+
+[sub_resource type="CapsuleShape2D" id=2]
+
+custom_solver_bias = 0.0
+radius = 26.5155
+height = 13.8847
+
+[sub_resource type="Gradient" id=3]
+
+offsets = PoolRealArray( 0, 1 )
+colors = PoolColorArray( 1, 1, 1, 0.523804, 1, 1, 1, 0 )
+
+[sub_resource type="GradientTexture" id=4]
+
+flags = 4
+gradient = SubResource( 3 )
+width = 2048
+
+[sub_resource type="Curve" id=5]
+
+min_value = 0.0
+max_value = 1.0
+bake_resolution = 100
+_data = [ Vector2( 0, 0.446289 ), 0.0, 0.0, 0, 0, Vector2( 1, 0.306641 ), 0.0, 0.0, 0, 0 ]
+
+[sub_resource type="CurveTexture" id=6]
+
+flags = 4
+width = 2048
+curve = SubResource( 5 )
+
+[sub_resource type="ParticlesMaterial" id=7]
+
+render_priority = 0
+trail_divisor = 1
+emission_shape = 0
+flag_align_y = false
+flag_rotate_y = false
+flag_disable_z = true
+spread = 45.0
+flatness = 0.0
+gravity = Vector3( 0, 0, 0 )
+initial_velocity = 1.0
+initial_velocity_random = 0.0
+angular_velocity = 1.56945e-43
+angular_velocity_random = 0.0
+orbit_velocity = 0.0
+orbit_velocity_random = 0.0
+linear_accel = 0.0
+linear_accel_random = 0.0
+radial_accel = 0.0
+radial_accel_random = 0.0
+tangential_accel = 0.0
+tangential_accel_random = 0.0
+damping = 0.0
+damping_random = 0.0
+angle = 0.0
+angle_random = 0.0
+scale = 1.0
+scale_random = 0.0
+scale_curve = SubResource( 6 )
+color_ramp = SubResource( 4 )
+hue_variation = 0.0
+hue_variation_random = 0.0
+anim_speed = 0.0
+anim_speed_random = 0.0
+anim_offset = 0.0
+anim_offset_random = 0.0
+anim_loop = false
+_sections_unfolded = [ "Color", "Gravity", "Scale" ]
+
+[node name="Player" type="Area2D"]
+
+input_pickable = true
+gravity_vec = Vector2( 0, 1 )
+gravity = 98.0
+linear_damp = 0.1
+angular_damp = 1.0
+audio_bus_override = false
+audio_bus_name = "Master"
+script = ExtResource( 1 )
+_sections_unfolded = [ "Transform" ]
+__meta__ = {
+"_edit_group_": true
+}
+SPEED = 400
+
+[node name="AnimatedSprite" type="AnimatedSprite" parent="." index="0"]
+
+scale = Vector2( 0.5, 0.5 )
+frames = SubResource( 1 )
+animation = "right"
+_sections_unfolded = [ "Region", "Transform", "Z" ]
+
+[node name="Collision" type="CollisionShape2D" parent="." index="1"]
+
+shape = SubResource( 2 )
+
+[node name="Trail" type="Particles2D" parent="." index="2"]
+
+show_behind_parent = true
+emitting = true
+amount = 10
+lifetime = 1.0
+one_shot = false
+preprocess = 0.0
+speed_scale = 2.0
+explosiveness = 0.0
+randomness = 0.0
+fixed_fps = 0
+fract_delta = true
+visibility_rect = Rect2( -100, -100, 200, 200 )
+local_coords = false
+draw_order = 0
+process_material = SubResource( 7 )
+texture = ExtResource( 4 )
+normal_map = null
+h_frames = 1
+v_frames = 1
+_sections_unfolded = [ "Drawing", "Process Material", "Textures", "Time", "Transform", "Visibility" ]
+
+[connection signal="body_entered" from="." to="." method="_on_Player_body_entered"]
+
+

BIN
2d/dodge_the_creeps/art/House In a Forest Loop.ogg


+ 14 - 0
2d/dodge_the_creeps/art/House In a Forest Loop.ogg.import

@@ -0,0 +1,14 @@
+[remap]
+
+importer="ogg_vorbis"
+type="AudioStreamOGGVorbis"
+path="res://.import/House In a Forest Loop.ogg-1a6a72ae843ad792b7039931227e8d50.oggstr"
+
+[deps]
+
+source_md5="c395b0cc351a71713417cf862282849f"
+
+[params]
+
+loop=true
+loop_offset=0

BIN
2d/dodge_the_creeps/art/enemyFlyingAlt_1.png


+ 28 - 0
2d/dodge_the_creeps/art/enemyFlyingAlt_1.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemyFlyingAlt_1.png-559f599b16c69b112c1b53f6332e9489.stex"
+
+[deps]
+
+source_md5="64d9fdc23f76112a64a283673e3fd8dd"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/enemyFlyingAlt_2.png


+ 28 - 0
2d/dodge_the_creeps/art/enemyFlyingAlt_2.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemyFlyingAlt_2.png-31dc7310eda6e1b721224f3cd932c076.stex"
+
+[deps]
+
+source_md5="5281b0d2b947deb09cbf95ecf9628ae7"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/enemySwimming_1.png


+ 28 - 0
2d/dodge_the_creeps/art/enemySwimming_1.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemySwimming_1.png-dd0e11759dc3d624c8a704f6e98a3d80.stex"
+
+[deps]
+
+source_md5="5e557d1bd564dd553650de1c38746ed9"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/enemySwimming_2.png


+ 28 - 0
2d/dodge_the_creeps/art/enemySwimming_2.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemySwimming_2.png-4c0cbc0732264c4ea3290340bd4a0a62.stex"
+
+[deps]
+
+source_md5="d04b001ba2f4ac6884fdbe44b55fa656"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/enemyWalking_1.png


+ 28 - 0
2d/dodge_the_creeps/art/enemyWalking_1.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemyWalking_1.png-5af6eedbe61b701677d490ffdc1e6471.stex"
+
+[deps]
+
+source_md5="0e417b74e72f5d8f4aca0e557a735643"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/enemyWalking_2.png


+ 28 - 0
2d/dodge_the_creeps/art/enemyWalking_2.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/enemyWalking_2.png-67c480ed60c35e95f5acb0436246b935.stex"
+
+[deps]
+
+source_md5="838f40a8b77a0cb387dc5e5aff6bd8d5"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/gameover.wav


+ 20 - 0
2d/dodge_the_creeps/art/gameover.wav.import

@@ -0,0 +1,20 @@
+[remap]
+
+importer="wav"
+type="AudioStreamSample"
+path="res://.import/gameover.wav-98c95c744b35280048c2bd093cf8a356.sample"
+
+[deps]
+
+source_md5="fe94a3a7558cff917a5500a1298fdcac"
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=true
+edit/normalize=true
+edit/loop=false
+compress/mode=0

BIN
2d/dodge_the_creeps/art/playerGrey_up1.png


+ 28 - 0
2d/dodge_the_creeps/art/playerGrey_up1.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/playerGrey_up1.png-6bd114d0a6beac91f48e3a7314d44564.stex"
+
+[deps]
+
+source_md5="f84241d41055080a3393c9a8619f172b"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/playerGrey_up2.png


+ 28 - 0
2d/dodge_the_creeps/art/playerGrey_up2.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/playerGrey_up2.png-d6aba85f5f2675ebc7045efa7552ee79.stex"
+
+[deps]
+
+source_md5="57618c302a312d248705c7f045978765"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/playerGrey_walk1.png


+ 28 - 0
2d/dodge_the_creeps/art/playerGrey_walk1.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/playerGrey_walk1.png-c4773fe7a7bf85d7ab732eb4458c2742.stex"
+
+[deps]
+
+source_md5="7892ed98ba910fbda0d37266127e96bb"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/playerGrey_walk2.png


+ 28 - 0
2d/dodge_the_creeps/art/playerGrey_walk2.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/playerGrey_walk2.png-34d2d916366100182d08037c51884043.stex"
+
+[deps]
+
+source_md5="9fc73e1224a6b16d8fb5d0f667e3aed2"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0

BIN
2d/dodge_the_creeps/art/set3_tiles.png


+ 28 - 0
2d/dodge_the_creeps/art/set3_tiles.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/set3_tiles.png-7dd06b1fc0bcfaa06e9dd732f61382a2.stex"
+
+[deps]
+
+source_md5="eef34d896b231438a2d97707c0ab06a2"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=false
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 2 - 0
2d/dodge_the_creeps/attributions.txt

@@ -0,0 +1,2 @@
+"Abstract Platformer" by kenney.nl is licensed under http://creativecommons.org/publicdomain/zero/1.0/
+"House in a Forest Loop" by https://opengameart.org/users/horrorpen is licensed under http://creativecommons.org/licenses/by/3.0/

+ 102 - 0
2d/dodge_the_creeps/default_env.tres

@@ -0,0 +1,102 @@
+[gd_resource type="Environment" load_steps=2 format=2]
+
+[sub_resource type="ProceduralSky" id=1]
+
+radiance_size = 4
+sky_top_color = Color( 0.0470588, 0.454902, 0.976471, 1 )
+sky_horizon_color = Color( 0.556863, 0.823529, 0.909804, 1 )
+sky_curve = 0.25
+sky_energy = 1.0
+ground_bottom_color = Color( 0.101961, 0.145098, 0.188235, 1 )
+ground_horizon_color = Color( 0.482353, 0.788235, 0.952941, 1 )
+ground_curve = 0.01
+ground_energy = 1.0
+sun_color = Color( 1, 1, 1, 1 )
+sun_latitude = 35.0
+sun_longitude = 0.0
+sun_angle_min = 1.0
+sun_angle_max = 100.0
+sun_curve = 0.05
+sun_energy = 16.0
+texture_size = 2
+
+[resource]
+
+background_mode = 2
+background_sky = SubResource( 1 )
+background_sky_custom_fov = 0.0
+background_color = Color( 0, 0, 0, 1 )
+background_energy = 1.0
+background_canvas_max_layer = 0
+ambient_light_color = Color( 0, 0, 0, 1 )
+ambient_light_energy = 1.0
+ambient_light_sky_contribution = 0.0
+fog_enabled = false
+fog_color = Color( 0.5, 0.6, 0.7, 1 )
+fog_sun_color = Color( 1, 0.9, 0.7, 1 )
+fog_sun_amount = 0.0
+fog_depth_enabled = true
+fog_depth_begin = 10.0
+fog_depth_curve = 1.0
+fog_transmit_enabled = false
+fog_transmit_curve = 1.0
+fog_height_enabled = false
+fog_height_min = 0.0
+fog_height_max = 100.0
+fog_height_curve = 1.0
+tonemap_mode = 0
+tonemap_exposure = 1.0
+tonemap_white = 1.0
+auto_exposure_enabled = false
+auto_exposure_scale = 0.4
+auto_exposure_min_luma = 0.05
+auto_exposure_max_luma = 8.0
+auto_exposure_speed = 0.5
+ss_reflections_enabled = false
+ss_reflections_max_steps = 64
+ss_reflections_fade_in = 0.15
+ss_reflections_fade_out = 2.0
+ss_reflections_depth_tolerance = 0.2
+ss_reflections_roughness = true
+ssao_enabled = false
+ssao_radius = 1.0
+ssao_intensity = 1.0
+ssao_radius2 = 0.0
+ssao_intensity2 = 1.0
+ssao_bias = 0.01
+ssao_light_affect = 0.0
+ssao_color = Color( 0, 0, 0, 1 )
+ssao_quality = 0
+ssao_blur = 1
+ssao_edge_sharpness = 4.0
+dof_blur_far_enabled = false
+dof_blur_far_distance = 10.0
+dof_blur_far_transition = 5.0
+dof_blur_far_amount = 0.1
+dof_blur_far_quality = 1
+dof_blur_near_enabled = false
+dof_blur_near_distance = 2.0
+dof_blur_near_transition = 1.0
+dof_blur_near_amount = 0.1
+dof_blur_near_quality = 1
+glow_enabled = false
+glow_levels/1 = false
+glow_levels/2 = false
+glow_levels/3 = true
+glow_levels/4 = false
+glow_levels/5 = true
+glow_levels/6 = false
+glow_levels/7 = false
+glow_intensity = 0.8
+glow_strength = 1.0
+glow_bloom = 0.0
+glow_blend_mode = 2
+glow_hdr_threshold = 1.0
+glow_hdr_scale = 2.0
+glow_bicubic_upscale = false
+adjustment_enabled = false
+adjustment_brightness = 1.0
+adjustment_contrast = 1.0
+adjustment_saturation = 1.0
+_sections_unfolded = [ "Background" ]
+

+ 253 - 0
2d/dodge_the_creeps/fonts/FONTLOG.txt

@@ -0,0 +1,253 @@
+Please distribute this file along with the Xolonium fonts when possible.
+
+
+Source
+
+	Find the sourcefiles of Xolonium at
+	<gitlab.com/sev/xolonium>
+
+
+Credits
+
+	Xolonium is created with FontForge <fontforge.org>,
+	Inkscape <inkscape.org>, Python <python.org>, and
+	FontTools <github.com/fonttools>.
+
+	It originated as a custom font for the open-source
+	game Xonotic <xonotic.org>. With many thanks to the
+	Xonotic community for your support.
+
+
+Supported OpenType features
+
+	case  Provides case sensitive placement of punctuation,
+	      brackets, and math symbols for uppercase text.
+	frac  Replaces number/number sequences with diagonal fractions.
+	      Numbers that touch a slash should not exceed 10 digits.
+	kern  Provides kerning for Latin, Greek, and Cyrillic scripts.
+	locl  Dutch: Replaces j with a stressed version if it follows í.
+	      Sami: Replaces n-form Eng with the preferred N-form version.
+	      Romanian and Moldovan: Replaces ŞşŢţ with the preferred ȘșȚț.
+	pnum  Replaces monospaced digits with proportional versions.
+	sinf  Replaces digits with scientific inferiors below the baseline.
+	subs  Replaces digits with subscript versions on the baseline.
+	sups  Replaces digits with superscript versions.
+	zero  Replaces zero with a slashed version.
+
+
+Supported glyph sets
+
+	Adobe Latin 3
+	OpenType W1G
+	ISO 8859-1   Western European
+	ISO 8859-2   Central European
+	ISO 8859-3   South European
+	ISO 8859-4   North European
+	ISO 8859-5   Cyrillic
+	ISO 8859-7   Greek
+	ISO 8859-9   Turkish
+	ISO 8859-10  Nordic
+	ISO 8859-13  Baltic Rim
+	ISO 8859-14  Celtic
+	ISO 8859-15  Western European
+	ISO 8859-16  South-Eastern European
+
+
+Available glyphs
+
+	 !"#$%&'()*+,-./0123456789:;<=>?
+	@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
+	`abcdefghijklmnopqrstuvwxyz{|}~
+
+	 ¡¢£¤¥¦§¨©ª«¬ ®¯°±²³´µ¶·¸¹º»¼½¾¿
+	ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞß
+	àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+	ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğ
+	ĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľ
+	ĿŀŁłŃńŅņŇňŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞş
+	ŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽž
+	ƒǺǻǼǽǾǿȘșȚțȷ
+
+	ˆˇˉ˘˙˚˛˜˝
+
+	ͺ;΄΅Ά·ΈΉΊΌΎΏΐ
+	ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫάέήίΰ
+	αβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ
+
+	ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОП
+	РСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп
+	рстуфхцчшщъыьэюяѐёђѓєѕіїјљњћќѝўџ
+	ѢѣѲѳѴѵҐґҒғҔҕҖҗҘҙҚқҜҝҞҟҠҡҢңҤҥҦҧҨҩ
+	ҪҫҬҭҮүҰұҲҳҴҵҶҷҸҹҺһҼҽӀӁӂӇӈӋӌӏӐӑӒӓ
+	ӔӕӖӗӘәӜӝӞӟӠӡӢӣӤӥӦӧӨөӮӯӰӱӲӳӴӵӶӷӸӹ
+	Ԥԥ
+
+	ḂḃḊḋḞḟṀṁṖṗṠṡṪṫẀẁẂẃẄẅẞỲỳ
+
+	     ‒–—―‘’‚‛“”„‟†‡•…‰′″‹›‽‾⁄
+	⁰⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿ₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎
+	₤₦₩₫€₯₱₹₺₽₿
+	℅ℓ№℗™Ω℮
+	⅛⅜⅝⅞
+	←↑→↓
+	∂∆∏∑−∕∙√∞∟∫≈≠≤≥
+	⌖
+	■▬▮▰▲▶▼◀◆◊●◢◣◤◥
+	☄★☠☢☣⚙⚛⚠⚡⛔
+	❇❈❌❤❰❱❲❳
+	fffiflffiffl
+	🌌🌍🌎🌏👽💣🔥🔫
+	😁😃😄😆😇😈😉😊😎😐😒😕😘
+	😛😝😞😟😠😣😭😮😲😴😵
+	🚀
+
+
+Debugging glyphs
+
+	  U+EFFD  Font version
+	  U+F000  Font hinting indicator
+
+
+Changelog
+
+	Xolonium 4.1  2016-11-22  Severin Meyer  <[email protected]>
+		Reverted frac OpenType feature to a more stable implementation
+
+	Xolonium 4.0  2016-10-08  Severin Meyer  <[email protected]>
+		Decreased width of most glyphs
+		Thinner vertical stems in Xolonium-Regular
+		Thicker horizontal stems in Xolonium-Bold
+		Revised diagonal stems
+		Lowered middle bars
+		Revised diacritical bars
+		Added glyphs:
+			ӏẞ₿
+			U+2007 U+2008 U+2009 U+200A U+202F
+			U+EFFD U+F000
+		Revised glyphs:
+			$&,JKQRXkwxy~¢¤ßǻ˜ζκλμξφЖУжћѴѵ∕₱₺₦₩€ℓ№≈ffffiffl
+			❤🌍🌎🌏😁😄😇😈😉😊😘😭😮😴🚀
+		Removed uncommon glyphs:
+			ʼnſʼҌҍҎҏҾҿӃӄӇӈӚӛӪӫӬӭ
+			U+0312 U+0313 U+0326
+		Simplified OpenType features pnum, zero, and case
+		Removed OpenType feature dlig
+		Revised vertical metrics
+		Merged outlines of composite glyphs in otf version
+		Added ttf version with custom outlines and instructions
+		Added woff and woff2 version
+
+	Xolonium 3.1  2015-06-10  Severin Meyer  <[email protected]>
+		Added currency glyphs:
+			₦₩₫₱₹₺₽
+		Revised glyph:
+			₯
+		Relicensed public release under the SIL Open Font License 1.1
+
+	Xolonium 3.0  2015-05-04  Severin Meyer  <[email protected]>
+		Decreased width of glyphs
+		Decreased descender height
+		Increased height of super/subscript glyphs
+		Revised width of dashes, underscore, and overscore
+		Sharper bends with more circular proportions
+		Decreased stroke thickness of mathematical glyphs
+		Revised diacritical marks
+		Revised diacritical bars
+		Revised Cyrillic hooks
+		Revised glyphs:
+			GQRYjmuwßŊŒſƒǻfffiffiffl
+			ΞΨΩδζιξπςστυφω
+			ЉЄДЛУЭЯбдлэяєљђєћѢѣҨҩҼҽӃӄӘә
+			#$&'()*,/69?@[]{}~¡£¤¥§©®¿
+			‹›₤€₯ℓ№℗℮←↑→↓∂∏∑∞≈▰☄❈❰❱❲❳😝
+		Raised vertical position of mathematical glyphs
+		Unified advance width of numeral and monetary glyphs
+		Unified advance width of mathematical glyphs
+		Revised bearings
+		Rewrote kern feature
+		Bolder Xolonium-Bold with improved proportions
+		Updated glyph names to conform to the AGLFN 1.7
+		Revised hints and PS Private Dictionary
+		Added glyphs:
+			ӶӷԤԥ
+		Added OpenType features:
+			case frac liga locl pnum sinf subs sups zero
+
+	Xolonium 2.4  2014-12-23  Severin Meyer  <[email protected]>
+		Added dingbats:
+			⛔💣🔥
+		Revised size and design of emoticons
+		Revised dingbats:
+			⌖☄☠☣⚙⚛⚠⚡❇❈🌌🌍🌎🌏🔫
+		Removed dingbat:
+			💥
+
+	Xolonium 2.3  2014-08-14  Severin Meyer  <[email protected]>
+		Bugfixed ε and έ, thanks to bowzee for the feedback
+
+	Xolonium 2.2  2014-03-01  Severin Meyer  <[email protected]>
+		Added dingbats:
+			⌖◆●❌💥
+		Revised dingbats:
+			•←↑→↓◊☄★☠☣⚙⚛⚠⚡❇❈❤🌌🌍🌎🌏👽🔫🚀
+		Removed dingbats:
+			♻✪💡📡🔋🔧🔭
+
+	Xolonium 2.1  2013-10-20  Severin Meyer  <[email protected]>
+		Added dingbats:
+			←↑→↓❰❱❲❳■▬▮▰▲▶▼◀◢◣◤◥
+			☄★☠☢☣♻⚙⚛⚠⚡✪❇❈❤
+			🌌🌍🌎🌏👽💡📡🔋🔧🔫🔭🚀
+			😁😃😄😆😇😈😉😊😎😐😒😕
+			😘😛😝😞😟😠😣😭😮😲😴😵
+
+	Xolonium 2.0.1  2013-07-12  Severin Meyer  <[email protected]>
+		Reorganised and simplified files
+
+	Xolonium 2.0  2012-08-11  Severin Meyer  <[email protected]>
+		Revised bends
+		Revised thickness of uppercase diagonal stems
+		Revised diacritical marks
+		Revised hints and PS Private Dictionary
+		Revised glyphs:
+			*1469@DPRly{}§©®¶ÐÞƒΘΞαεζνξνυЄЉЊ
+			ЏБЗЛУЧЪЫЬЭЯбзлчъыьэяєљњџ•€∂∙√∞∫≠
+		Completed glyph sets:
+			Adobe Latin 3
+			OpenType World Glyph Set 1 (W1G)
+			Ghostscript Standard (ghostscript-fonts-std-8.11)
+		Added OpenType kern feature
+		Added Xolonium-Bold
+
+	Xolonium 1.2  2011-02-12  Severin Meyer  <[email protected]>
+		Revised glyphs:
+			D·Ðı
+		Completed glyph sets:
+			ISO 8859-7 (Greek)
+			Unicode Latin Extended-A block
+		Added glyphs:
+			†‡•…‰⁄™∂∑−√∞≠≤≥
+
+	Xolonium 1.1  2011-01-17  Severin Meyer  <[email protected]>
+		Revised placement of cedilla and ogonek in accented glyphs
+		Revised glyphs:
+			,;DKTjkvwxy¥§Ð˛€
+		Completed glyph sets:
+			ISO 8859-2  (Central European)
+			ISO 8859-3  (South European, Esperanto)
+			ISO 8859-4  (North European)
+			ISO 8859-5  (Cyrillic)
+			ISO 8859-9  (Turkish)
+			ISO 8859-10 (Nordic)
+			ISO 8859-13 (Baltic Rim)
+			ISO 8859-14 (Celtic)
+			ISO 8859-16 (South-Eastern European)
+		Added glyphs:
+			ȷʼ̒ ЀЍѐѝ‒–—‘’‚‛“”„‟‹›
+
+	Xolonium 1.0  2011-01-04  Severin Meyer  <[email protected]>
+		Completed glyph sets:
+			ISO 8859-1  (Western European)
+			ISO 8859-15 (Western European)
+		Added glyphs:
+			ĄĆĘŁŃŚŹŻąćęłńśźżıˆˇ˙˚˛˜

+ 94 - 0
2d/dodge_the_creeps/fonts/LICENSE.txt

@@ -0,0 +1,94 @@
+Copyright 2011-2016 Severin Meyer <[email protected]>,
+with Reserved Font Name Xolonium.
+
+This Font Software is licensed under the SIL Open Font License,
+Version 1.1. This license is copied below, and is also available
+with a FAQ at <http://scripts.sil.org/OFL>
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.

BIN
2d/dodge_the_creeps/fonts/Xolonium-Regular.ttf


BIN
2d/dodge_the_creeps/icon.png


+ 28 - 0
2d/dodge_the_creeps/icon.png.import

@@ -0,0 +1,28 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"
+
+[deps]
+
+source_md5="7b0d811088c13a3b6d79f9895b9f2935"
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=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
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0

+ 29 - 0
2d/dodge_the_creeps/project.godot

@@ -0,0 +1,29 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+;   [section] ; section goes between []
+;   param=value ; assign values to parameters
+
+config_version=3
+
+[application]
+
+config/name="Dodge the Creeps"
+run/main_scene="res://Main.tscn"
+config/icon="res://icon.png"
+
+[display]
+
+window/size/width=480
+window/size/height=720
+window/size/resizable=false
+
+[gdnative]
+
+singletons=[  ]
+
+[rendering]
+
+environment/default_environment="res://default_env.tres"