added intro cutscene

This commit is contained in:
pennyrigate 2023-09-30 22:12:01 -04:00
parent de38a0f5d9
commit 0acf955e60
7 changed files with 258 additions and 1 deletions

BIN
audio/sounds/talking.ogg Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
[remap]
importer="ogg_vorbis"
type="AudioStreamOGGVorbis"
path="res://.import/talking.ogg-fc3a33c101799175c752c54065877385.oggstr"
[deps]
source_file="res://audio/sounds/talking.ogg"
dest_files=[ "res://.import/talking.ogg-fc3a33c101799175c752c54065877385.oggstr" ]
[params]
loop=false
loop_offset=0

View file

@ -95,4 +95,4 @@ func _on_Exit_area_entered(area: Area2D) -> void:
Fade.fade_out(0.4)
yield(Fade, "fade_finished")
get_tree().paused = false
SceneManager.current_scene = load("res://menus/file_select.tscn").instance()
SceneManager.current_scene = load("res://menus/intro_story.tscn").instance()

15
menus/intro_story.gd Normal file
View file

@ -0,0 +1,15 @@
extends Node2D
func _ready():
Fade.fade_in(0.4)
func _input(event):
if Input.is_action_just_pressed("ui_accept"):
Fade.fade_out(0.4)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/level_select_scholar.tscn").instance()
func _on_AnimationPlayer_animation_finished(anim_name):
Fade.fade_out(0.4)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/level_select_scholar.tscn").instance()

82
menus/intro_story.tscn Normal file
View file

@ -0,0 +1,82 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://shaders/ska_plane.gdshader" type="Shader" id=1]
[ext_resource path="res://ui/theme.tres" type="Theme" id=2]
[ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=3]
[ext_resource path="res://menus/intro_story.gd" type="Script" id=4]
[sub_resource type="ShaderMaterial" id=1]
shader = ExtResource( 1 )
shader_param/color_1 = Color( 0, 0, 0, 1 )
shader_param/color_2 = Color( 0.168627, 0.168627, 0.168627, 1 )
shader_param/checker_size = Vector2( 16, 16 )
shader_param/pan_speed = Vector2( 16, 0 )
shader_param/cycle_speed = Vector2( 4, 4 )
shader_param/cycle_alternation = Vector2( 4, 4 )
shader_param/uv_transform = Transform2D( 0, 1, 1, 0, 0, 0 )
[sub_resource type="Animation" id=2]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Label:rect_position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 8, 192 ) ]
}
[sub_resource type="Animation" id=3]
resource_name = "scroll"
length = 30.0
tracks/0/type = "value"
tracks/0/path = NodePath("Label:rect_position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 30 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 8, 192 ), Vector2( 8, -528 ) ]
}
[node name="IntroStory" type="Node2D"]
script = ExtResource( 4 )
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource( 1 )
margin_right = 256.0
margin_bottom = 192.0
[node name="Label" type="Label" parent="."]
material = ExtResource( 3 )
margin_left = 8.0
margin_top = 192.0
margin_right = 248.0
margin_bottom = 722.0
theme = ExtResource( 2 )
text = "The year is 2083.
Capitalism has devastated the earth and all hope seems lost.
SG, A factory worker in Virginia, is fed up with their endless toil and vows to change the future. Their boss takes orders from the richest man in the world, Fami, a man who owns the entire world and is responsible for its hyper-capitalist downfall.
Fami's will is enacted by his police force, the famicops, and happiness is obsolete. Fami also enacts his will through the use of monstrous chimeras - creatures made from a combination of biological materials and AI cores known as \"artificial souls\".
The blueprint for the artificial soul was developed by an egotistical man named Dr. Intelli who believes the world should only be ruled by the ones he deems the smartest. Intelli also developed a space laser that can be powered by the shards of zircon ultima, a gem that can grant ultimate power. Fami used the laser to horribly alter the world, which scattered the shards across Virginia.
Fami vows to use the Zircon Ultima again and thus it's SG's Mission to keep the Shards from Fami as well as bring an end to Fami's reign."
align = 1
autowrap = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "scroll"
anims/RESET = SubResource( 2 )
anims/scroll = SubResource( 3 )
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]

13
menus/rev83_intro.gd Normal file
View file

@ -0,0 +1,13 @@
extends Node2D
onready var label = $TextBlock/Label
func _ready():
Fade.fade_in(0.4)
label.text = label.text % str(Save.current_file.name)
func _input(event):
if Input.is_action_just_pressed("ui_accept"):
Fade.fade_out(0.4)
yield(Fade, "fade_finished")
SceneManager.current_scene = load("res://menus/intro_story.tscn").instance()

132
menus/rev83_intro.tscn Normal file
View file

@ -0,0 +1,132 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://shaders/ska_plane.gdshader" type="Shader" id=1]
[ext_resource path="res://ui/theme.tres" type="Theme" id=2]
[ext_resource path="res://ui/2ndpuberty_outline.tres" type="Material" id=3]
[ext_resource path="res://audio/sounds/talking.ogg" type="AudioStream" id=4]
[ext_resource path="res://menus/rev83_intro.gd" type="Script" id=5]
[sub_resource type="ShaderMaterial" id=1]
shader = ExtResource( 1 )
shader_param/color_1 = Color( 0.3542, 0.4235, 0.77, 1 )
shader_param/color_2 = Color( 0.0912, 0.76, 0.403307, 1 )
shader_param/checker_size = Vector2( 16, 16 )
shader_param/pan_speed = Vector2( 8, 10 )
shader_param/cycle_speed = Vector2( 0, 2 )
shader_param/cycle_alternation = Vector2( -5, 18 )
shader_param/uv_transform = Transform2D( 1, 0, -1, 1, 0, 0 )
[sub_resource type="Animation" id=3]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("TextBlock:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 144, 104 ) ]
}
[sub_resource type="Animation" id=2]
resource_name = "type"
length = 5.0
tracks/0/type = "value"
tracks/0/path = NodePath("TextBlock/Label:percent_visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 5 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ 1.0 ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("TextBlock:position")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 0.9 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Vector2( 256, 192 ), Vector2( 144, 104 ) ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("TextBlock:scale")
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": [ Vector2( 0, 0 ), Vector2( 1, 1 ) ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("TextBlock:rotation_degrees")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0, 0.9 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 0.0, 360.0 ]
}
[node name="Rev83Intro" type="Node2D"]
script = ExtResource( 5 )
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource( 1 )
margin_right = 256.0
margin_bottom = 192.0
[node name="TextBlock" type="Node2D" parent="."]
position = Vector2( 144, 104 )
rotation = 6.28319
[node name="Label" type="Label" parent="TextBlock"]
material = ExtResource( 3 )
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -136.5
margin_top = -96.0
margin_right = 136.5
margin_bottom = 96.0
theme = ExtResource( 2 )
text = "Hello %s,
I am computer code given \"life\",
you can call me Revolution 2083.
Do you want to play a game with me?
This game may at times seem
one-sided in my favor,
but it's actually in your favor...
I'm the only one that can
truly lose, you can keep trying and
dying until you win, but I can't.
The game is only over
when you give up."
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "type"
anims/RESET = SubResource( 3 )
anims/type = SubResource( 2 )
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 4 )
volume_db = -10.0
autoplay = true