added intro cutscene
This commit is contained in:
parent
de38a0f5d9
commit
0acf955e60
7 changed files with 258 additions and 1 deletions
BIN
audio/sounds/talking.ogg
Normal file
BIN
audio/sounds/talking.ogg
Normal file
Binary file not shown.
15
audio/sounds/talking.ogg.import
Normal file
15
audio/sounds/talking.ogg.import
Normal 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
|
|
@ -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
15
menus/intro_story.gd
Normal 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
82
menus/intro_story.tscn
Normal 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
13
menus/rev83_intro.gd
Normal 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
132
menus/rev83_intro.tscn
Normal 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
|
Loading…
Add table
Add a link
Reference in a new issue