+ guided version

++ many changes
This commit is contained in:
Dooho Yi 2023-11-04 06:58:11 +09:00
parent 5e80771943
commit 2aabb95d78
72 changed files with 6844 additions and 2227 deletions

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,10 @@
extends Node
#guide on/off
var sceneguide = true
#scene changing
var _scenelist = [
"res://cosmic/Scene.tscn",
@ -13,11 +17,37 @@ var _scenelist = [
var _sceneidx = 0
func nextScene():
#
Out.set_gain(0)
AudioServer.set_bus_mute(AudioServer.get_bus_index("Master"), true)
yield(get_tree().create_timer(0.5), "timeout")
#
_sceneidx = (_sceneidx + 1) % _scenelist.size()
get_tree().change_scene(_scenelist[_sceneidx])
#
yield(get_tree().create_timer(0.5), "timeout")
Out.set_gain(1)
Out._reverb = false
Out.set_reverb(0)
Out._lowpass = false
Out.set_lowpass(0)
AudioServer.set_bus_mute(AudioServer.get_bus_index("Master"), false)
func goScene(n):
#
Out.set_gain(0)
AudioServer.set_bus_mute(AudioServer.get_bus_index("Master"), true)
yield(get_tree().create_timer(0.5), "timeout")
#
get_tree().change_scene(_scenelist[n])
#
yield(get_tree().create_timer(0.5), "timeout")
Out.set_gain(1)
Out._reverb = false
Out.set_reverb(0)
Out._lowpass = false
Out.set_lowpass(0)
AudioServer.set_bus_mute(AudioServer.get_bus_index("Master"), false)
#gdpd (pd interface with godot)
var _gdpd
@ -30,6 +60,7 @@ export (int) var _sample_rate = 48000
export (int) var _blocksize = 256
func _ready():
get_tree().set_auto_accept_quit(false)
_gdpd = load("res://addons/gdpd/bin/gdpd.gdns").new()
if _enable_gui:
# set gui path to activate gui window (otherwise, nogui)
@ -43,6 +74,13 @@ func _ready():
yield(get_tree().create_timer(0.3), "timeout")
_gdpd.streamstart()
func _notification(what):
if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST:
Out.set_gain(0)
AudioServer.set_bus_mute(AudioServer.get_bus_index("Master"), true)
yield(get_tree().create_timer(0.5), "timeout")
get_tree().quit() # default behavior
func _exit_tree():
if _patches.size() != 0:
print()

97
autoload/Out.gd Normal file
View file

@ -0,0 +1,97 @@
extends Node
export (bool) var use_embeded_patch = false
export (String, MULTILINE) var patch1 = ""
export (String, MULTILINE) var patch2 = ""
var _my_patch1 = "user://autoload/outL.pd"
var _my_patch2 = "user://autoload/outR.pd"
var _my_id1 = 0
var _my_id2 = 0
var _reverb = false
var _lowpass = false
func set_gain(gain):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('gain')
Global._gdpd.add_float(gain)
Global._gdpd.finish_list("fromGodot" + String(_my_id1))
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('gain')
Global._gdpd.add_float(gain)
Global._gdpd.finish_list("fromGodot" + String(_my_id2))
func set_reverb(reverb):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('reverb')
Global._gdpd.add_float(reverb)
Global._gdpd.finish_list("fromGodot" + String(_my_id1))
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('reverb')
Global._gdpd.add_float(reverb)
Global._gdpd.finish_list("fromGodot" + String(_my_id2))
func set_lowpass(lowpass):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('lowpass')
Global._gdpd.add_float(lowpass)
Global._gdpd.finish_list("fromGodot" + String(_my_id1))
Global._gdpd.start_message(2)
Global._gdpd.add_symbol('lowpass')
Global._gdpd.add_float(lowpass)
Global._gdpd.finish_list("fromGodot" + String(_my_id2))
func _ready():
# save patch (for export)
if use_embeded_patch:
assert(_my_patch1.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !")
assert(_my_patch2.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !")
assert(patch1 != "", "patch is empty?")
assert(patch2 != "", "patch is empty?")
_save_patch()
# load patch
_my_id1 = Global.load_patch(ProjectSettings.globalize_path(_my_patch1))
_my_id2 = Global.load_patch(ProjectSettings.globalize_path(_my_patch2))
# set start-up defaults
set_gain(1)
set_reverb(0)
set_lowpass(0)
func _exit_tree():
Global.close_patch(_my_id1)
Global.close_patch(_my_id2)
func _process(delta):
if Input.is_action_just_pressed("reverb"):
_reverb = not _reverb
set_reverb(float(_reverb))
if Input.is_action_just_pressed("lowpass"):
_lowpass = not _lowpass
set_lowpass(float(_lowpass))
func _save_patch():
# save patch
# prepare directory
var patch_name1 = _my_patch1.split("/")[-1]
var patch_dir1 = _my_patch1.trim_suffix(patch_name1)
var dir1 = Directory.new()
dir1.make_dir_recursive(patch_dir1)
# save to file
var file1 = File.new()
file1.open(_my_patch1, File.WRITE)
file1.store_string(patch1)
file1.close()
####
var patch_name2 = _my_patch2.split("/")[-1]
var patch_dir2 = _my_patch2.trim_suffix(patch_name2)
var dir2 = Directory.new()
dir2.make_dir_recursive(patch_dir2)
# save to file
var file2 = File.new()
file2.open(_my_patch2, File.WRITE)
file2.store_string(patch2)
file2.close()

2215
autoload/Out.tscn Normal file

File diff suppressed because it is too large Load diff

1103
autoload/outL.pd Normal file

File diff suppressed because it is too large Load diff

1103
autoload/outR.pd Normal file

File diff suppressed because it is too large Load diff

BIN
buoyancy/Buoyancy.mp3 Normal file

Binary file not shown.

View file

@ -1,5 +1,4 @@
#N canvas 67 146 456 518 12;
#X msg 361 51 \; pd dsp 1;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -27,13 +26,11 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 200 408 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#N canvas 52 27 1207 801 Lying 0;
#X floatatom 26 425 5 0 0 0 - - - 0;
@ -231,33 +228,34 @@
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 203 336 *~;
#X connect 1 0 2 0;
#X connect 2 0 16 0;
#X connect 3 0 6 0;
#X connect 4 0 8 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 1 9 1;
#X connect 10 0 8 0;
#X connect 11 0 20 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 3 0;
#X connect 15 0 0 0;
#X connect 16 1 11 0;
#X connect 16 2 17 0;
#X connect 16 3 17 1;
#X connect 17 0 10 0;
#X connect 18 0 27 0;
#X connect 18 0 27 1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 13 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 25 0;
#X connect 7 1 26 0;
#X connect 8 0 7 0;
#X connect 9 0 17 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 1 9 0;
#X connect 13 2 14 0;
#X connect 13 3 14 1;
#X connect 14 0 8 0;
#X connect 15 0 24 0;
#X connect 15 0 24 1;
#X connect 16 0 15 0;
#X connect 17 0 22 0;
#X connect 17 0 23 0;
#X connect 19 0 18 0;
#X connect 20 0 25 0;
#X connect 20 0 26 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 25 0 19 0;
#X connect 26 0 23 0;
#X connect 27 0 10 1;
#X connect 20 0 19 0;
#X connect 22 0 16 0;
#X connect 23 0 20 0;
#X connect 24 0 8 1;

View file

@ -1,5 +1,4 @@
#N canvas 527 149 456 518 12;
#X msg 361 51 \; pd dsp 1;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -27,13 +26,11 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#N canvas 53 227 1207 801 Floating 0;
#X floatatom 26 425 5 0 0 0 - - - 0;
@ -231,33 +228,34 @@
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 203 336 *~;
#X connect 1 0 2 0;
#X connect 2 0 16 0;
#X connect 3 0 6 0;
#X connect 4 0 8 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 1 9 1;
#X connect 10 0 8 0;
#X connect 11 0 20 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 3 0;
#X connect 15 0 0 0;
#X connect 16 1 11 0;
#X connect 16 2 17 0;
#X connect 16 3 17 1;
#X connect 17 0 10 0;
#X connect 18 0 27 0;
#X connect 18 0 27 1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 13 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 25 0;
#X connect 7 1 26 0;
#X connect 8 0 7 0;
#X connect 9 0 17 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 1 9 0;
#X connect 13 2 14 0;
#X connect 13 3 14 1;
#X connect 14 0 8 0;
#X connect 15 0 24 0;
#X connect 15 0 24 1;
#X connect 16 0 15 0;
#X connect 17 0 22 0;
#X connect 17 0 23 0;
#X connect 19 0 18 0;
#X connect 20 0 25 0;
#X connect 20 0 26 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 25 0 19 0;
#X connect 26 0 23 0;
#X connect 27 0 10 1;
#X connect 20 0 19 0;
#X connect 22 0 16 0;
#X connect 23 0 20 0;
#X connect 24 0 8 1;

View file

@ -13,7 +13,6 @@ points = PoolVector3Array( 1, 1, 0, 1, -1, 0, 0.995106, 1, -0.0980814, 0.995106,
script = ExtResource( 2 )
use_embeded_patch = true
patch = "#N canvas 67 146 456 518 12;
#X msg 361 51 \\; pd dsp 1;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -41,13 +40,11 @@ patch = "#N canvas 67 146 456 518 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 200 408 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#N canvas 52 27 1207 801 Lying 0;
#X floatatom 26 425 5 0 0 0 - - - 0;
@ -245,36 +242,37 @@ patch = "#N canvas 67 146 456 518 12;
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 203 336 *~;
#X connect 1 0 2 0;
#X connect 2 0 16 0;
#X connect 3 0 6 0;
#X connect 4 0 8 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 9 0;
#X connect 8 1 9 1;
#X connect 10 0 8 0;
#X connect 11 0 20 0;
#X connect 11 1 12 0;
#X connect 12 0 13 0;
#X connect 13 0 14 0;
#X connect 14 0 3 0;
#X connect 15 0 0 0;
#X connect 16 1 11 0;
#X connect 16 2 17 0;
#X connect 16 3 17 1;
#X connect 17 0 10 0;
#X connect 18 0 27 0;
#X connect 18 0 27 1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 13 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 25 0;
#X connect 7 1 26 0;
#X connect 8 0 7 0;
#X connect 9 0 17 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 1 9 0;
#X connect 13 2 14 0;
#X connect 13 3 14 1;
#X connect 14 0 8 0;
#X connect 15 0 24 0;
#X connect 15 0 24 1;
#X connect 16 0 15 0;
#X connect 17 0 22 0;
#X connect 17 0 23 0;
#X connect 19 0 18 0;
#X connect 20 0 25 0;
#X connect 20 0 26 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 25 0 19 0;
#X connect 26 0 23 0;
#X connect 27 0 10 1;
#X connect 20 0 19 0;
#X connect 22 0 16 0;
#X connect 23 0 20 0;
#X connect 24 0 8 1;
"
[node name="MeshInstance" type="MeshInstance" parent="."]

View file

@ -25,6 +25,11 @@ onready var player = $Player
# Called when the node enters the scene tree for the first time.
func _ready():
if Global.sceneguide:
var guide = load("res://buoyancy/text.tscn")
add_child(guide.instance())
for i in range(-10, 10):
for j in range(-10, 10):
var water = water_scene.instance()

File diff suppressed because one or more lines are too long

View file

@ -20,5 +20,5 @@ shader_param/wave_b_dir = Vector2( 1, 1 )
shader_param/wave_c = Vector3( 1, 0.15, 14 )
shader_param/wave_c_dir = Vector2( 1, 0.5 )
shader_param/foam_level = 0.4
shader_param/time = 682.979
shader_param/time = 200.296
shader_param/noise = SubResource( 2 )

8
buoyancy/text.gd Normal file
View file

@ -0,0 +1,8 @@
extends Control
func _ready():
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()

39
buoyancy/text.tscn Normal file
View file

@ -0,0 +1,39 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://buoyancy/text.gd" type="Script" id=2]
[ext_resource path="res://buoyancy/Buoyancy.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 2 )
[node name="RichTextLabel" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 175.0
margin_top = 31.0
margin_right = 1240.0
margin_bottom = 474.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "*일러두는 말* 이곳에서는 몸이 마음처럼 움직이지 않습니다. 물살에 따라 한 방향으로 휩쓸려 빨라지기도 하고, 물 위로 뜨기도 하고, 가라앉기도 합니다. 방향키를 눌렀다 떼었다를 미세한 조절이 필요할 수 있습니다. 물살에 떠밀려 바다의 밖으로 벗어난다면 숫자키를 눌러 다시 시작해야합니다.
당신은 보라색 물결이 일렁이는 바다를 앞에 두고 모래 둔턱 위에 서있습니다. 모래둔턱을 애워싸는 바다에 들어갈 수 있습니다. 바다 속으로 들어가게 되면 물결 때문에 이동이 용이하지 않습니다. 파도는 당신의 왼쪽에서 오른쪽으로, 대각선 30도 정도의 물결을 만들고 있습니다. 당신의 시작점을 기준으로 1시 방향에는 연한 분홍색의 납작한 구들이 수면 아래 놓여있고, 11시 방향 에는 분홍색 구의 크기보다 세배 정도 큰 빨간색 납작한 구들이 있습니다. 빨간 구들은 수면 아래 바닥에 있기도 하고 물위에 둥둥 떠있기도 합니다. 모래 둔턱의 반대편에는 하얀 부표들이 떠 있습니다. 모래 둔턱의 지형을 따라 둥둥 떠 있습니다. 이 구간은 특히 파도의 영향을 많이 받으므로 바다를 벗어나게 될 수 있으니 조심하세요. "
[node name="Timer" type="Timer" parent="."]
wait_time = 93.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -3.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -1,6 +1,12 @@
extends Node
func _ready():
randomize()
if Global.sceneguide:
var guide = load("res://cosmic/text.tscn")
add_child(guide.instance())
for r in get_tree().get_nodes_in_group('regions'):
r.get_node('main')._rot_speed = r._rot_speed_origin
r.get_node('main/center').material_override = SpatialMaterial.new()

View file

@ -1,8 +1,9 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=12 format=2]
[ext_resource path="res://cosmic/Region.tscn" type="PackedScene" id=1]
[ext_resource path="res://cosmic/Player.tscn" type="PackedScene" id=2]
[ext_resource path="res://cosmic/Scene.gd" type="Script" id=3]
[ext_resource path="res://guide/guide.gd" type="Script" id=5]
[sub_resource type="BoxShape" id=1]
extents = Vector3( 300, 1, 300 )
@ -13,6 +14,19 @@ size = Vector3( 600, 2, 600 )
[sub_resource type="Environment" id=3]
fog_enabled = true
[sub_resource type="BoxShape" id=4]
extents = Vector3( 0.25, 0.25, 0.25 )
[sub_resource type="CubeMesh" id=5]
size = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="StreamTexture" id=6]
flags = 23
[sub_resource type="SpatialMaterial" id=7]
albedo_color = Color( 0.611765, 0.611765, 0.611765, 1 )
albedo_texture = SubResource( 6 )
[node name="Scene" type="Node"]
script = ExtResource( 3 )
@ -43,3 +57,50 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -115.897, 63.8199, 95.9651 )
[node name="Region3" parent="." instance=ExtResource( 1 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 67.7793, 64.9703, -27.1477 )
[node name="guide" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 30, 0 )
visible = false
script = ExtResource( 5 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape" type="CollisionShape" parent="guide"]
shape = SubResource( 4 )
[node name="MeshInstance" type="MeshInstance" parent="guide"]
mesh = SubResource( 5 )
material/0 = SubResource( 7 )
[node name="guide2" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -115, 64, -27 )
visible = false
script = ExtResource( 5 )
__meta__ = {
"_edit_group_": true
}
preset = 2
[node name="CollisionShape" type="CollisionShape" parent="guide2"]
shape = SubResource( 4 )
[node name="MeshInstance" type="MeshInstance" parent="guide2"]
mesh = SubResource( 5 )
material/0 = SubResource( 7 )
[node name="guide3" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 67, 64, -27 )
visible = false
script = ExtResource( 5 )
__meta__ = {
"_edit_group_": true
}
preset = 3
[node name="CollisionShape" type="CollisionShape" parent="guide3"]
shape = SubResource( 4 )
[node name="MeshInstance" type="MeshInstance" parent="guide3"]
mesh = SubResource( 5 )
material/0 = SubResource( 7 )

BIN
cosmic/cosmic.mp3 Normal file

Binary file not shown.

View file

@ -2,7 +2,6 @@
#X floatatom 21 198 5 0 0 0 - - - 0;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 264 line~;
#X msg 189 240 \$1 100;
@ -47,35 +46,37 @@
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 203 336 *~;
#X connect 0 0 10 1;
#X obj 199 467 throw~ outL;
#X obj 299 467 throw~ outR;
#X connect 0 0 9 1;
#X connect 1 0 2 0;
#X connect 2 0 11 0;
#X connect 4 0 24 0;
#X connect 5 0 28 0;
#X connect 5 0 28 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 7 1 25 0;
#X connect 8 0 17 0;
#X connect 8 0 18 0;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 11 0 0 0;
#X connect 11 1 12 1;
#X connect 11 2 7 0;
#X connect 12 0 4 0;
#X connect 2 0 10 0;
#X connect 3 0 23 0;
#X connect 4 0 27 0;
#X connect 4 0 27 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 6 1 24 0;
#X connect 7 0 16 0;
#X connect 7 0 17 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 10 0 0 0;
#X connect 10 1 11 1;
#X connect 10 2 6 0;
#X connect 11 0 3 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 17 0 6 0;
#X connect 18 0 15 0;
#X connect 19 0 22 0;
#X connect 20 0 24 1;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 21 0;
#X connect 24 0 3 0;
#X connect 24 1 3 1;
#X connect 16 0 5 0;
#X connect 17 0 14 0;
#X connect 18 0 21 0;
#X connect 19 0 23 1;
#X connect 20 0 19 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
#X connect 23 0 28 0;
#X connect 23 1 29 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 19 0;
#X connect 28 0 4 1;
#X connect 26 0 18 0;
#X connect 27 0 3 1;

View file

@ -41,7 +41,6 @@ patch = "#N canvas 190 223 456 518 12;
#X floatatom 21 198 5 0 0 0 - - - 0;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 264 line~;
#X msg 189 240 \\$1 100;
@ -86,38 +85,40 @@ patch = "#N canvas 190 223 456 518 12;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 203 336 *~;
#X connect 0 0 10 1;
#X obj 199 467 throw~ outL;
#X obj 299 467 throw~ outR;
#X connect 0 0 9 1;
#X connect 1 0 2 0;
#X connect 2 0 11 0;
#X connect 4 0 24 0;
#X connect 5 0 28 0;
#X connect 5 0 28 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 7 1 25 0;
#X connect 8 0 17 0;
#X connect 8 0 18 0;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 11 0 0 0;
#X connect 11 1 12 1;
#X connect 11 2 7 0;
#X connect 12 0 4 0;
#X connect 2 0 10 0;
#X connect 3 0 23 0;
#X connect 4 0 27 0;
#X connect 4 0 27 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 6 1 24 0;
#X connect 7 0 16 0;
#X connect 7 0 17 0;
#X connect 8 0 9 0;
#X connect 9 0 11 0;
#X connect 10 0 0 0;
#X connect 10 1 11 1;
#X connect 10 2 6 0;
#X connect 11 0 3 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 17 0 6 0;
#X connect 18 0 15 0;
#X connect 19 0 22 0;
#X connect 20 0 24 1;
#X connect 21 0 20 0;
#X connect 22 0 23 0;
#X connect 23 0 21 0;
#X connect 24 0 3 0;
#X connect 24 1 3 1;
#X connect 16 0 5 0;
#X connect 17 0 14 0;
#X connect 18 0 21 0;
#X connect 19 0 23 1;
#X connect 20 0 19 0;
#X connect 21 0 22 0;
#X connect 22 0 20 0;
#X connect 23 0 28 0;
#X connect 23 1 29 0;
#X connect 24 0 25 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 19 0;
#X connect 28 0 4 1;
#X connect 26 0 18 0;
#X connect 27 0 3 1;
"
[node name="CollisionShape" type="CollisionShape" parent="."]

View file

@ -3,7 +3,6 @@
#X floatatom 21 198 5 0 0 0 - - - 0;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X obj 21 70 route freq gain panvol;
@ -46,34 +45,36 @@
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 132 238 1;
#X obj 203 336 *~;
#X connect 0 0 8 0;
#X obj 199 467 throw~ outL;
#X obj 299 467 throw~ outR;
#X connect 0 0 7 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 7 0;
#X connect 5 0 22 0;
#X connect 6 0 11 0;
#X connect 6 1 23 0;
#X connect 7 0 1 0;
#X connect 7 1 8 1;
#X connect 7 2 6 0;
#X connect 8 0 5 0;
#X connect 9 0 27 0;
#X connect 9 0 27 1;
#X connect 10 0 9 0;
#X connect 11 0 16 0;
#X connect 11 0 26 0;
#X connect 3 0 6 0;
#X connect 4 0 21 0;
#X connect 5 0 10 0;
#X connect 5 1 22 0;
#X connect 6 0 1 0;
#X connect 6 1 7 1;
#X connect 6 2 5 0;
#X connect 7 0 4 0;
#X connect 8 0 26 0;
#X connect 8 0 26 1;
#X connect 9 0 8 0;
#X connect 10 0 15 0;
#X connect 10 0 25 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 16 0 10 0;
#X connect 17 0 20 0;
#X connect 18 0 22 1;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 19 0;
#X connect 22 0 4 0;
#X connect 22 1 4 1;
#X connect 15 0 9 0;
#X connect 16 0 19 0;
#X connect 17 0 21 1;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 21 0 27 0;
#X connect 21 1 28 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 17 0;
#X connect 26 0 14 0;
#X connect 27 0 5 1;
#X connect 24 0 16 0;
#X connect 25 0 13 0;
#X connect 26 0 4 1;

View file

@ -21,7 +21,6 @@ patch = "#N canvas 116 274 456 518 12;
#X floatatom 21 198 5 0 0 0 - - - 0;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X obj 21 70 route freq gain panvol;
@ -64,37 +63,39 @@ patch = "#N canvas 116 274 456 518 12;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 132 238 1;
#X obj 203 336 *~;
#X connect 0 0 8 0;
#X obj 199 467 throw~ outL;
#X obj 299 467 throw~ outR;
#X connect 0 0 7 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 7 0;
#X connect 5 0 22 0;
#X connect 6 0 11 0;
#X connect 6 1 23 0;
#X connect 7 0 1 0;
#X connect 7 1 8 1;
#X connect 7 2 6 0;
#X connect 8 0 5 0;
#X connect 9 0 27 0;
#X connect 9 0 27 1;
#X connect 10 0 9 0;
#X connect 11 0 16 0;
#X connect 11 0 26 0;
#X connect 3 0 6 0;
#X connect 4 0 21 0;
#X connect 5 0 10 0;
#X connect 5 1 22 0;
#X connect 6 0 1 0;
#X connect 6 1 7 1;
#X connect 6 2 5 0;
#X connect 7 0 4 0;
#X connect 8 0 26 0;
#X connect 8 0 26 1;
#X connect 9 0 8 0;
#X connect 10 0 15 0;
#X connect 10 0 25 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 16 0 10 0;
#X connect 17 0 20 0;
#X connect 18 0 22 1;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 19 0;
#X connect 22 0 4 0;
#X connect 22 1 4 1;
#X connect 15 0 9 0;
#X connect 16 0 19 0;
#X connect 17 0 21 1;
#X connect 18 0 17 0;
#X connect 19 0 20 0;
#X connect 20 0 18 0;
#X connect 21 0 27 0;
#X connect 21 1 28 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 17 0;
#X connect 26 0 14 0;
#X connect 27 0 5 1;
#X connect 24 0 16 0;
#X connect 25 0 13 0;
#X connect 26 0 4 1;
"
[node name="CollisionShape" type="CollisionShape" parent="."]

8
cosmic/text.gd Normal file
View file

@ -0,0 +1,8 @@
extends Control
func _ready():
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()

39
cosmic/text.tscn Normal file
View file

@ -0,0 +1,39 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://cosmic/text.gd" type="Script" id=2]
[ext_resource path="res://cosmic/cosmic.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 2 )
[node name="RichTextLabel" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 251.0
margin_top = 41.0
margin_right = 1138.0
margin_bottom = 484.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "당신은 회색하늘과 하얀 땅의 세계에 상공에서 // 땅지면을 지그시 보고 있는 위치에서 시작합니다. 이 장소에서는 구체의 모양을 하고 있는 행성이 3개 있습니다. 행성들은 그의 중력으로 주변을 계속 돌고 있는 위성들을 보유하고 있습니다. 행성마다 위성의 갯수는 18개에서 많게는 150개이기도 합니다. 당신이 처음 이 장소에 도착했다면, 화면 오른편 중앙의 행성은 150개의 위성이 빠른 속도로 회전하고 있고, 화면의 왼편 하단에는 18개의 위성을 가진 행성이 느린 속도로 회전하고 있습니다. 화면 왼편의 가장자리에서 마지막 세번째 행성은 보이지 않지만 위성이 회전하고 있습니다. 마우스를 통해 고개를 돌려보면 세번쨰 행성을 만날 수 있습니다.
"
[node name="Timer" type="Timer" parent="."]
wait_time = 64.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -5.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -1,4 +1,4 @@
#N canvas 0 82 1045 747 12;
#N canvas 344 53 448 530 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -26,20 +26,13 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#N canvas 0 23 1440 807 synth 0;
#X obj 334 43 inlet;
#X obj 254 630 +~ 1;
@ -288,36 +281,35 @@
#X text 89 155 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 2 22 0;
#X connect 16 3 22 1;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 2 15 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;

BIN
crickets/crickets.mp3 Normal file

Binary file not shown.

View file

@ -5,6 +5,11 @@ var tree2 = null
func _ready():
randomize()
if Global.sceneguide:
var guide = load("res://crickets/text.tscn")
add_child(guide.instance())
for i in range(32):
tree = PolyTree.new()
tree.set_preset(floor(i/2)+1)

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://crickets/Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://crickets/src/Sandbox.gd" type="Script" id=2]
[ext_resource path="res://guide/guide.gd" type="Script" id=4]
[sub_resource type="SpatialMaterial" id=5]
albedo_color = Color( 0.878431, 0.858824, 0.654902, 1 )
@ -25,6 +26,19 @@ background_sky = SubResource( 3 )
fog_color = Color( 0.137255, 0.290196, 0.372549, 1 )
fog_sun_amount = 0.14
[sub_resource type="BoxShape" id=8]
extents = Vector3( 0.25, 0.25, 0.25 )
[sub_resource type="CubeMesh" id=9]
size = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="StreamTexture" id=10]
flags = 23
[sub_resource type="SpatialMaterial" id=11]
albedo_color = Color( 0.611765, 0.611765, 0.611765, 1 )
albedo_texture = SubResource( 10 )
[node name="Sandbox" type="Spatial"]
script = ExtResource( 2 )
@ -57,3 +71,18 @@ environment = SubResource( 4 )
[node name="Player" parent="." instance=ExtResource( 1 )]
transform = Transform( -0.258819, 0, -0.965926, 0, 1, 0, 0.965926, 0, -0.258819, 0, 3.52113, 0.98772 )
[node name="guide" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 80, 1.434, 80 )
visible = false
script = ExtResource( 4 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape" type="CollisionShape" parent="guide"]
shape = SubResource( 8 )
[node name="MeshInstance" type="MeshInstance" parent="guide"]
mesh = SubResource( 9 )
material/0 = SubResource( 11 )

View file

@ -5,7 +5,7 @@ export (float, 0, 100) var audible_range_max = 30.0
export (int, 1, 32) var preset = 1
export (bool) var use_embeded_patch = true
export (String, MULTILINE) var patch = """#N canvas 0 82 1045 747 12;
export (String, MULTILINE) var patch = """#N canvas 344 53 448 530 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -33,20 +33,13 @@ export (String, MULTILINE) var patch = """#N canvas 0 82 1045 747 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \\, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \\; pd dsp 1;
#N canvas 0 23 1440 807 synth 0;
#X obj 334 43 inlet;
#X obj 254 630 +~ 1;
@ -295,39 +288,38 @@ export (String, MULTILINE) var patch = """#N canvas 0 82 1045 747 12;
#X text 89 155 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 2 22 0;
#X connect 16 3 22 1;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 2 15 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;
"""
var _my_patch = "user://crickets/cricket.pd"

View file

@ -33,68 +33,61 @@ export (String, MULTILINE) var patch = """#N canvas 0 82 446 513 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \\, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \\; pd dsp 1;
#N canvas 478 23 962 799 synth 0;
#X obj 403 150 inlet;
#X obj 404 553 +;
#X floatatom 457 224 5 0 0 0 - - - 0;
#X floatatom 499 224 5 0 0 0 - - - 0;
#X floatatom 374 224 5 0 0 0 - - - 0;
#X floatatom 416 224 5 0 0 0 - - - 0;
#X obj 403 181 unpack f f f f f;
#X floatatom 544 224 5 0 0 0 - - - 0;
#X obj 463 150 r \\$0-preset;
#X obj 697 720 s \\$0-preset;
#X obj 630 241 inlet;
#X obj 630 265 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 243 375 mtof;
#X floatatom 243 352 5 0 150 0 - \\$0-pit - 0;
#X obj 234 322 noise~;
#X floatatom 243 400 5 0 0 0 - - - 0;
#X obj 234 458 bp~;
#X text 275 460 band-pass filter;
#X text 288 400 <= cutoff (Hertz);
#X obj 302 557 *~;
#X obj 401 552 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 345 342 line;
#X floatatom 299 440 5 0 0 0 - - - 0;
#X obj 280 167 random 3;
#X obj 280 191 sel 0 1 2;
#X obj 354 278 pack 0 0;
#X msg 352 312 \\$1 \\$2;
#X obj 185 197 + 500;
#X floatatom 403 592 5 0 0 0 - - - 0;
#X obj 185 170 random 800;
#X obj 301 602 outlet~;
#X msg 770 305 915 987 1070 290 0.8;
#X msg 770 329 103 126 205 10 0.8;
#X msg 770 353 260 366 317 61 0.8;
#X msg 771 378 123 80 184 22 0.9;
#X msg 770 401 1833 1998 2100 272 0.7;
#X msg 770 425 415 498 286 323 0.9;
#X msg 770 449 1567 1648 1606 323 0.8;
#X msg 770 473 195 186 150 102 0.9;
#X msg 771 498 219 294 279 269 1;
#X msg 770 521 330 305 354 31 0.7;
#X msg 770 545 92 55 66 22 0.8;
#X msg 770 569 37 43 22 9 0.9;
#X msg 770 593 3183 3117 3224 538 0.6;
#X msg 770 617 2878 2589 2357 996 0.6;
#X msg 770 641 378 396 267 996 0.8;
#X msg 770 665 538 567 735 191 0.7;
#X obj 336 167 inlet;
#X obj 337 570 +;
#X floatatom 390 241 5 0 0 0 - - - 0;
#X floatatom 432 241 5 0 0 0 - - - 0;
#X floatatom 307 241 5 0 0 0 - - - 0;
#X floatatom 349 241 5 0 0 0 - - - 0;
#X obj 336 198 unpack f f f f f;
#X floatatom 477 241 5 0 0 0 - - - 0;
#X obj 396 167 r \\$0-preset;
#X obj 630 737 s \\$0-preset;
#X obj 563 258 inlet;
#X obj 563 282 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 176 392 mtof;
#X floatatom 176 369 5 0 150 0 - \\$0-pit - 0;
#X obj 167 339 noise~;
#X floatatom 176 417 5 0 0 0 - - - 0;
#X obj 167 475 bp~;
#X text 208 477 band-pass filter;
#X text 221 417 <= cutoff (Hertz);
#X obj 235 574 *~;
#X obj 334 569 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 278 359 line;
#X floatatom 232 457 5 0 0 0 - - - 0;
#X obj 213 184 random 3;
#X obj 213 208 sel 0 1 2;
#X obj 287 295 pack 0 0;
#X msg 285 329 \\$1 \\$2;
#X obj 118 214 + 500;
#X floatatom 336 609 5 0 0 0 - - - 0;
#X obj 118 187 random 800;
#X obj 234 619 outlet~;
#X msg 703 322 915 987 1070 290 0.8;
#X msg 703 346 103 126 205 10 0.8;
#X msg 703 370 260 366 317 61 0.8;
#X msg 704 395 123 80 184 22 0.9;
#X msg 703 418 1833 1998 2100 272 0.7;
#X msg 703 442 415 498 286 323 0.9;
#X msg 703 466 1567 1648 1606 323 0.8;
#X msg 703 490 195 186 150 102 0.9;
#X msg 704 515 219 294 279 269 1;
#X msg 703 538 330 305 354 31 0.7;
#X msg 703 562 92 55 66 22 0.8;
#X msg 703 586 37 43 22 9 0.9;
#X msg 703 610 3183 3117 3224 538 0.6;
#X msg 703 634 2878 2589 2357 996 0.6;
#X msg 703 658 378 396 267 996 0.8;
#X msg 703 682 538 567 735 191 0.7;
#N canvas 386 23 374 377 retro 0;
#X obj 43 211 del;
#X obj 43 261 spigot;
@ -138,11 +131,11 @@ export (String, MULTILINE) var patch = """#N canvas 0 82 446 513 12;
#X connect 18 0 12 0;
#X connect 18 1 11 0;
#X coords 0 -1 1 1 85 40 1 135 50;
#X restore 202 74 pd retro;
#X obj 202 7 loadbang;
#X obj 202 31 t b b;
#X msg 280 50 500 2500;
#X obj 202 119 t b b;
#X restore 135 91 pd retro;
#X obj 135 24 loadbang;
#X obj 135 48 t b b;
#X msg 213 67 500 2500;
#X obj 135 136 t b b;
#X connect 0 0 6 0;
#X connect 2 0 25 0;
#X connect 3 0 22 0;
@ -224,39 +217,38 @@ export (String, MULTILINE) var patch = """#N canvas 0 82 446 513 12;
#X text 89 155 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 2 22 0;
#X connect 16 3 22 1;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 2 15 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;
"""
var _my_patch = "user://crickets/wind.pd"

8
crickets/text.gd Normal file
View file

@ -0,0 +1,8 @@
extends Control
func _ready():
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()

38
crickets/text.tscn Normal file
View file

@ -0,0 +1,38 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://crickets/text.gd" type="Script" id=2]
[ext_resource path="res://crickets/crickets.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 2 )
[node name="RichTextLabel" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 445.0
margin_top = 557.0
margin_right = 1332.0
margin_bottom = 1000.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "고요하고 까만 평원에 당신은 도착했습니다. 막 도착했다면, 바라보는 방향의 오른편에 수직으로 우뚝 솟은 돌들이 30개이상 모여있는 장소가 보입니다. 수평선위에 그곳만 우뚝 솟아 있네요. 호기심이 생겨서 그쪽으로 안 가볼 수 없겠네요. 돌들은 서로 공유하는 모양과 색과 질감을 가지고 있지만 그 생김새가 모두 다릅니다. 당신은 돌들 사이를 다니거나 통과해서 다닐 수 있습니다. 돌 무리의 외곽쪽을 걷게되면 불어오는 바람 소리를 들을 수 있습니다. "
[node name="Timer" type="Timer" parent="."]
wait_time = 56.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -3.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -26,68 +26,61 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#N canvas 478 23 962 799 synth 0;
#X obj 403 150 inlet;
#X obj 404 553 +;
#X floatatom 457 224 5 0 0 0 - - - 0;
#X floatatom 499 224 5 0 0 0 - - - 0;
#X floatatom 374 224 5 0 0 0 - - - 0;
#X floatatom 416 224 5 0 0 0 - - - 0;
#X obj 403 181 unpack f f f f f;
#X floatatom 544 224 5 0 0 0 - - - 0;
#X obj 463 150 r \$0-preset;
#X obj 697 720 s \$0-preset;
#X obj 630 241 inlet;
#X obj 630 265 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 243 375 mtof;
#X floatatom 243 352 5 0 150 0 - \$0-pit - 0;
#X obj 234 322 noise~;
#X floatatom 243 400 5 0 0 0 - - - 0;
#X obj 234 458 bp~;
#X text 275 460 band-pass filter;
#X text 288 400 <= cutoff (Hertz);
#X obj 302 557 *~;
#X obj 401 552 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 345 342 line;
#X floatatom 299 440 5 0 0 0 - - - 0;
#X obj 280 167 random 3;
#X obj 280 191 sel 0 1 2;
#X obj 354 278 pack 0 0;
#X msg 352 312 \$1 \$2;
#X obj 185 197 + 500;
#X floatatom 403 592 5 0 0 0 - - - 0;
#X obj 185 170 random 800;
#X obj 301 602 outlet~;
#X msg 770 305 915 987 1070 290 0.8;
#X msg 770 329 103 126 205 10 0.8;
#X msg 770 353 260 366 317 61 0.8;
#X msg 771 378 123 80 184 22 0.9;
#X msg 770 401 1833 1998 2100 272 0.7;
#X msg 770 425 415 498 286 323 0.9;
#X msg 770 449 1567 1648 1606 323 0.8;
#X msg 770 473 195 186 150 102 0.9;
#X msg 771 498 219 294 279 269 1;
#X msg 770 521 330 305 354 31 0.7;
#X msg 770 545 92 55 66 22 0.8;
#X msg 770 569 37 43 22 9 0.9;
#X msg 770 593 3183 3117 3224 538 0.6;
#X msg 770 617 2878 2589 2357 996 0.6;
#X msg 770 641 378 396 267 996 0.8;
#X msg 770 665 538 567 735 191 0.7;
#X obj 336 167 inlet;
#X obj 337 570 +;
#X floatatom 390 241 5 0 0 0 - - - 0;
#X floatatom 432 241 5 0 0 0 - - - 0;
#X floatatom 307 241 5 0 0 0 - - - 0;
#X floatatom 349 241 5 0 0 0 - - - 0;
#X obj 336 198 unpack f f f f f;
#X floatatom 477 241 5 0 0 0 - - - 0;
#X obj 396 167 r \$0-preset;
#X obj 630 737 s \$0-preset;
#X obj 563 258 inlet;
#X obj 563 282 sel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16;
#X obj 176 392 mtof;
#X floatatom 176 369 5 0 150 0 - \$0-pit - 0;
#X obj 167 339 noise~;
#X floatatom 176 417 5 0 0 0 - - - 0;
#X obj 167 475 bp~;
#X text 208 477 band-pass filter;
#X text 221 417 <= cutoff (Hertz);
#X obj 235 574 *~;
#X obj 334 569 hsl 60 19 0 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 278 359 line;
#X floatatom 232 457 5 0 0 0 - - - 0;
#X obj 213 184 random 3;
#X obj 213 208 sel 0 1 2;
#X obj 287 295 pack 0 0;
#X msg 285 329 \$1 \$2;
#X obj 118 214 + 500;
#X floatatom 336 609 5 0 0 0 - - - 0;
#X obj 118 187 random 800;
#X obj 234 619 outlet~;
#X msg 703 322 915 987 1070 290 0.8;
#X msg 703 346 103 126 205 10 0.8;
#X msg 703 370 260 366 317 61 0.8;
#X msg 704 395 123 80 184 22 0.9;
#X msg 703 418 1833 1998 2100 272 0.7;
#X msg 703 442 415 498 286 323 0.9;
#X msg 703 466 1567 1648 1606 323 0.8;
#X msg 703 490 195 186 150 102 0.9;
#X msg 704 515 219 294 279 269 1;
#X msg 703 538 330 305 354 31 0.7;
#X msg 703 562 92 55 66 22 0.8;
#X msg 703 586 37 43 22 9 0.9;
#X msg 703 610 3183 3117 3224 538 0.6;
#X msg 703 634 2878 2589 2357 996 0.6;
#X msg 703 658 378 396 267 996 0.8;
#X msg 703 682 538 567 735 191 0.7;
#N canvas 386 23 374 377 retro 0;
#X obj 43 211 del;
#X obj 43 261 spigot;
@ -131,11 +124,11 @@
#X connect 18 0 12 0;
#X connect 18 1 11 0;
#X coords 0 -1 1 1 85 40 1 135 50;
#X restore 202 74 pd retro;
#X obj 202 7 loadbang;
#X obj 202 31 t b b;
#X msg 280 50 500 2500;
#X obj 202 119 t b b;
#X restore 135 91 pd retro;
#X obj 135 24 loadbang;
#X obj 135 48 t b b;
#X msg 213 67 500 2500;
#X obj 135 136 t b b;
#X connect 0 0 6 0;
#X connect 2 0 25 0;
#X connect 3 0 22 0;
@ -217,36 +210,35 @@
#X text 89 155 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 216 max 0;
#X obj 132 238 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 2 22 0;
#X connect 16 3 22 1;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 2 15 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;

267
guide/guide.gd Normal file
View file

@ -0,0 +1,267 @@
extends StaticBody
export (float, 0, 700) var audible_range_max = 700.0
export (int, 1, 12) var preset = 1
export (bool) var use_embeded_patch = true
export (String, MULTILINE) var patch = """#N canvas 499 23 442 521 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 349 line~;
#X msg 300 325 \\$1 100;
#X obj 300 278 expr ($f1 + 1)/8;
#X floatatom 300 302 5 0 0 0 - - - 0;
#N canvas 68 97 450 300 pan2~ 0;
#X obj 51 98 cos~;
#X obj 111 98 cos~;
#X obj 33 128 *~;
#X obj 93 128 *~;
#X obj 33 158 outlet~;
#X obj 93 158 outlet~;
#X obj 33 24 inlet~;
#X obj 111 24 inlet~;
#X obj 111 74 +~ 0.75;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 2 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#N canvas 9 27 426 474 synth 0;
#X obj 85 326 *~;
#X obj 25 256 osc~;
#X obj 147 249 vline~;
#X obj 39 117 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 39 144 metro 4000;
#X obj 85 356 outlet~;
#X obj 39 87 r guide;
#X obj 146 17 inlet;
#X obj 178 71 v \\$0-preset;
#X obj 146 44 t b a;
#N canvas 47 74 450 300 preset-metro 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \\$0-preset;
#X obj 57 103 sel 1 2 3;
#X msg 57 133 4000;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 77 163 3200;
#X msg 97 193 2200;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X restore 146 104 pd preset-metro;
#N canvas 47 74 450 300 preset-osc 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \\$0-preset;
#X obj 57 103 sel 1 2 3;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 57 133 420;
#X msg 77 163 445;
#X msg 97 193 372;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X restore 25 226 pd preset-osc;
#N canvas 47 74 450 300 preset-vline 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \\$0-preset;
#X obj 57 103 sel 1 2 3;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 57 143 0.3 60 0 \\, 0.2 100 100 \\, 0 1500 200;
#X msg 77 173 0.3 40 0 \\, 0.2 80 40 \\, 0 800 200;
#X msg 97 203 0.3 20 0 \\, 0.22 100 20 \\, 0 500 200;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X restore 147 219 pd preset-vline;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 4 0 11 0;
#X connect 6 0 3 0;
#X connect 7 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 8 0;
#X connect 10 0 4 1;
#X connect 11 0 1 0;
#X connect 12 0 2 0;
#X restore 21 280 pd synth;
#X floatatom 346 110 5 0 0 0 - - - 0;
#X obj 346 133 s guide;
#X obj 189 276 line~;
#X msg 189 252 \\$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
#X obj 132 322 switch~;
#X obj 132 298 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 132 274 change;
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 21 70 route freq panvol param preset guide;
#X floatatom 23 193 5 0 0 0 - - - 0;
#X obj 199 467 dac~ 1 2;
#X obj 108 375 *~ 0.2;
#X connect 0 0 1 0;
#X connect 1 0 25 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 27 0;
#X connect 7 1 27 1;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 0 28 0;
#X connect 14 0 15 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 24 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 21 0;
#X connect 25 1 9 0;
#X connect 25 3 13 0;
#X connect 25 4 14 0;
#X connect 26 0 13 0;
#X connect 28 0 8 0;
"""
var _my_patch = "user://guide/guide.pd"
var _my_id = 0
var _guide = false
func set_param(param):
Global._gdpd.start_message(param.size()+1)
Global._gdpd.add_symbol("param")
for i in range(param.size()):
Global._gdpd.add_float(param[i])
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_preset(prs):
preset = prs
Global._gdpd.start_message(2)
Global._gdpd.add_symbol("preset")
Global._gdpd.add_float(prs)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_guide(g):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol("guide")
Global._gdpd.add_float(g)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_color(color):
$MeshInstance.material_override = SpatialMaterial.new()
$MeshInstance.material_override.albedo_color = color
func relocate(center, radius_range):
# relocate randomly into a circular zone
var rr = radius_range[1] - radius_range[0]
var displacement = polar2cartesian(randf()*rr+radius_range[0], randf()*2*PI)
var loc = center + displacement
look_at_from_position(Vector3(loc.x, randf()*2 + 1, loc.y), Vector3.FORWARD, Vector3.UP)
func _ready():
# save patch (for export)
if use_embeded_patch:
assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !")
assert(patch != "", "patch is empty?")
_save_patch()
# load patch
_my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch))
# listen 'player_transform_updated' event
Events.connect("player_transform_updated", self, "_on_Events_player_transform_updated")
# send 'preset'
set_preset(preset)
func _on_Events_player_transform_updated(playerpos, playerheading):
var mypos = get_global_translation()
var mypos2d = Vector2(mypos.x, mypos.z)
var playerpos2d = Vector2(playerpos.x, playerpos.z)
# calculate distance
var distance = mypos.distance_to(playerpos)
# calculate angle
var angle = fmod(fmod(playerpos2d.angle_to_point(mypos2d) + playerheading - PI/2, PI*2) + PI*2, PI*2)
if angle > PI:
angle = angle - PI*2
# (check)
# print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")")
# calculate gain
var gain = 1 - distance/audible_range_max
# send to the patch
Global._gdpd.start_message(3)
Global._gdpd.add_symbol("panvol")
Global._gdpd.add_float(gain)
Global._gdpd.add_float(angle)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func _physics_process(delta):
if Input.is_action_just_pressed("guide"):
_guide = not _guide
set_guide(int(_guide))
if _guide:
Out.set_gain(0.2)
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), -6)
else:
Out.set_gain(1)
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), 0)
func _exit_tree():
Global.close_patch(_my_id)
func _save_patch():
# save patch
# prepare directory
var patch_name = _my_patch.split("/")[-1]
var patch_dir = _my_patch.trim_suffix(patch_name)
var dir = Directory.new()
dir.make_dir_recursive(patch_dir)
# save to file
var file = File.new()
file.open(_my_patch, File.WRITE)
file.store_string(patch)
file.close()

160
guide/guide.pd Normal file
View file

@ -0,0 +1,160 @@
#N canvas 499 23 442 521 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 349 line~;
#X msg 300 325 \$1 100;
#X obj 300 278 expr ($f1 + 1)/8;
#X floatatom 300 302 5 0 0 0 - - - 0;
#N canvas 68 97 450 300 pan2~ 0;
#X obj 51 98 cos~;
#X obj 111 98 cos~;
#X obj 33 128 *~;
#X obj 93 128 *~;
#X obj 33 158 outlet~;
#X obj 93 158 outlet~;
#X obj 33 24 inlet~;
#X obj 111 24 inlet~;
#X obj 111 74 +~ 0.75;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 2 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#N canvas 9 27 426 474 synth 0;
#X obj 85 326 *~;
#X obj 25 256 osc~;
#X obj 147 249 vline~;
#X obj 39 117 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 39 144 metro 4000;
#X obj 85 356 outlet~;
#X obj 39 87 r guide;
#X obj 146 17 inlet;
#X obj 178 71 v \$0-preset;
#X obj 146 44 t b a;
#N canvas 47 74 450 300 preset-metro 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \$0-preset;
#X obj 57 103 sel 1 2 3;
#X msg 57 133 4000;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 77 163 3200;
#X msg 97 193 2200;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 5 0;
#X connect 4 0 0 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X restore 146 104 pd preset-metro;
#N canvas 47 74 450 300 preset-osc 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \$0-preset;
#X obj 57 103 sel 1 2 3;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 57 133 420;
#X msg 77 163 445;
#X msg 97 193 372;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X restore 25 226 pd preset-osc;
#N canvas 47 74 450 300 preset-vline 0;
#X obj 57 55 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 57 79 v \$0-preset;
#X obj 57 103 sel 1 2 3;
#X obj 57 15 inlet;
#X obj 57 253 outlet;
#X msg 57 143 0.3 60 0 \, 0.2 100 100 \, 0 1500 200;
#X msg 77 173 0.3 40 0 \, 0.2 80 40 \, 0 800 200;
#X msg 97 203 0.3 20 0 \, 0.22 100 20 \, 0 500 200;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 2 1 6 0;
#X connect 2 2 7 0;
#X connect 3 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X restore 147 219 pd preset-vline;
#X connect 0 0 5 0;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 3 0 4 0;
#X connect 4 0 12 0;
#X connect 4 0 11 0;
#X connect 6 0 3 0;
#X connect 7 0 9 0;
#X connect 9 0 10 0;
#X connect 9 1 8 0;
#X connect 10 0 4 1;
#X connect 11 0 1 0;
#X connect 12 0 2 0;
#X restore 21 280 pd synth;
#X floatatom 346 110 5 0 0 0 - - - 0;
#X obj 346 133 s guide;
#X obj 189 276 line~;
#X msg 189 252 \$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
#X obj 132 322 switch~;
#X obj 132 298 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 132 274 change;
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 21 70 route freq panvol param preset guide;
#X floatatom 23 193 5 0 0 0 - - - 0;
#X obj 199 467 dac~ 1 2;
#X obj 108 375 *~ 0.2;
#X connect 0 0 1 0;
#X connect 1 0 25 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 27 0;
#X connect 7 1 27 1;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 2 0;
#X connect 13 0 28 0;
#X connect 14 0 15 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 24 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 21 0;
#X connect 25 1 9 0;
#X connect 25 3 13 0;
#X connect 25 4 14 0;
#X connect 26 0 13 0;
#X connect 28 0 8 0;

BIN
icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View file

@ -1,4 +1,4 @@
#N canvas 217 167 548 621 12;
#N canvas 217 167 455 510 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -26,17 +26,13 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 408 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X msg 361 81 \; pd dsp 1;
#X obj 21 70 route bang panvol param preset;
#X obj 361 45 del 300;
#N canvas 404 97 1087 864 Dotdots 0;
#X obj 107 15 inlet;
#X obj 73 723 outlet~;
@ -220,34 +216,34 @@
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 17 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 22 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 15 0 18 0;
#X connect 17 0 14 0;
#X connect 17 1 10 0;
#X connect 17 3 19 1;
#X connect 18 0 16 0;
#X connect 19 0 9 0;
#X connect 20 0 28 0;
#X connect 20 0 28 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 27 0;
#X connect 22 0 29 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 27 0 21 0;
#X connect 28 0 9 1;
#X connect 29 0 25 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;

View file

@ -1,4 +1,4 @@
#N canvas 80 207 548 621 12;
#N canvas 80 207 470 518 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -26,17 +26,13 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X msg 361 81 \; pd dsp 1;
#X obj 21 70 route bang panvol param preset;
#X obj 361 45 del 300;
#N canvas 0 23 1014 927 Ww 0;
#X obj 542 128 inlet;
#X obj 487 678 s \$0-preset;
@ -180,7 +176,7 @@
#X connect 57 4 54 0;
#X connect 57 5 56 0;
#X connect 58 0 57 0;
#X restore 80 300 pd Ww;
#X restore 40 300 pd Ww;
#X obj 189 264 line~;
#X msg 189 240 \$1 100;
#X floatatom 189 177 5 0 0 0 - - - 0;
@ -191,34 +187,34 @@
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 17 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 22 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 15 0 18 0;
#X connect 17 0 14 0;
#X connect 17 1 10 0;
#X connect 17 3 19 1;
#X connect 18 0 16 0;
#X connect 19 0 9 0;
#X connect 20 0 28 0;
#X connect 20 0 28 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 27 0;
#X connect 22 0 29 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 27 0 21 0;
#X connect 28 0 9 1;
#X connect 29 0 25 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;

View file

@ -1,8 +1,9 @@
[gd_scene load_steps=39 format=2]
[gd_scene load_steps=44 format=2]
[ext_resource path="res://mirrors/assets/scripts/OnReadyWorld.gd" type="Script" id=1]
[ext_resource path="res://mirrors/assets/scenes/Player.tscn" type="PackedScene" id=2]
[ext_resource path="res://mirrors/default_env.tres" type="Environment" id=3]
[ext_resource path="res://guide/guide.gd" type="Script" id=5]
[ext_resource path="res://mirrors/assets/shaders/BrickMaterial.material" type="Material" id=8]
[ext_resource path="res://mirrors/assets/scenes/PortalPair.tscn" type="PackedScene" id=9]
@ -227,6 +228,19 @@ size = Vector3( 2, 7.98, 26 )
[sub_resource type="ConvexPolygonShape" id=52]
points = PoolVector3Array( -1, 3.99, 13, 1, 3.99, -13, 1, 3.99, 13, -1, 3.99, -13, -1, -3.99, 13, 1, -3.99, -13, 1, -3.99, 13, -1, -3.99, -13, 1, 3.99, 13, -1, 3.99, -13, 1, 3.99, -13, -1, 3.99, 13, 1, -3.99, 13, -1, -3.99, -13, 1, -3.99, -13, -1, -3.99, 13, 1, 3.99, 13, -1, -3.99, 13, -1, 3.99, 13, 1, -3.99, 13, 1, 3.99, -13, -1, -3.99, -13, -1, 3.99, -13, 1, -3.99, -13 )
[sub_resource type="BoxShape" id=61]
extents = Vector3( 0.25, 0.25, 0.25 )
[sub_resource type="CubeMesh" id=62]
size = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="StreamTexture" id=63]
flags = 23
[sub_resource type="SpatialMaterial" id=64]
albedo_color = Color( 0.611765, 0.611765, 0.611765, 1 )
albedo_texture = SubResource( 63 )
[node name="Game" type="Spatial"]
script = ExtResource( 1 )
@ -449,6 +463,37 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.52113, -40.8553 )
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = ExtResource( 3 )
[node name="guide" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9.78137, 1.43407, -21.4578 )
visible = false
script = ExtResource( 5 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape" type="CollisionShape" parent="guide"]
shape = SubResource( 61 )
[node name="MeshInstance" type="MeshInstance" parent="guide"]
mesh = SubResource( 62 )
material/0 = SubResource( 64 )
[node name="guide2" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 400.4, 1.43407, -21.4578 )
visible = false
script = ExtResource( 5 )
__meta__ = {
"_edit_group_": true
}
preset = 2
[node name="CollisionShape" type="CollisionShape" parent="guide2"]
shape = SubResource( 61 )
[node name="MeshInstance" type="MeshInstance" parent="guide2"]
mesh = SubResource( 62 )
material/0 = SubResource( 64 )
[editable path="World1/Textures"]
[editable path="World1/Textures/PortalA"]
[editable path="World1/Textures/PortalB"]

View file

@ -3,6 +3,12 @@ extends Spatial
var mouse_captured : bool = false
func _ready():
randomize()
if Global.sceneguide:
var guide = load("res://mirrors/text.tscn")
add_child(guide.instance())
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
mouse_captured = true
OS.set_window_title("Mirrors")

View file

@ -1,6 +1,4 @@
#N canvas 647 210 456 518 12;
#X obj 361 21 loadbang;
#X msg 361 51 \; pd dsp 1;
#X floatatom 21 198 5 0 0 0 - - - 0;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
@ -29,7 +27,6 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
@ -49,35 +46,37 @@
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.1;
#X connect 2 0 18 1;
#X connect 3 0 4 0;
#X connect 4 0 19 0;
#X connect 5 0 8 0;
#X connect 6 0 10 1;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 7 0;
#X connect 10 0 11 0;
#X connect 10 1 11 1;
#X connect 12 0 10 0;
#X connect 13 0 23 0;
#X connect 13 1 14 0;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 15 1;
#X connect 1 0 2 0;
#X connect 2 0 16 0;
#X connect 3 0 6 0;
#X connect 4 0 8 1;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 5 0;
#X connect 8 0 28 0;
#X connect 8 1 29 0;
#X connect 9 0 8 0;
#X connect 10 0 20 0;
#X connect 10 1 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 3 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 5 0;
#X connect 17 0 18 0;
#X connect 18 0 20 0;
#X connect 19 0 2 0;
#X connect 19 1 20 1;
#X connect 19 2 13 0;
#X connect 20 0 12 0;
#X connect 21 0 29 0;
#X connect 21 0 29 1;
#X connect 15 0 17 0;
#X connect 16 0 0 0;
#X connect 16 1 17 1;
#X connect 16 2 10 0;
#X connect 17 0 9 0;
#X connect 18 0 26 0;
#X connect 18 0 26 1;
#X connect 19 0 18 0;
#X connect 20 0 25 0;
#X connect 20 0 27 0;
#X connect 22 0 21 0;
#X connect 23 0 28 0;
#X connect 23 0 30 0;
#X connect 25 0 24 0;
#X connect 26 0 25 0;
#X connect 28 0 22 0;
#X connect 29 0 12 1;
#X connect 30 0 26 0;
#X connect 23 0 22 0;
#X connect 25 0 19 0;
#X connect 26 0 9 1;
#X connect 27 0 23 0;

View file

@ -19,7 +19,7 @@ physics_material_override = SubResource( 3 )
gravity_scale = 0.0
script = ExtResource( 1 )
use_embeded_patch = true
patch = "#N canvas 80 207 548 621 12;
patch = "#N canvas 80 207 470 518 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -47,17 +47,13 @@ patch = "#N canvas 80 207 548 621 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X msg 361 81 \\; pd dsp 1;
#X obj 21 70 route bang panvol param preset;
#X obj 361 45 del 300;
#N canvas 0 23 1014 927 Ww 0;
#X obj 542 128 inlet;
#X obj 487 678 s \\$0-preset;
@ -201,7 +197,7 @@ patch = "#N canvas 80 207 548 621 12;
#X connect 57 4 54 0;
#X connect 57 5 56 0;
#X connect 58 0 57 0;
#X restore 80 300 pd Ww;
#X restore 40 300 pd Ww;
#X obj 189 264 line~;
#X msg 189 240 \\$1 100;
#X floatatom 189 177 5 0 0 0 - - - 0;
@ -212,37 +208,37 @@ patch = "#N canvas 80 207 548 621 12;
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 17 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 22 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 15 0 18 0;
#X connect 17 0 14 0;
#X connect 17 1 10 0;
#X connect 17 3 19 1;
#X connect 18 0 16 0;
#X connect 19 0 9 0;
#X connect 20 0 28 0;
#X connect 20 0 28 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 27 0;
#X connect 22 0 29 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 27 0 21 0;
#X connect 28 0 9 1;
#X connect 29 0 25 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;
"
[node name="CollisionShape" type="CollisionShape" parent="."]

BIN
mirrors/mirror.mp3 Normal file

Binary file not shown.

View file

@ -16,7 +16,7 @@ physics_material_override = SubResource( 3 )
gravity_scale = 0.0
script = ExtResource( 1 )
use_embeded_patch = true
patch = "#N canvas 217 167 548 621 12;
patch = "#N canvas 217 167 455 510 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -44,17 +44,13 @@ patch = "#N canvas 217 167 548 621 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 408 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X msg 361 81 \\; pd dsp 1;
#X obj 21 70 route bang panvol param preset;
#X obj 361 45 del 300;
#N canvas 404 97 1087 864 Dotdots 0;
#X obj 107 15 inlet;
#X obj 73 723 outlet~;
@ -238,37 +234,37 @@ patch = "#N canvas 217 167 548 621 12;
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.1;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 17 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 22 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 15 0 18 0;
#X connect 17 0 14 0;
#X connect 17 1 10 0;
#X connect 17 3 19 1;
#X connect 18 0 16 0;
#X connect 19 0 9 0;
#X connect 20 0 28 0;
#X connect 20 0 28 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 27 0;
#X connect 22 0 29 0;
#X connect 24 0 23 0;
#X connect 25 0 24 0;
#X connect 27 0 21 0;
#X connect 28 0 9 1;
#X connect 29 0 25 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;
"
[node name="CollisionShape" type="CollisionShape" parent="."]

8
mirrors/text.gd Normal file
View file

@ -0,0 +1,8 @@
extends Control
func _ready():
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()

38
mirrors/text.tscn Normal file
View file

@ -0,0 +1,38 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://mirrors/text.gd" type="Script" id=2]
[ext_resource path="res://mirrors/mirror.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 2 )
[node name="RichTextLabel" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 423.0
margin_top = 461.0
margin_right = 1230.0
margin_bottom = 904.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "정면으로 레몬색 벽과 어두운 남색 바닥이 보입니다. 당신은 한 면은 레몬색, 세 면은 연보라색 벽이 있는 방 안에 있습니다. 그 높이는 5m 정도가 되는것 같습니다. 천장은 없습니다. 보는 방향을 180도 돌리면 연보라색의 세 벽면이 보이며 방 안은 짙고 선명한 파란색의 길쭉 날쭉한 구들이 있습니다. 20-30개의 구들은 무리를 이루어 모여 있고 이 무리 사이에는 직사각형 모양의 거울이 있습니다. 이 거울로 방 밖에 존재하는 또 다른 방, 또 다른 방에 있는 작은 터널, 지금 머물고 있는 방을 밖에서 본 모습을 관찰할 수 있습니다. 당신은 하늘을 날 수 있고 방을 통과해 방 밖으로 나갈 수 있습니다. "
[node name="Timer" type="Timer" parent="."]
wait_time = 58.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -3.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -26,17 +26,14 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X msg 359 58 \; pd dsp 1;
#N canvas 590 23 1243 806 Clicks 0;
#N canvas 197 23 1180 682 Clicks 0;
#X obj 96 599 outlet~;
#X obj 265 49 r \$0-preset;
#X obj 665 540 s \$0-preset;
@ -174,33 +171,34 @@
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.3;
#X obj 199 461 throw~ outL;
#X obj 289 461 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 8 0;
#X connect 9 0 8 1;
#X connect 10 0 21 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 3 18 1;
#X connect 18 0 9 0;
#X connect 19 0 27 0;
#X connect 19 0 27 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 26 0;
#X connect 21 0 28 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 26 0 20 0;
#X connect 27 0 9 1;
#X connect 28 0 24 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;

View file

@ -4,6 +4,11 @@ var morae = load("res://pantyTunnel/morae.tscn")
func _ready():
randomize()
if Global.sceneguide:
var guide = load("res://pantyTunnel/text.tscn")
add_child(guide.instance())
for i in range(120):
var mr = morae.instance()
mr.set_preset(i%16 + 1)

View file

@ -1,7 +1,8 @@
[gd_scene load_steps=8 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://pantyTunnel/Player.tscn" type="PackedScene" id=2]
[ext_resource path="res://pantyTunnel/Scene.gd" type="Script" id=3]
[ext_resource path="res://guide/guide.gd" type="Script" id=4]
[sub_resource type="Environment" id=12]
background_mode = 1
@ -20,6 +21,19 @@ points = PoolVector3Array( -15.1145, -0.617995, -15.1181, 15.1152, 0.562877, 15.
[sub_resource type="ConvexPolygonShape" id=7]
points = PoolVector3Array( -15.1145, -0.617995, -15.1181, 15.1152, 0.562877, 15.1181, -15.1145, 0.562877, 15.1181, 15.1152, -0.617995, 15.1181, 15.1152, 0.562877, -15.1181, -15.1145, -0.617995, 15.1181, -15.1145, 0.562877, -15.1181, 15.1152, -0.617995, -15.1181 )
[sub_resource type="BoxShape" id=13]
extents = Vector3( 0.25, 0.25, 0.25 )
[sub_resource type="CubeMesh" id=14]
size = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="StreamTexture" id=15]
flags = 23
[sub_resource type="SpatialMaterial" id=16]
albedo_color = Color( 0.611765, 0.611765, 0.611765, 1 )
albedo_texture = SubResource( 15 )
[node name="Scene" type="Node"]
script = ExtResource( 3 )
@ -65,3 +79,18 @@ mesh = SubResource( 2 )
[node name="CollisionShape" type="CollisionShape" parent="floor"]
transform = Transform( -4.37114e-08, -1, 8.74228e-07, 0, -4.37114e-08, -20, 1, -4.37114e-08, 3.82137e-14, 15, -207, 0 )
shape = SubResource( 7 )
[node name="guide" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -614.142, 7.97652, 2.09487 )
visible = false
script = ExtResource( 4 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape" type="CollisionShape" parent="guide"]
shape = SubResource( 13 )
[node name="MeshInstance" type="MeshInstance" parent="guide"]
mesh = SubResource( 14 )
material/0 = SubResource( 16 )

View file

@ -6,7 +6,7 @@ export (float, 1, 16) var preset = 1
export (bool) var use_embeded_patch = false
export (String, MULTILINE) var patch = ""
var _my_patch = "user://Clicks.pd"
var _my_patch = "user://pantyTunnel/Clicks.pd"
var _my_id = 0
func set_param(param):

View file

@ -54,17 +54,14 @@ patch = "#N canvas 199 278 446 513 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X msg 359 58 \\; pd dsp 1;
#N canvas 590 23 1243 806 Clicks 0;
#N canvas 197 23 1180 682 Clicks 0;
#X obj 96 599 outlet~;
#X obj 265 49 r \\$0-preset;
#X obj 665 540 s \\$0-preset;
@ -202,36 +199,37 @@ patch = "#N canvas 199 278 446 513 12;
#X obj 189 216 max 0;
#X obj 203 336 *~;
#X obj 132 238 > -0.3;
#X obj 199 461 throw~ outL;
#X obj 289 461 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 8 0;
#X connect 9 0 8 1;
#X connect 10 0 21 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 16 3 18 1;
#X connect 18 0 9 0;
#X connect 19 0 27 0;
#X connect 19 0 27 1;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 14 3 15 1;
#X connect 15 0 8 0;
#X connect 16 0 24 0;
#X connect 16 0 24 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 25 0;
#X connect 20 0 19 0;
#X connect 21 0 26 0;
#X connect 21 0 28 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 26 0 20 0;
#X connect 27 0 9 1;
#X connect 28 0 24 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 8 1;
#X connect 25 0 21 0;
"
[node name="CollisionShape" type="CollisionShape" parent="."]

BIN
pantyTunnel/panty.mp3 Normal file

Binary file not shown.

8
pantyTunnel/text.gd Normal file
View file

@ -0,0 +1,8 @@
extends Control
func _ready():
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()

38
pantyTunnel/text.tscn Normal file
View file

@ -0,0 +1,38 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://pantyTunnel/text.gd" type="Script" id=2]
[ext_resource path="res://pantyTunnel/panty.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
margin_right = 40.0
margin_bottom = 40.0
script = ExtResource( 2 )
[node name="RichTextLabel" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 505.0
margin_top = 345.0
margin_right = 938.0
margin_bottom = 544.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "당신은 터널 시작점에 있습니다. 저 멀리 터널의 끝이 밝은 정삼각형으로 보입니다. 터널 안은 어둡고 당신의 머리에 달린 빛으로 근거리를 확인할 수 있습니다. 노란 알약 모양의 오브젝트를 따라가면 터널의 끝으로 향합니다. "
[node name="Timer" type="Timer" parent="."]
wait_time = 24.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -3.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View file

@ -58,6 +58,7 @@ config/icon="res://icon.png"
Global="*res://autoload/Global.tscn"
Events="*res://autoload/Events.tscn"
Out="*res://autoload/Out.tscn"
[display]
@ -139,6 +140,16 @@ scene6={
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":54,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
]
}
reverb={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":82,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
]
}
lowpass={
"deadzone": 0.5,
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":66,"physical_scancode":0,"unicode":0,"echo":false,"script":null)
]
}
[layer_names]

View file

@ -165,20 +165,13 @@ patch = "#N canvas 56 89 446 513 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \\, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \\; pd dsp 1;
#N canvas 0 23 1440 805 synth 0;
#X obj 308 770 outlet~;
#X obj 57 359 vline~;
@ -605,35 +598,34 @@ patch = "#N canvas 56 89 446 513 12;
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;
"

View file

@ -26,20 +26,13 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#N canvas 0 23 1440 805 synth 0;
#X obj 308 770 outlet~;
#X obj 57 359 vline~;
@ -466,34 +459,33 @@
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 1 0 14 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 7 0 26 0;
#X connect 7 1 27 0;
#X connect 8 0 7 0;
#X connect 9 0 19 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 16 0 14 0;
#X connect 16 1 10 0;
#X connect 18 0 17 1;
#X connect 19 0 18 0;
#X connect 20 0 19 0;
#X connect 22 0 9 0;
#X connect 23 0 9 1;
#X connect 24 0 23 0;
#X connect 24 0 23 1;
#X connect 25 0 24 0;
#X connect 26 0 31 0;
#X connect 26 0 32 0;
#X connect 28 0 27 0;
#X connect 29 0 28 0;
#X connect 31 0 25 0;
#X connect 32 0 29 0;
#X connect 12 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 9 0;
#X connect 15 0 8 0;
#X connect 16 0 8 1;
#X connect 17 0 16 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 24 0;
#X connect 19 0 25 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 24 0 18 0;
#X connect 25 0 22 0;

View file

@ -1,152 +0,0 @@
#N canvas 22 179 583 567 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 349 line~;
#X msg 300 325 \$1 100;
#X obj 300 278 expr ($f1 + 1)/8;
#X floatatom 300 302 5 0 0 0 - - - 0;
#N canvas 68 97 450 300 pan2~ 0;
#X obj 51 98 cos~;
#X obj 111 98 cos~;
#X obj 33 128 *~;
#X obj 93 128 *~;
#X obj 33 158 outlet~;
#X obj 93 158 outlet~;
#X obj 33 24 inlet~;
#X obj 111 24 inlet~;
#X obj 111 74 +~ 0.75;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 2 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#N canvas 567 23 873 806 synth 0;
#X obj 197 70 r \$0-preset;
#X obj 519 680 s \$0-preset;
#X obj 566 305 inlet;
#X obj 126 73 inlet;
#X floatatom 124 137 5 0 0 0 - - - 0;
#X floatatom 166 137 5 0 0 0 - - - 0;
#X text 36 135 center frequency (in;
#X text 35 155 tenths of fundamental);
#X obj 121 593 *~;
#X obj 644 39 loadbang;
#X obj 126 104 unpack f f f;
#X msg 637 374 10 27 21;
#X msg 636 542 5 12 46;
#X msg 636 423 2 52 2;
#X msg 636 447 9 11 78;
#X msg 636 471 7 16 38;
#X msg 636 495 28 -20 15;
#X msg 636 519 1 -12 41;
#X msg 635 397 17 28 46;
#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 638 567 21 14 19;
#X msg 639 614 14 -16 49;
#X msg 639 638 4 10 40;
#X msg 638 591 61 31 25;
#X obj 125 482 osc~;
#X obj 224 463 vline~;
#X obj 200 349 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 210 192 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X msg 138 393 420;
#X obj 197 268 metro 4000;
#X obj 147 703 outlet~;
#X obj 238 153 r guide;
#X msg 227 422 0.3 60 0 \, 0.1 100 200 \, 0 2000 200;
#X connect 0 0 10 0;
#X connect 2 0 19 0;
#X connect 3 0 10 0;
#X connect 8 0 30 0;
#X connect 10 1 4 0;
#X connect 10 2 5 0;
#X connect 11 0 1 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 1 0;
#X connect 19 0 11 0;
#X connect 19 1 12 0;
#X connect 19 2 13 0;
#X connect 19 3 14 0;
#X connect 19 4 15 0;
#X connect 19 5 16 0;
#X connect 19 6 17 0;
#X connect 19 7 18 0;
#X connect 19 8 20 0;
#X connect 19 9 23 0;
#X connect 19 10 21 0;
#X connect 19 11 22 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X connect 23 0 1 0;
#X connect 24 0 8 0;
#X connect 25 0 8 1;
#X connect 26 0 28 0;
#X connect 26 0 32 0;
#X connect 27 0 29 0;
#X connect 28 0 24 0;
#X connect 29 0 26 0;
#X connect 31 0 27 0;
#X connect 32 0 25 0;
#X restore 16 286 pd synth;
#X obj 204 329 *~;
#X floatatom 266 103 5 0 0 0 - - - 0;
#X obj 189 276 line~;
#X msg 189 252 \$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
#X obj 21 70 route bang panvol param preset guide;
#X text 64 155 comment, f 12;
#X obj 346 133 s guide;
#X connect 0 0 1 0;
#X connect 1 0 27 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 18 0;
#X connect 21 0 9 0;
#X connect 22 0 9 1;
#X connect 23 0 29 0;
#X connect 24 0 22 0;
#X connect 24 0 22 1;
#X connect 25 0 24 0;
#X connect 26 0 25 0;
#X connect 27 0 14 0;
#X connect 27 1 10 0;
#X connect 27 3 21 1;
#X connect 27 4 23 0;

BIN
tenniscourts/intro.mp3 Normal file

Binary file not shown.

View file

@ -23,12 +23,6 @@ func set_preset(prs):
Global._gdpd.add_float(prs)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_rev(v):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol("rev")
Global._gdpd.add_float(v)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_color(color):
$MeshInstance.material_override = SpatialMaterial.new()
$MeshInstance.material_override.albedo_color = color

View file

@ -1,4 +1,4 @@
#N canvas 11 263 583 567 12;
#N canvas 11 263 449 520 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -26,104 +26,97 @@
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#N canvas 478 23 873 806 synth 0;
#X obj 3 447 noise~;
#X obj -13 491 *~;
#X obj -29 375 sig~ 1;
#X obj -29 403 /~;
#X obj 20 353 *~;
#X obj 20 323 *~;
#X obj -29 515 +~;
#X obj 20 375 +~ 1;
#X obj -13 426 *~ 0.4;
#X obj 3 469 bp~ 700 1;
#X obj 20 274 osc~ 12;
#X obj 29 696 outlet~;
#X obj 197 70 r \$0-preset;
#X obj 519 680 s \$0-preset;
#X obj 566 305 inlet;
#X obj 126 73 inlet;
#X floatatom 124 137 5 0 0 0 - - - 0;
#X floatatom 166 137 5 0 0 0 - - - 0;
#X obj 436 165 del;
#X obj 436 215 spigot;
#X obj 397 62 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1;
#X obj 544 122 expr \$2-\$1;
#X obj 510 184 random;
#X obj 544 72 loadbang;
#X obj 475 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 428 110 t b f;
#X obj 478 159 t b b;
#X obj 451 139 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000;
#X obj 653 101 unpack f f;
#X obj 669 130 expr $f2-$f1;
#X floatatom 543 157 5 0 0 0 range - - 0;
#X floatatom 598 183 5 0 0 0 start - - 0;
#X obj 599 153 f \$1;
#X obj 510 210 +;
#X obj 544 97 t b b;
#X floatatom 510 239 5 0 0 1 r - - 0;
#X msg 651 65 500 3500;
#X obj 157 481 cos~;
#X floatatom 205 270 4 0 100 0 - - - 0;
#X obj 204 294 / 10;
#X obj 157 451 *~;
#X obj 204 366 line~;
#X obj 204 318 max 0;
#X floatatom 107 373 4 0 0 0 - - - 0;
#X text 86 325 fundamental;
#X text 86 344 frequency;
#X obj 199 481 cos~;
#X obj 240 394 wrap~;
#X obj 204 421 -~;
#X obj 199 451 +~;
#X obj 199 526 -~;
#X obj 222 576 *~;
#X obj 204 616 +~;
#X obj 204 342 pack 0 50;
#X obj 107 397 phasor~ 100;
#X text 36 135 center frequency (in;
#X text 35 155 tenths of fundamental);
#X obj 204 662 hip~ 5;
#X obj 225 703 *~;
#X obj 296 718 vline~;
#X floatatom 451 363 5 0 0 0 - - - 0;
#X msg 294 690 \$1 1000;
#X obj 421 265 random 8;
#X obj 644 39 loadbang;
#X obj 72 597 vline~;
#X obj 126 104 unpack f f f;
#X obj 382 30 loadbang;
#X obj 2 607 *~;
#X msg 637 374 10 27 21;
#X msg 636 542 5 12 46;
#X msg 636 423 2 52 2;
#X msg 636 447 9 11 78;
#X msg 636 471 7 16 38;
#X floatatom 49 210 5 0 0 0 - - - 0;
#X msg 636 495 28 -20 15;
#X msg 636 519 1 -12 41;
#X msg 635 397 17 28 46;
#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 638 567 21 14 19;
#X msg 639 614 14 -16 49;
#X msg 639 638 4 10 40;
#X msg 638 591 61 31 25;
#X obj 435 299 / 10;
#X obj 446 323 + 0.5;
#X obj 50 447 noise~;
#X obj 34 491 *~;
#X obj 18 375 sig~ 1;
#X obj 18 403 /~;
#X obj 67 353 *~;
#X obj 67 323 *~;
#X obj 18 515 +~;
#X obj 67 375 +~ 1;
#X obj 34 426 *~ 0.4;
#X obj 50 469 bp~ 700 1;
#X obj 67 274 osc~ 12;
#X obj 76 696 outlet~;
#X obj 244 70 r \$0-preset;
#X obj 566 680 s \$0-preset;
#X obj 613 305 inlet;
#X obj 173 73 inlet;
#X floatatom 171 137 5 0 0 0 - - - 0;
#X floatatom 213 137 5 0 0 0 - - - 0;
#X obj 483 165 del;
#X obj 483 215 spigot;
#X obj 444 62 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1;
#X obj 591 122 expr \$2-\$1;
#X obj 557 184 random;
#X obj 591 72 loadbang;
#X obj 522 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 475 110 t b f;
#X obj 525 159 t b b;
#X obj 498 139 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000;
#X obj 700 101 unpack f f;
#X obj 716 130 expr $f2-$f1;
#X floatatom 590 157 5 0 0 0 range - - 0;
#X floatatom 645 183 5 0 0 0 start - - 0;
#X obj 646 153 f \$1;
#X obj 557 210 +;
#X obj 591 97 t b b;
#X floatatom 557 239 5 0 0 1 r - - 0;
#X msg 698 65 500 3500;
#X obj 204 481 cos~;
#X floatatom 252 270 4 0 100 0 - - - 0;
#X obj 251 294 / 10;
#X obj 204 451 *~;
#X obj 251 366 line~;
#X obj 251 318 max 0;
#X floatatom 154 373 4 0 0 0 - - - 0;
#X text 133 325 fundamental;
#X text 133 344 frequency;
#X obj 246 481 cos~;
#X obj 287 394 wrap~;
#X obj 251 421 -~;
#X obj 246 451 +~;
#X obj 246 526 -~;
#X obj 269 576 *~;
#X obj 251 616 +~;
#X obj 251 342 pack 0 50;
#X obj 154 397 phasor~ 100;
#X text 83 135 center frequency (in;
#X text 82 155 tenths of fundamental);
#X obj 251 662 hip~ 5;
#X obj 272 703 *~;
#X obj 343 718 vline~;
#X floatatom 498 363 5 0 0 0 - - - 0;
#X msg 341 690 \$1 1000;
#X obj 468 265 random 8;
#X obj 691 39 loadbang;
#X obj 119 597 vline~;
#X obj 173 104 unpack f f f;
#X obj 429 30 loadbang;
#X obj 49 607 *~;
#X msg 684 374 10 27 21;
#X msg 683 542 5 12 46;
#X msg 683 423 2 52 2;
#X msg 683 447 9 11 78;
#X msg 683 471 7 16 38;
#X floatatom 96 210 5 0 0 0 - - - 0;
#X msg 683 495 28 -20 15;
#X msg 683 519 1 -12 41;
#X msg 682 397 17 28 46;
#X obj 642 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 685 567 21 14 19;
#X msg 686 614 14 -16 49;
#X msg 686 638 4 10 40;
#X msg 685 591 61 31 25;
#X obj 482 299 / 10;
#X obj 493 323 + 0.5;
#X connect 0 0 9 0;
#X connect 1 0 6 1;
#X connect 2 0 3 0;
@ -230,9 +223,6 @@
#X connect 83 0 60 0;
#X restore 16 286 pd synth;
#X obj 204 329 *~;
#X obj 21 70 route bang panvol param preset rev;
#X floatatom 266 103 5 0 0 0 - - - 0;
#X obj 331 117 s rev_v;
#X obj 189 276 line~;
#X msg 189 252 \$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
@ -242,37 +232,35 @@
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X obj 21 70 route bang panvol param preset;
#X connect 0 0 1 0;
#X connect 1 0 23 0;
#X connect 1 0 27 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 28 0;
#X connect 10 1 11 0;
#X connect 7 0 25 0;
#X connect 7 1 26 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 18 0;
#X connect 21 0 9 0;
#X connect 22 0 9 1;
#X connect 23 0 14 0;
#X connect 23 1 10 0;
#X connect 23 3 21 1;
#X connect 23 4 24 0;
#X connect 24 0 25 0;
#X connect 26 0 22 0;
#X connect 26 0 22 1;
#X connect 27 0 26 0;
#X connect 28 0 33 0;
#X connect 28 0 34 0;
#X connect 30 0 29 0;
#X connect 31 0 30 0;
#X connect 33 0 27 0;
#X connect 34 0 31 0;
#X connect 12 0 2 0;
#X connect 14 0 8 0;
#X connect 15 0 8 1;
#X connect 16 0 15 0;
#X connect 16 0 15 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 24 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 21 0;
#X connect 27 0 13 0;
#X connect 27 1 9 0;
#X connect 27 3 14 1;

View file

@ -17,7 +17,7 @@ albedo_color = Color( 0.180392, 0.972549, 0.776471, 1 )
transform = Transform( 1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 9.251, 80, 0 )
script = ExtResource( 1 )
use_embeded_patch = true
patch = "#N canvas 11 263 583 567 12;
patch = "#N canvas 11 263 449 520 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
@ -45,104 +45,97 @@ patch = "#N canvas 11 263 583 567 12;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \\, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \\; pd dsp 1;
#N canvas 478 23 873 806 synth 0;
#X obj 3 447 noise~;
#X obj -13 491 *~;
#X obj -29 375 sig~ 1;
#X obj -29 403 /~;
#X obj 20 353 *~;
#X obj 20 323 *~;
#X obj -29 515 +~;
#X obj 20 375 +~ 1;
#X obj -13 426 *~ 0.4;
#X obj 3 469 bp~ 700 1;
#X obj 20 274 osc~ 12;
#X obj 29 696 outlet~;
#X obj 197 70 r \\$0-preset;
#X obj 519 680 s \\$0-preset;
#X obj 566 305 inlet;
#X obj 126 73 inlet;
#X floatatom 124 137 5 0 0 0 - - - 0;
#X floatatom 166 137 5 0 0 0 - - - 0;
#X obj 436 165 del;
#X obj 436 215 spigot;
#X obj 397 62 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1;
#X obj 544 122 expr \\$2-\\$1;
#X obj 510 184 random;
#X obj 544 72 loadbang;
#X obj 475 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 428 110 t b f;
#X obj 478 159 t b b;
#X obj 451 139 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000;
#X obj 653 101 unpack f f;
#X obj 669 130 expr $f2-$f1;
#X floatatom 543 157 5 0 0 0 range - - 0;
#X floatatom 598 183 5 0 0 0 start - - 0;
#X obj 599 153 f \\$1;
#X obj 510 210 +;
#X obj 544 97 t b b;
#X floatatom 510 239 5 0 0 1 r - - 0;
#X msg 651 65 500 3500;
#X obj 157 481 cos~;
#X floatatom 205 270 4 0 100 0 - - - 0;
#X obj 204 294 / 10;
#X obj 157 451 *~;
#X obj 204 366 line~;
#X obj 204 318 max 0;
#X floatatom 107 373 4 0 0 0 - - - 0;
#X text 86 325 fundamental;
#X text 86 344 frequency;
#X obj 199 481 cos~;
#X obj 240 394 wrap~;
#X obj 204 421 -~;
#X obj 199 451 +~;
#X obj 199 526 -~;
#X obj 222 576 *~;
#X obj 204 616 +~;
#X obj 204 342 pack 0 50;
#X obj 107 397 phasor~ 100;
#X text 36 135 center frequency (in;
#X text 35 155 tenths of fundamental);
#X obj 204 662 hip~ 5;
#X obj 225 703 *~;
#X obj 296 718 vline~;
#X floatatom 451 363 5 0 0 0 - - - 0;
#X msg 294 690 \\$1 1000;
#X obj 421 265 random 8;
#X obj 644 39 loadbang;
#X obj 72 597 vline~;
#X obj 126 104 unpack f f f;
#X obj 382 30 loadbang;
#X obj 2 607 *~;
#X msg 637 374 10 27 21;
#X msg 636 542 5 12 46;
#X msg 636 423 2 52 2;
#X msg 636 447 9 11 78;
#X msg 636 471 7 16 38;
#X floatatom 49 210 5 0 0 0 - - - 0;
#X msg 636 495 28 -20 15;
#X msg 636 519 1 -12 41;
#X msg 635 397 17 28 46;
#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 638 567 21 14 19;
#X msg 639 614 14 -16 49;
#X msg 639 638 4 10 40;
#X msg 638 591 61 31 25;
#X obj 435 299 / 10;
#X obj 446 323 + 0.5;
#X obj 50 447 noise~;
#X obj 34 491 *~;
#X obj 18 375 sig~ 1;
#X obj 18 403 /~;
#X obj 67 353 *~;
#X obj 67 323 *~;
#X obj 18 515 +~;
#X obj 67 375 +~ 1;
#X obj 34 426 *~ 0.4;
#X obj 50 469 bp~ 700 1;
#X obj 67 274 osc~ 12;
#X obj 76 696 outlet~;
#X obj 244 70 r \\$0-preset;
#X obj 566 680 s \\$0-preset;
#X obj 613 305 inlet;
#X obj 173 73 inlet;
#X floatatom 171 137 5 0 0 0 - - - 0;
#X floatatom 213 137 5 0 0 0 - - - 0;
#X obj 483 165 del;
#X obj 483 215 spigot;
#X obj 444 62 tgl 15 0 empty empty empty 17 7 0 10 #0400fc #f8fc00 #000000 0 1;
#X obj 591 122 expr \\$2-\\$1;
#X obj 557 184 random;
#X obj 591 72 loadbang;
#X obj 522 189 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 475 110 t b f;
#X obj 525 159 t b b;
#X obj 498 139 bng 10 250 50 0 empty empty empty 17 7 0 10 #f8fc00 #0400fc #000000;
#X obj 700 101 unpack f f;
#X obj 716 130 expr $f2-$f1;
#X floatatom 590 157 5 0 0 0 range - - 0;
#X floatatom 645 183 5 0 0 0 start - - 0;
#X obj 646 153 f \\$1;
#X obj 557 210 +;
#X obj 591 97 t b b;
#X floatatom 557 239 5 0 0 1 r - - 0;
#X msg 698 65 500 3500;
#X obj 204 481 cos~;
#X floatatom 252 270 4 0 100 0 - - - 0;
#X obj 251 294 / 10;
#X obj 204 451 *~;
#X obj 251 366 line~;
#X obj 251 318 max 0;
#X floatatom 154 373 4 0 0 0 - - - 0;
#X text 133 325 fundamental;
#X text 133 344 frequency;
#X obj 246 481 cos~;
#X obj 287 394 wrap~;
#X obj 251 421 -~;
#X obj 246 451 +~;
#X obj 246 526 -~;
#X obj 269 576 *~;
#X obj 251 616 +~;
#X obj 251 342 pack 0 50;
#X obj 154 397 phasor~ 100;
#X text 83 135 center frequency (in;
#X text 82 155 tenths of fundamental);
#X obj 251 662 hip~ 5;
#X obj 272 703 *~;
#X obj 343 718 vline~;
#X floatatom 498 363 5 0 0 0 - - - 0;
#X msg 341 690 \\$1 1000;
#X obj 468 265 random 8;
#X obj 691 39 loadbang;
#X obj 119 597 vline~;
#X obj 173 104 unpack f f f;
#X obj 429 30 loadbang;
#X obj 49 607 *~;
#X msg 684 374 10 27 21;
#X msg 683 542 5 12 46;
#X msg 683 423 2 52 2;
#X msg 683 447 9 11 78;
#X msg 683 471 7 16 38;
#X floatatom 96 210 5 0 0 0 - - - 0;
#X msg 683 495 28 -20 15;
#X msg 683 519 1 -12 41;
#X msg 682 397 17 28 46;
#X obj 642 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 685 567 21 14 19;
#X msg 686 614 14 -16 49;
#X msg 686 638 4 10 40;
#X msg 685 591 61 31 25;
#X obj 482 299 / 10;
#X obj 493 323 + 0.5;
#X connect 0 0 9 0;
#X connect 1 0 6 1;
#X connect 2 0 3 0;
@ -249,9 +242,6 @@ patch = "#N canvas 11 263 583 567 12;
#X connect 83 0 60 0;
#X restore 16 286 pd synth;
#X obj 204 329 *~;
#X obj 21 70 route bang panvol param preset rev;
#X floatatom 266 103 5 0 0 0 - - - 0;
#X obj 331 117 s rev_v;
#X obj 189 276 line~;
#X msg 189 252 \\$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
@ -261,40 +251,38 @@ patch = "#N canvas 11 263 583 567 12;
#X text 89 167 switch on/off before 0 to stop startup pops, f 12;
#X obj 189 228 max 0;
#X obj 132 250 > -0.3;
#X obj 199 467 throw~ outL;
#X obj 289 467 throw~ outR;
#X obj 21 70 route bang panvol param preset;
#X connect 0 0 1 0;
#X connect 1 0 23 0;
#X connect 1 0 27 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 28 0;
#X connect 10 1 11 0;
#X connect 7 0 25 0;
#X connect 7 1 26 0;
#X connect 8 0 7 0;
#X connect 9 0 18 0;
#X connect 9 1 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 18 0;
#X connect 21 0 9 0;
#X connect 22 0 9 1;
#X connect 23 0 14 0;
#X connect 23 1 10 0;
#X connect 23 3 21 1;
#X connect 23 4 24 0;
#X connect 24 0 25 0;
#X connect 26 0 22 0;
#X connect 26 0 22 1;
#X connect 27 0 26 0;
#X connect 28 0 33 0;
#X connect 28 0 34 0;
#X connect 30 0 29 0;
#X connect 31 0 30 0;
#X connect 33 0 27 0;
#X connect 34 0 31 0;
#X connect 12 0 2 0;
#X connect 14 0 8 0;
#X connect 15 0 8 1;
#X connect 16 0 15 0;
#X connect 16 0 15 1;
#X connect 17 0 16 0;
#X connect 18 0 23 0;
#X connect 18 0 24 0;
#X connect 20 0 19 0;
#X connect 21 0 20 0;
#X connect 23 0 17 0;
#X connect 24 0 21 0;
#X connect 27 0 13 0;
#X connect 27 1 9 0;
#X connect 27 3 14 1;
"
[node name="CollisionShape2" type="CollisionShape" parent="."]

View file

@ -1,16 +0,0 @@
#N canvas 1 89 370 282 12;
#X obj 94 124 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 94 189 print;
#X msg 189 95 1000 4000;
#X obj 94 143 retro 200 1800;
#X msg 200 125 200 1800;
#X text 2 7 <<<;
#X text 322 7 >>>;
#X text 2 237 <<<;
#X text 322 237 >>>;
#X text 95 39 * a randomized metro !;
#X connect 0 0 3 0;
#X connect 2 0 3 1;
#X connect 3 0 1 0;
#X connect 4 0 3 1;

View file

@ -1,57 +0,0 @@
#N canvas 310 409 364 373 12;
#X obj 43 211 del;
#X obj 43 261 spigot;
#X obj 139 72 tgl 15 0 empty empty empty 17 7 0 10 -4160 -257985 -1
1 1;
#X obj 234 86 expr \$2-\$1;
#X obj 145 216 random;
#X obj 234 36 loadbang;
#X obj 82 235 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 50 47 inlet;
#X obj 43 286 outlet;
#X obj 50 104 t b f;
#X obj 113 191 t b b;
#X obj 158 72 bng 10 250 50 0 empty empty empty 17 7 0 10 -257985 -4160
-1;
#X text 2 7 <<<;
#X text 322 7 >>>;
#X text 2 337 <<<;
#X text 322 337 >>>;
#X obj 118 285 inlet;
#X obj 118 310 unpack f f;
#X obj 204 305 expr $f2-$f1;
#X floatatom 234 197 5 0 0 0 range - -;
#X floatatom 289 223 5 0 0 0 start - -;
#X obj 289 117 f \$1;
#X obj 145 242 +;
#X obj 234 61 t b b;
#X floatatom 171 69 5 0 0 1 r - -;
#X obj 288 278 outlet;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 1 0 11 0;
#X connect 2 0 9 0;
#X connect 3 0 19 0;
#X connect 4 0 22 0;
#X connect 5 0 23 0;
#X connect 6 0 1 1;
#X connect 7 0 2 0;
#X connect 9 0 11 0;
#X connect 9 1 6 0;
#X connect 10 0 0 0;
#X connect 10 1 4 0;
#X connect 11 0 10 0;
#X connect 16 0 17 0;
#X connect 16 0 18 0;
#X connect 17 0 20 0;
#X connect 18 0 19 0;
#X connect 19 0 4 1;
#X connect 20 0 22 1;
#X connect 21 0 20 0;
#X connect 22 0 0 1;
#X connect 22 0 24 0;
#X connect 22 0 25 0;
#X connect 23 0 3 0;
#X connect 23 1 21 0;
#X coords 0 -1 1 1 85 40 1 135 50;

View file

@ -1,9 +0,0 @@
extends Control
func _on_RichTextLabel_meta_clicked(meta):
var err = OS.shell_open(meta)
if err == OK:
print("Opened link '%s' successfully!" % meta)
else:
print("Failed opening the link '%s'!" % meta)

View file

@ -8,6 +8,10 @@ var mr = null
func _ready():
randomize()
if Global.sceneguide:
var guide = load("res://tenniscourts/text.tscn")
add_child(guide.instance())
for i in range(12):
yield(get_tree().create_timer(rand_range(30, 60)), "timeout")
mr = morae.instance()

View file

@ -2,7 +2,7 @@
[ext_resource path="res://tenniscourts/Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://tenniscourts/src/Sandbox.gd" type="Script" id=2]
[ext_resource path="res://tenniscourts/src/guide.gd" type="Script" id=5]
[ext_resource path="res://guide/guide.gd" type="Script" id=4]
[ext_resource path="res://tenniscourts/TennisCourt.tscn" type="PackedScene" id=6]
[sub_resource type="ConvexPolygonShape" id=5]
@ -27,18 +27,18 @@ fog_enabled = true
fog_color = Color( 0.137255, 0.290196, 0.372549, 1 )
fog_sun_amount = 0.14
[sub_resource type="ConvexPolygonShape" id=8]
points = PoolVector3Array( -0.25, -0.25, -0.25, 0.25, 0.25, 0.25, 0.25, -0.25, 0.25, 0.25, 0.25, -0.25, -0.25, 0.25, 0.25, 0.25, -0.25, -0.25, -0.25, -0.25, 0.25, -0.25, 0.25, -0.25 )
[sub_resource type="BoxShape" id=11]
extents = Vector3( 0.25, 0.25, 0.25 )
[sub_resource type="CubeMesh" id=9]
size = Vector3( 0.5, 0.5, 0.5 )
[sub_resource type="StreamTexture" id=11]
[sub_resource type="StreamTexture" id=12]
flags = 23
[sub_resource type="SpatialMaterial" id=10]
albedo_color = Color( 0.611765, 0.611765, 0.611765, 1 )
albedo_texture = SubResource( 11 )
albedo_texture = SubResource( 12 )
[node name="Sandbox" type="Spatial"]
script = ExtResource( 2 )
@ -85,165 +85,14 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19, 0.27, -65 )
[node name="guide" type="StaticBody" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 9.78137, 1.43407, -21.4578 )
script = ExtResource( 5 )
audible_range_max = 200.0
use_embeded_patch = true
patch = "#N canvas 22 179 583 567 12;
#X obj 21 22 r fromGodot\\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 349 line~;
#X msg 300 325 \\$1 100;
#X obj 300 278 expr ($f1 + 1)/8;
#X floatatom 300 302 5 0 0 0 - - - 0;
#N canvas 68 97 450 300 pan2~ 0;
#X obj 51 98 cos~;
#X obj 111 98 cos~;
#X obj 33 128 *~;
#X obj 93 128 *~;
#X obj 33 158 outlet~;
#X obj 93 158 outlet~;
#X obj 33 24 inlet~;
#X obj 111 24 inlet~;
#X obj 111 74 +~ 0.75;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 2 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 195 409 *~;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \\, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \\; pd dsp 1;
#N canvas 567 23 873 806 synth 0;
#X obj 197 70 r \\$0-preset;
#X obj 519 680 s \\$0-preset;
#X obj 566 305 inlet;
#X obj 126 73 inlet;
#X floatatom 124 137 5 0 0 0 - - - 0;
#X floatatom 166 137 5 0 0 0 - - - 0;
#X text 36 135 center frequency (in;
#X text 35 155 tenths of fundamental);
#X obj 121 593 *~;
#X obj 644 39 loadbang;
#X obj 126 104 unpack f f f;
#X msg 637 374 10 27 21;
#X msg 636 542 5 12 46;
#X msg 636 423 2 52 2;
#X msg 636 447 9 11 78;
#X msg 636 471 7 16 38;
#X msg 636 495 28 -20 15;
#X msg 636 519 1 -12 41;
#X msg 635 397 17 28 46;
#X obj 595 332 sel 1 2 3 4 5 6 7 8 9 10 11 12;
#X msg 638 567 21 14 19;
#X msg 639 614 14 -16 49;
#X msg 639 638 4 10 40;
#X msg 638 591 61 31 25;
#X obj 125 482 osc~;
#X obj 224 463 vline~;
#X obj 200 349 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 210 192 tgl 19 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X msg 138 393 420;
#X obj 197 268 metro 4000;
#X obj 147 703 outlet~;
#X obj 238 153 r guide;
#X msg 227 422 0.3 60 0 \\, 0.1 100 200 \\, 0 2000 200;
#X connect 0 0 10 0;
#X connect 2 0 19 0;
#X connect 3 0 10 0;
#X connect 8 0 30 0;
#X connect 10 1 4 0;
#X connect 10 2 5 0;
#X connect 11 0 1 0;
#X connect 12 0 1 0;
#X connect 13 0 1 0;
#X connect 14 0 1 0;
#X connect 15 0 1 0;
#X connect 16 0 1 0;
#X connect 17 0 1 0;
#X connect 18 0 1 0;
#X connect 19 0 11 0;
#X connect 19 1 12 0;
#X connect 19 2 13 0;
#X connect 19 3 14 0;
#X connect 19 4 15 0;
#X connect 19 5 16 0;
#X connect 19 6 17 0;
#X connect 19 7 18 0;
#X connect 19 8 20 0;
#X connect 19 9 23 0;
#X connect 19 10 21 0;
#X connect 19 11 22 0;
#X connect 20 0 1 0;
#X connect 21 0 1 0;
#X connect 22 0 1 0;
#X connect 23 0 1 0;
#X connect 24 0 8 0;
#X connect 25 0 8 1;
#X connect 26 0 28 0;
#X connect 26 0 32 0;
#X connect 27 0 29 0;
#X connect 28 0 24 0;
#X connect 29 0 26 0;
#X connect 31 0 27 0;
#X connect 32 0 25 0;
#X restore 16 286 pd synth;
#X obj 204 329 *~;
#X floatatom 266 103 5 0 0 0 - - - 0;
#X obj 189 276 line~;
#X msg 189 252 \\$1 100;
#X floatatom 189 189 5 0 0 0 - - - 0;
#X obj 21 70 route bang panvol param preset guide;
#X text 64 155 comment, f 12;
#X obj 346 133 s guide;
#X connect 0 0 1 0;
#X connect 1 0 27 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 26 0;
#X connect 10 1 11 0;
#X connect 11 0 12 0;
#X connect 12 0 13 0;
#X connect 13 0 2 0;
#X connect 17 0 16 1;
#X connect 18 0 17 0;
#X connect 19 0 18 0;
#X connect 21 0 9 0;
#X connect 22 0 9 1;
#X connect 23 0 29 0;
#X connect 24 0 22 0;
#X connect 24 0 22 1;
#X connect 25 0 24 0;
#X connect 26 0 25 0;
#X connect 27 0 14 0;
#X connect 27 1 10 0;
#X connect 27 3 21 1;
#X connect 27 4 23 0;
"
visible = false
script = ExtResource( 4 )
__meta__ = {
"_edit_group_": true
}
[node name="CollisionShape" type="CollisionShape" parent="guide"]
shape = SubResource( 8 )
shape = SubResource( 11 )
[node name="MeshInstance" type="MeshInstance" parent="guide"]
mesh = SubResource( 9 )

View file

@ -1,105 +0,0 @@
extends StaticBody
export (float, 0, 400) var audible_range_max = 400.0
export (int, 1, 12) var preset = 1
export (bool) var use_embeded_patch = false
export (String, MULTILINE) var patch = ""
var _my_patch = "user://tenniscourts/guide.pd"
var _my_id = 0
var _gg = false
func set_param(param):
Global._gdpd.start_message(param.size()+1)
Global._gdpd.add_symbol("param")
for i in range(param.size()):
Global._gdpd.add_float(param[i])
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_preset(prs):
preset = prs
Global._gdpd.start_message(2)
Global._gdpd.add_symbol("preset")
Global._gdpd.add_float(prs)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_guide(g):
Global._gdpd.start_message(2)
Global._gdpd.add_symbol("guide")
Global._gdpd.add_float(g)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func set_color(color):
$MeshInstance.material_override = SpatialMaterial.new()
$MeshInstance.material_override.albedo_color = color
func relocate(center, radius_range):
# relocate randomly into a circular zone
var rr = radius_range[1] - radius_range[0]
var displacement = polar2cartesian(randf()*rr+radius_range[0], randf()*2*PI)
var loc = center + displacement
look_at_from_position(Vector3(loc.x, randf()*2 + 1, loc.y), Vector3.FORWARD, Vector3.UP)
func _ready():
# save patch (for export)
if use_embeded_patch:
assert(_my_patch.substr(0, 7) == "user://", "use userpath with embeded_patch enabled !")
assert(patch != "", "patch is empty?")
_save_patch()
# load patch
_my_id = Global.load_patch(ProjectSettings.globalize_path(_my_patch))
# listen 'player_transform_updated' event
Events.connect("player_transform_updated", self, "_on_Events_player_transform_updated")
# send 'preset'
set_preset(preset)
func _on_Events_player_transform_updated(playerpos, playerheading):
var mypos = get_global_translation()
var mypos2d = Vector2(mypos.x, mypos.z)
var playerpos2d = Vector2(playerpos.x, playerpos.z)
# calculate distance
var distance = mypos.distance_to(playerpos)
# calculate angle
var angle = fmod(fmod(playerpos2d.angle_to_point(mypos2d) + playerheading - PI/2, PI*2) + PI*2, PI*2)
if angle > PI:
angle = angle - PI*2
# (check)
# print(str(_my_id) +" : ("+ str(distance) +","+ str(angle) +")")
# calculate gain
var gain = 1 - distance/audible_range_max
# send to the patch
Global._gdpd.start_message(3)
Global._gdpd.add_symbol("panvol")
Global._gdpd.add_float(gain)
Global._gdpd.add_float(angle)
Global._gdpd.finish_list("fromGodot" + String(_my_id))
func _physics_process(delta):
if Input.is_action_just_pressed("guide"):
_gg = not _gg
if _gg:
set_guide(1)
else:
set_guide(0)
print("pressed" + str(_gg))
func _exit_tree():
Global.close_patch(_my_id)
func _save_patch():
# save patch
# prepare directory
var patch_name = _my_patch.split("/")[-1]
var patch_dir = _my_patch.trim_suffix(patch_name)
var dir = Directory.new()
dir.make_dir_recursive(patch_dir)
# save to file
var file = File.new()
file.open(_my_patch, File.WRITE)
file.store_string(patch)
file.close()

View file

@ -1,257 +0,0 @@
#N canvas 0 82 446 513 12;
#X obj 21 22 r fromGodot\$0;
#X obj 21 46 list trim;
#X obj 303 253 hsl 100 20 -1 1 0 0 empty empty empty -2 -10 0 12 #fcfcfc #000000 #000000 0 1;
#X obj 300 349 line~;
#X msg 300 325 \$1 100;
#X obj 300 278 expr ($f1 + 1)/8;
#X floatatom 300 302 5 0 0 0 - - - 0;
#N canvas 68 97 450 300 pan2~ 0;
#X obj 51 98 cos~;
#X obj 111 98 cos~;
#X obj 33 128 *~;
#X obj 93 128 *~;
#X obj 33 158 outlet~;
#X obj 93 158 outlet~;
#X obj 33 24 inlet~;
#X obj 111 24 inlet~;
#X obj 111 74 +~ 0.75;
#X connect 0 0 2 1;
#X connect 1 0 3 1;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 6 0 2 0;
#X connect 6 0 3 0;
#X connect 7 0 8 0;
#X connect 7 0 0 0;
#X connect 8 0 1 0;
#X restore 199 437 pd pan2~;
#X obj 199 467 dac~ 1 2;
#X obj 199 407 *~;
#X obj 189 230 line~;
#X msg 189 206 \$1 100;
#X obj 189 127 unpack f f;
#X floatatom 296 159 5 0 0 0 - - - 0;
#X obj 296 182 sin;
#X floatatom 296 206 5 0 0 0 - - - 0;
#X floatatom 189 177 5 0 0 0 - - - 0;
#N canvas 197 23 1016 855 synth 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X array \$0-pitches 16 float 3;
#A 0 7.32 9.26 105 9.35 9.94 8.81 9 8 9 12 62 15 15 16 16 18;
#X coords 0 127 16 0 50 50 1 0 0;
#X restore 852 116 graph;
#X obj 25 325 array get \$0-pitches;
#X floatatom 26 425 5 0 0 0 - - - 0;
#X obj 25 179 metro 0.25 120 permin;
#X obj 25 153 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 25 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X msg 78 149 tempo \$1 permin;
#X floatatom 78 124 5 0 300 2 BPM - - 0;
#X obj 25 234 f;
#X obj 69 233 + 1;
#X floatatom 25 282 5 0 0 0 - - - 0;
#X obj 25 305 hradio 15 1 0 16 empty empty empty 0 -8 0 10 #fcfcfc #000000 #000000 0;
#X obj 65 377 > 0;
#X obj 26 401 spigot;
#X obj 25 349 trigger f f;
#X obj 26 448 mtof;
#X floatatom 26 472 5 0 0 0 - - - 0;
#X obj 55 508 pack;
#X floatatom 190 213 5 0 0 1 Slew - - 0;
#X msg 55 538 \$1 \$2;
#X obj 55 562 line~;
#X obj 55 642 phasor~;
#X obj 125 612 *~ 1.003;
#X obj 125 642 phasor~;
#X obj 125 682 expr~ $v1 - 1;
#X obj 228 409 bob~;
#X floatatom 240 361 5 0 0 0 - - - 0;
#X floatatom 286 361 5 0 0 0 - - - 0;
#X obj 228 439 hip~ 5;
#X obj 551 795 *~ 0.1;
#X obj 331 512 delwrite~ \$0-buffer 1000;
#X obj 331 482 *~;
#X obj 352 456 hsl 128 15 0 5 0 0 empty empty gain -2 -8 0 10 #fcfcc4 #000000 #000000 0 1;
#X obj 429 601 delread~ \$0-buffer 10;
#X obj 475 761 *~;
#X obj 500 652 hsl 128 15 0 127 0 0 empty empty feedback -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X floatatom 497 678 5 0 0 0 - - - 0;
#X floatatom 429 578 5 0 0 0 - - - 0;
#X obj 432 558 hsl 128 15 0 127 0 0 empty empty delay -2 -8 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 107 15 inlet;
#X floatatom 107 69 5 0 0 0 - - - 0;
#X floatatom 151 69 5 0 0 0 - - - 0;
#X floatatom 196 69 5 0 0 0 - - - 0;
#X floatatom 240 69 5 0 0 0 - - - 0;
#X floatatom 370 482 5 0 0 0 - - - 0;
#X floatatom 285 69 5 0 5 0 - - - 0;
#X floatatom 329 69 5 0 0 0 - - - 0;
#X floatatom 374 69 5 0 2 0 - - - 0;
#X obj 25 14 loadbang;
#X msg 25 38 1;
#X obj 595 82 array set \$0-pitches;
#X obj 595 113 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 595 34 loadbang;
#X obj 25 258 % 16;
#X floatatom 591 586 5 0 0 0 - - - 0;
#X obj 107 39 unpack f f f f f f f f, f 45;
#X floatatom 419 69 5 0 0 0 - - - 0;
#X obj 595 137 array get \$0-pitches;
#X msg 595 58 7.32 9.26 105 9.35 9.94 8.81 9 8 9 12 62 15 15 16 16 18;
#X msg 595 253;
#X obj 595 229 list trim;
#X obj 595 205 list prepend set;
#X obj 595 161 t a b;
#X msg 649 180 set;
#X obj 551 819 outlet~;
#X msg 598 386 43 1000 316 3.04 2.45 2.06 0.67 0.2;
#X msg 608 410 43 834.7 212 4.11 0.7 74.1 0.63 0.21;
#X msg 618 434 39 165.9 607.2 2.2 2.35 15.93 0.5 0.2;
#X msg 628 458 28 513 134.1 4.54 1.27 0.53 0.78 0.13;
#X msg 638 482 57 32 319.4 3.15 0.17 129.5 0.96 0.22;
#X msg 648 506 6 782 197.6 1.75 1.16 92.26 0.37 0.19;
#X msg 658 530 296 1.4 330.6 1.6 2 17.92 0.566 0.23;
#X msg 668 554 98.46 388.2 196 4 3.2 1.67 0.97 0.21;
#X msg 678 578 67.01 399 338 5.04 4.43 0.113 0.251 0.18;
#X msg 688 602 17 0 267 2.13 1 80.15 0.88 0.18;
#X msg 698 626 43 995 298 4.04 2.45 2.88 0.63 0.33;
#X msg 708 650 10 131 188.7 23.23 1.69 53.26 0.96 0.19;
#X obj 598 292 inlet;
#X obj 157 15 r \$0-preset;
#X obj 658 704 s \$0-preset;
#X obj 598 332 sel 1 2 3 4 5 6 7 8 9 10 11 12, f 54;
#X connect 1 0 14 0;
#X connect 2 0 15 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 5 0 8 0;
#X connect 6 0 3 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 8 0 53 0;
#X connect 9 0 8 1;
#X connect 10 0 11 0;
#X connect 11 0 1 0;
#X connect 12 0 13 1;
#X connect 13 0 2 0;
#X connect 14 0 13 0;
#X connect 14 1 12 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 19 0;
#X connect 18 0 17 1;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 20 0 22 0;
#X connect 21 0 24 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 25 0 28 0;
#X connect 26 0 25 1;
#X connect 27 0 25 2;
#X connect 28 0 29 0;
#X connect 28 0 31 0;
#X connect 29 0 64 0;
#X connect 31 0 30 0;
#X connect 32 0 31 1;
#X connect 32 0 44 0;
#X connect 33 0 34 0;
#X connect 34 0 30 0;
#X connect 34 0 29 0;
#X connect 35 0 34 1;
#X connect 35 0 36 0;
#X connect 37 0 33 0;
#X connect 38 0 37 0;
#X connect 39 0 55 0;
#X connect 40 0 7 0;
#X connect 41 0 18 0;
#X connect 42 0 26 0;
#X connect 43 0 27 0;
#X connect 45 0 32 0;
#X connect 46 0 38 0;
#X connect 47 0 35 0;
#X connect 48 0 49 0;
#X connect 49 0 4 0;
#X connect 51 0 57 0;
#X connect 52 0 58 0;
#X connect 53 0 10 0;
#X connect 54 0 29 1;
#X connect 55 0 40 0;
#X connect 55 1 41 0;
#X connect 55 2 42 0;
#X connect 55 3 43 0;
#X connect 55 4 45 0;
#X connect 55 5 46 0;
#X connect 55 6 47 0;
#X connect 55 7 56 0;
#X connect 56 0 54 0;
#X connect 57 0 62 0;
#X connect 58 0 50 0;
#X connect 60 0 59 0;
#X connect 61 0 60 0;
#X connect 62 0 61 0;
#X connect 62 1 63 0;
#X connect 63 0 59 0;
#X connect 65 0 79 0;
#X connect 66 0 79 0;
#X connect 67 0 79 0;
#X connect 68 0 79 0;
#X connect 69 0 79 0;
#X connect 70 0 79 0;
#X connect 71 0 79 0;
#X connect 72 0 79 0;
#X connect 73 0 79 0;
#X connect 74 0 79 0;
#X connect 75 0 79 0;
#X connect 76 0 79 0;
#X connect 77 0 80 0;
#X connect 78 0 55 0;
#X connect 80 0 65 0;
#X connect 80 1 66 0;
#X connect 80 2 67 0;
#X connect 80 3 68 0;
#X connect 80 4 69 0;
#X connect 80 5 70 0;
#X connect 80 6 71 0;
#X connect 80 7 72 0;
#X connect 80 8 73 0;
#X connect 80 9 74 0;
#X connect 80 10 75 0;
#X connect 80 11 76 0;
#X restore 80 300 pd synth;
#X obj 21 120 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 361 21 loadbang;
#X obj 21 70 route bang panvol param preset;
#X obj 20 470 *~;
#X obj 38 446 vline~;
#X msg 38 422 0 \, 1 1000 300;
#X obj 38 398 loadbang;
#X msg 361 51 \; pd dsp 1;
#X connect 0 0 1 0;
#X connect 1 0 20 0;
#X connect 2 0 5 0;
#X connect 3 0 7 1;
#X connect 4 0 3 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 7 0 8 0;
#X connect 7 1 8 1;
#X connect 9 0 7 0;
#X connect 10 0 9 1;
#X connect 11 0 10 0;
#X connect 12 0 16 0;
#X connect 12 1 13 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 2 0;
#X connect 16 0 11 0;
#X connect 17 0 9 0;
#X connect 20 0 18 0;
#X connect 20 1 12 0;
#X connect 20 2 17 0;
#X connect 20 3 17 1;
#X connect 22 0 21 1;
#X connect 23 0 22 0;
#X connect 24 0 23 0;

View file

@ -1,21 +1,8 @@
extends Control
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass
yield(get_tree().create_timer(0.5), "timeout")
$AudioStreamPlayer.play()
func _on_Timer_timeout():
queue_free()
pass # Replace with function body.

View file

@ -1,10 +1,12 @@
[gd_scene load_steps=4 format=2]
[gd_scene load_steps=5 format=2]
[ext_resource path="res://tenniscourts/GodoM.otf" type="DynamicFontData" id=1]
[ext_resource path="res://tenniscourts/text.gd" type="Script" id=2]
[ext_resource path="res://tenniscourts/intro.mp3" type="AudioStream" id=3]
[sub_resource type="DynamicFont" id=1]
size = 80
size = 20
extra_spacing_bottom = 10
font_data = ExtResource( 1 )
[node name="text" type="Control"]
@ -22,11 +24,37 @@ margin_bottom = 498.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "희주씨 화이팅!!!!!"
text = "위치 이동 key
w 앞 s 뒤 a 왼쪽 d 오쪽 S 뒤로
Space 점프
마우스로 좌우로 움직여 바라보는 방향 설정
6개의 장소 이동 >> 1 2 3 4 5 6 숫자키로 선택
마우스 캡쳐 켜고/끄기 -> esc
게임 끝 -> cmd-Q
g키 - 장소에서 주요한 위치와 방향을 가늠할 수 있는 소리신호 on/off
b키 - 진동위주 로우톤으로 소리가 출력 on/off
"
[node name="RichTextLabel2" type="RichTextLabel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 408.0
margin_top = 490.0
margin_right = 1295.0
margin_bottom = 933.0
size_flags_horizontal = 2
size_flags_vertical = 2
custom_fonts/normal_font = SubResource( 1 )
text = "10도 정도 기울어진 큰 경사면 세계 위, 중앙에서 왼쪽 지점 정도에서 당신은 서 있습니다. 당신의 오른편에 큰 구조물이 보입니다. 완만하고 넓은 경사면과 수직으로 솟아 있는 직사각면이 있습니다. 직사각면에서 무수히 많은 공들이 튀어나와 반대편 경사면에 다시 튀는 것을 반복하고 있는 상황입니다. 수직으로 솟은 직사각형은 짙은 회색이고, 넓은 경사면은 하늘색이고 그둘 사이를 가로질러 다닐 수 있습니다. 조금 시간이 지나면 경사면 너머로 아주 커다란 원기둥이, 동전모양의 원기둥이 하늘에서 떨어집니다. 여러개가 떨어져서 경사지면을 타고 흘러갈 수도 있고, 붕괴되어 쌓일 수도 있습니다.
"
[node name="Timer" type="Timer" parent="."]
wait_time = 10.0
wait_time = 145.0
one_shot = true
autostart = true
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 3 )
volume_db = -5.0
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]