diff --git a/maps/lab.tscn b/maps/lab.tscn index 557cac2..68217fd 100644 --- a/maps/lab.tscn +++ b/maps/lab.tscn @@ -38,7 +38,7 @@ extents = Vector2( 20.1613, 4.03226 ) [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 8, 128 ) -[node name="Map" type="Node2D" groups=["map"]] +[node name="Map2" type="Node2D" groups=["map"]] pause_mode = 1 script = ExtResource( 19 ) target_time_any = 70 diff --git a/maps/test_room.tscn b/maps/test_room.tscn index 8b7cbfe..cc3a670 100644 --- a/maps/test_room.tscn +++ b/maps/test_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=28 format=2] +[gd_scene load_steps=27 format=2] [ext_resource path="res://objects/enemy/super_slime.tscn" type="PackedScene" id=1] [ext_resource path="res://tilesets/t_cave.tres" type="TileSet" id=2] @@ -12,7 +12,6 @@ [ext_resource path="res://maps/map.gd" type="Script" id=11] [ext_resource path="res://objects/environment/turniwood/turning_platform.tscn" type="PackedScene" id=12] [ext_resource path="res://objects/collectibles/arrow.tscn" type="PackedScene" id=13] -[ext_resource path="res://objects/environment/hatch/hatch.tscn" type="PackedScene" id=14] [ext_resource path="res://objects/respawn_point.tscn" type="PackedScene" id=16] [ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=17] [ext_resource path="res://objects/environment/switches/button.tscn" type="PackedScene" id=19] @@ -129,6 +128,7 @@ material = SubResource( 4 ) position = Vector2( 4, 4 ) z_index = -3 frames = SubResource( 5 ) +frame = 1 playing = true [node name="Steam" parent="." instance=ExtResource( 23 )] @@ -136,9 +136,6 @@ position = Vector2( 27, 128 ) [node name="StaticBody2D" type="StaticBody2D" parent="."] -[node name="Hatch" parent="." instance=ExtResource( 14 )] -position = Vector2( 40, 120 ) - [node name="Button" parent="." instance=ExtResource( 19 )] position = Vector2( 16, 168 ) target_group = "a" diff --git a/objects/hud/3d_text.tscn b/objects/hud/3d_text.tscn index 156b609..7625d6c 100644 --- a/objects/hud/3d_text.tscn +++ b/objects/hud/3d_text.tscn @@ -1,14 +1,16 @@ -[gd_scene load_steps=8 format=2] +[gd_scene load_steps=17 format=2] [ext_resource path="res://ui/PressStart2P-Regular.ttf" type="DynamicFontData" id=1] [ext_resource path="res://objects/hud/3d_text.gd" type="Script" id=2] +[ext_resource path="res://ui/Kozuka Mincho Std H.otf" type="DynamicFontData" id=3] -[sub_resource type="DynamicFont" id=1] +[sub_resource type="DynamicFont" id=8] font_data = ExtResource( 1 ) [sub_resource type="TextMesh" id=2] resource_local_to_scene = true -font = SubResource( 1 ) +text = "TEXT" +font = SubResource( 8 ) pixel_size = 0.05 depth = 0.1 @@ -31,9 +33,69 @@ tracks/0/keys = { "update": 0, "values": [ Vector3( 0, 1, 0 ) ] } +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 1.1, 1.5, 2 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("TextMesh:rotation_degrees") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text_material") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ null ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("..:text") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "TEXT" ] +} +tracks/5/type = "value" +tracks/5/path = NodePath("TextMesh:mesh:font:font_data") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ ExtResource( 1 ) ] +} [sub_resource type="Animation" id=6] -resource_name = "appear" +resource_name = "Zoom Entrance" tracks/0/type = "value" tracks/0/path = NodePath("TextMesh:translation") tracks/0/interp = 2 @@ -47,10 +109,317 @@ tracks/0/keys = { "values": [ Vector3( 0, 1, -100 ), Vector3( 0, 1, 0 ) ] } +[sub_resource type="SpatialMaterial" id=9] +albedo_color = Color( 0.901961, 0.133333, 0.133333, 1 ) +metallic = 0.35 + +[sub_resource type="Animation" id=10] +resource_name = "game over" +step = 0.025 +tracks/0/type = "value" +tracks/0/path = NodePath("TextMesh:translation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, -3, 0 ), Vector3( 0, 1, 0 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 1, 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("TextMesh:rotation_degrees") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 180, 0 ), Vector3( 0, 0, 0 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text_material") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ SubResource( 9 ) ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("..:text") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "GAME OVER!" ] +} +tracks/5/type = "value" +tracks/5/path = NodePath("TextMesh:mesh:font:font_data") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 1 ) ] +} + +[sub_resource type="SpatialMaterial" id=11] +albedo_color = Color( 0.309804, 0.690196, 0.380392, 1 ) +metallic = 0.35 +metallic_specular = 0.11 + +[sub_resource type="Animation" id=7] +resource_name = "level complete" +tracks/0/type = "value" +tracks/0/path = NodePath("TextMesh:rotation_degrees") +tracks/0/interp = 2 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.3, 0.8 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 180, 0, 216 ), Vector3( 360, 0, 360 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.8, 0.9, 1 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 1, 1, 1 ), Vector3( 1.1, 1.1, 1.1 ), Vector3( 1, 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("..:text_material") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ SubResource( 11 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "YOU WIN!" ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("TextMesh:mesh:font:font_data") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 1 ) ] +} + +[sub_resource type="SpatialMaterial" id=12] +albedo_color = Color( 0.439216, 0.780392, 0.658824, 1 ) + +[sub_resource type="Animation" id=13] +resource_name = "prey slaughtered" +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("TextMesh:translation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 1, 0 ), Vector3( 0, 1, 0 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.3, 0.35, 0.4 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 1, 1, 1 ), Vector3( 1.1, 1.1, 1.1 ), Vector3( 1, 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("TextMesh:rotation_degrees") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 0.3 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 0, 0, 0 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text_material") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ SubResource( 12 ) ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("TextMesh:mesh:font:font_data") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 3 ) ] +} +tracks/5/type = "value" +tracks/5/path = NodePath("..:text") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "PREY SLAUGHTERED" ] +} + +[sub_resource type="SpatialMaterial" id=14] +albedo_color = Color( 0.901961, 0.619608, 0.133333, 1 ) + +[sub_resource type="Animation" id=15] +resource_name = "victory" +step = 0.05 +tracks/0/type = "value" +tracks/0/path = NodePath("TextMesh:translation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.9 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, -3, 0 ), Vector3( 0, 1, 0 ) ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("TextMesh:scale") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.9, 0.95, 1 ), +"transitions": PoolRealArray( 1, 1, 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 0, 0 ), Vector3( 1, 1, 1 ), Vector3( 1.1, 1.1, 1.1 ), Vector3( 1, 1, 1 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("TextMesh:rotation_degrees") +tracks/2/interp = 2 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 0.9 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ Vector3( 0, 180, 0 ), Vector3( 0, 0, 720 ) ] +} +tracks/3/type = "value" +tracks/3/path = NodePath("..:text_material") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ SubResource( 14 ) ] +} +tracks/4/type = "value" +tracks/4/path = NodePath("..:text") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "VICTORY!" ] +} +tracks/5/type = "value" +tracks/5/path = NodePath("TextMesh:mesh:font:font_data") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 1 ) ] +} + [node name="3DText" type="ViewportContainer"] anchor_right = 1.0 anchor_bottom = 1.0 script = ExtResource( 2 ) +text = "TEXT" [node name="Viewport" type="Viewport" parent="."] size = Vector2( 256, 192 ) @@ -75,6 +444,10 @@ environment = SubResource( 4 ) [node name="AnimationPlayer" type="AnimationPlayer" parent="Viewport"] unique_name_in_owner = true -autoplay = "appear" +autoplay = "prey slaughtered" anims/RESET = SubResource( 5 ) -anims/appear = SubResource( 6 ) +"anims/Zoom Entrance" = SubResource( 6 ) +"anims/game over" = SubResource( 10 ) +"anims/level complete" = SubResource( 7 ) +"anims/prey slaughtered" = SubResource( 13 ) +anims/victory = SubResource( 15 ) diff --git a/ui/Kozuka Mincho Std H.otf b/ui/Kozuka Mincho Std H.otf new file mode 100644 index 0000000..e698a3e Binary files /dev/null and b/ui/Kozuka Mincho Std H.otf differ