fully playable game
This commit is contained in:
1 parent
636598610c
commit
3ab9dcd48e
15 files changed
+178
-36
No files matched your search
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+136
-36
@@ -2,7 +2,10 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
init python:
|
init python:
|
||||||
renpy.music.register_channel("ambient", "sfx")
|
renpy.music.register_channel("ambient_generator", "ambient", loop=True)
|
||||||
|
renpy.music.register_channel("ambient_server", "ambient", loop=True)
|
||||||
|
renpy.music.register_channel("ambient_wind", "ambient", loop=True)
|
||||||
|
renpy.music.register_channel("footsteps", "ambient", loop=False)
|
||||||
|
|
||||||
_game_menu_screen = None
|
_game_menu_screen = None
|
||||||
_skipping = False
|
_skipping = False
|
||||||
@@ -45,7 +48,6 @@ screen journal():
|
|||||||
frame:
|
frame:
|
||||||
align (0.5, 0.5)
|
align (0.5, 0.5)
|
||||||
xsize 700 ysize 500
|
xsize 700 ysize 500
|
||||||
background "#333333"
|
|
||||||
vbox:
|
vbox:
|
||||||
text "МЫСЛИ" size 50
|
text "МЫСЛИ" size 50
|
||||||
for entry in journal:
|
for entry in journal:
|
||||||
@@ -117,20 +119,35 @@ screen terminal_rhythm_screen():
|
|||||||
|
|
||||||
transform slow_zoom_pan:
|
transform slow_zoom_pan:
|
||||||
zoom 1.0
|
zoom 1.0
|
||||||
linear 15.0 zoom 1.05
|
linear 15.0 zoom 1.02
|
||||||
linear 15.0 zoom 1.0
|
linear 15.0 zoom 1.0
|
||||||
repeat
|
repeat
|
||||||
|
|
||||||
|
transform shake_effect(rate=0.090):
|
||||||
|
zoom 1.1 align (0.5, 0.5)
|
||||||
|
linear rate xoffset 2 yoffset -6
|
||||||
|
linear rate xoffset -2.8 yoffset -2
|
||||||
|
linear rate xoffset 2.8 yoffset -2
|
||||||
|
linear rate xoffset -2 yoffset -6
|
||||||
|
linear rate xoffset +0 yoffset +0
|
||||||
|
|
||||||
|
define chapter_title = Character(None,
|
||||||
|
what_xalign=0.5,
|
||||||
|
what_yalign=0.4,
|
||||||
|
window_yalign=0.5,
|
||||||
|
window_background = None
|
||||||
|
)
|
||||||
|
|
||||||
label start:
|
label start:
|
||||||
scene black
|
scene black
|
||||||
|
|
||||||
play sound "audio/typing.ogg" loop fadein 0.5
|
play sound "audio/typing.ogg" loop fadein 0.5
|
||||||
|
|
||||||
show text "{size=150}{cps=2}ТИШИНА{/cps}{/size}" with dissolve
|
chapter_title "{size=150}{cps=5}ТИШИНА{/cps}{/size}" with dissolve
|
||||||
pause 2.0
|
pause 2.0
|
||||||
hide text with dissolve
|
hide text with dissolve
|
||||||
|
|
||||||
show text "{size=120}{cps=2}20.04.2023{/cps}{/size}" with dissolve
|
chapter_title "{size=120}{cps=5}20.04.2023{/cps}{/size}" with dissolve
|
||||||
pause 2.0
|
pause 2.0
|
||||||
hide text with dissolve
|
hide text with dissolve
|
||||||
|
|
||||||
@@ -150,6 +167,12 @@ label phase_1_intro:
|
|||||||
$ routine_tasks = 0
|
$ routine_tasks = 0
|
||||||
|
|
||||||
scene bg_room at slow_zoom_pan with dissolve
|
scene bg_room at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
play music "audio/main_theme.ogg"
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.6, delay=0, channel='ambient_generator')
|
||||||
|
play ambient_generator "audio/generator.ogg"
|
||||||
|
|
||||||
"Я просыпаюсь. Шум генератора — единственное, что доказывает, что я еще здесь. Но сегодня этот звук другой. Он надтреснутый, хриплый, как дыхание умирающего."
|
"Я просыпаюсь. Шум генератора — единственное, что доказывает, что я еще здесь. Но сегодня этот звук другой. Он надтреснутый, хриплый, как дыхание умирающего."
|
||||||
"Индикатор на консоли мигает тусклым оранжевым. 100\%. Это последняя порция топлива. Последние искры жизни этой консервной банки."
|
"Индикатор на консоли мигает тусклым оранжевым. 100\%. Это последняя порция топлива. Последние искры жизни этой консервной банки."
|
||||||
"Семь лет назад я считал эту станцию своей крепостью. Теперь — это мой склеп, где я сам себе надсмотрщик, а генератор — мой метроном, отсчитывающий секунды до полной темноты."
|
"Семь лет назад я считал эту станцию своей крепостью. Теперь — это мой склеп, где я сам себе надсмотрщик, а генератор — мой метроном, отсчитывающий секунды до полной темноты."
|
||||||
@@ -161,7 +184,10 @@ label phase_1_intro:
|
|||||||
jump routine_loop
|
jump routine_loop
|
||||||
|
|
||||||
label routine_loop:
|
label routine_loop:
|
||||||
scene bg_room with fade
|
if "bg_room" not in renpy.get_showing_tags("master"):
|
||||||
|
scene bg_room at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.6, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
if routine_tasks >= 3:
|
if routine_tasks >= 3:
|
||||||
jump start_game_proper
|
jump start_game_proper
|
||||||
@@ -172,7 +198,14 @@ label routine_loop:
|
|||||||
"Налить остывший кофе" if not coffee_done:
|
"Налить остывший кофе" if not coffee_done:
|
||||||
$ coffee_done = True
|
$ coffee_done = True
|
||||||
$ routine_tasks += 1
|
$ routine_tasks += 1
|
||||||
scene bg_room_coffee with fade
|
|
||||||
|
play footsteps "audio/footsteps.ogg"
|
||||||
|
pause 1.0
|
||||||
|
|
||||||
|
scene bg_room_coffee at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
play sound "audio/pouring.ogg"
|
||||||
|
|
||||||
"Чашка холодная, стенки покрыты въевшимся коричневым налетом. Я смотрю на эту мутную жидкость и вспоминаю, как раньше мы спорили о том, какой сорт кофе лучше — с кислинкой или с горчинкой."
|
"Чашка холодная, стенки покрыты въевшимся коричневым налетом. Я смотрю на эту мутную жидкость и вспоминаю, как раньше мы спорили о том, какой сорт кофе лучше — с кислинкой или с горчинкой."
|
||||||
"Теперь мне всё равно. Это просто топливо. Жидкая горечь, чтобы хоть как-то почувствовать себя живым. Я делаю глоток, и холод металла чашки обжигает губы сильнее, чем сам напиток. Это вкус прощания."
|
"Теперь мне всё равно. Это просто топливо. Жидкая горечь, чтобы хоть как-то почувствовать себя живым. Я делаю глоток, и холод металла чашки обжигает губы сильнее, чем сам напиток. Это вкус прощания."
|
||||||
jump routine_loop
|
jump routine_loop
|
||||||
@@ -180,7 +213,14 @@ label routine_loop:
|
|||||||
"Подойти к окну и стереть иней" if not window_done:
|
"Подойти к окну и стереть иней" if not window_done:
|
||||||
$ window_done = True
|
$ window_done = True
|
||||||
$ routine_tasks += 1
|
$ routine_tasks += 1
|
||||||
scene bg_room_iney with fade
|
|
||||||
|
play footsteps "audio/footsteps.ogg"
|
||||||
|
pause 1.0
|
||||||
|
|
||||||
|
scene bg_room_iney at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
play sound "audio/glass_rub.ogg"
|
||||||
|
|
||||||
"Стекло промерзло насквозь. Я провожу рукавом, оставляя длинную, неровную полосу. Иней осыпается, как пепел."
|
"Стекло промерзло насквозь. Я провожу рукавом, оставляя длинную, неровную полосу. Иней осыпается, как пепел."
|
||||||
"За окном — только серая, бескрайняя пелена. Ни горизонта, ни неба. Иногда мне кажется, что я нахожусь не на станции связи, а внутри собственного разума, куда забыли подать свет."
|
"За окном — только серая, бескрайняя пелена. Ни горизонта, ни неба. Иногда мне кажется, что я нахожусь не на станции связи, а внутри собственного разума, куда забыли подать свет."
|
||||||
"Я вглядываюсь в это 'ничто', надеясь увидеть хоть что-то, кроме собственного бледного отражения. Но вижу лишь глаза человека, который три года назад решил, что ожидание лучше, чем риск."
|
"Я вглядываюсь в это 'ничто', надеясь увидеть хоть что-то, кроме собственного бледного отражения. Но вижу лишь глаза человека, который три года назад решил, что ожидание лучше, чем риск."
|
||||||
@@ -189,7 +229,14 @@ label routine_loop:
|
|||||||
"Проверить статус генератора" if not power_done:
|
"Проверить статус генератора" if not power_done:
|
||||||
$ power_done = True
|
$ power_done = True
|
||||||
$ routine_tasks += 1
|
$ routine_tasks += 1
|
||||||
scene bg_room_generator with fade
|
|
||||||
|
play footsteps "audio/footsteps.ogg"
|
||||||
|
pause 1.0
|
||||||
|
|
||||||
|
scene bg_room_generator at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(1, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
"Я подхожу к главному щитку. Индикаторы мерцают, как нервные окончания, готовые вот-вот перегореть. Семь лет эксплуатации — это не шутки. Сегодня он сдастся."
|
"Я подхожу к главному щитку. Индикаторы мерцают, как нервные окончания, готовые вот-вот перегореть. Семь лет эксплуатации — это не шутки. Сегодня он сдастся."
|
||||||
"Генератор стонет под нагрузкой. Я касаюсь рычага, чувствуя его дрожь. Если я сейчас уйду — он просто сгорит. Если останусь — буду жечь последние крохи энергии на поддержание пустоты."
|
"Генератор стонет под нагрузкой. Я касаюсь рычага, чувствуя его дрожь. Если я сейчас уйду — он просто сгорит. Если останусь — буду жечь последние крохи энергии на поддержание пустоты."
|
||||||
"Каждый мой шаг здесь — это повторение того, от чего я пытаюсь сбежать, но я не могу позволить станции заглохнуть раньше времени. Это моё единственное наследие, мой памятник трусости."
|
"Каждый мой шаг здесь — это повторение того, от чего я пытаюсь сбежать, но я не могу позволить станции заглохнуть раньше времени. Это моё единственное наследие, мой памятник трусости."
|
||||||
@@ -204,13 +251,13 @@ label start_game_proper:
|
|||||||
jump main_loop
|
jump main_loop
|
||||||
|
|
||||||
label main_loop:
|
label main_loop:
|
||||||
|
$ renpy.music.set_volume(0.0, delay=0.2, channel='ambient_wind')
|
||||||
|
|
||||||
if battery <= 0:
|
if battery <= 0:
|
||||||
jump ending_silence
|
jump ending_silence
|
||||||
|
|
||||||
show screen game_ui
|
show screen game_ui
|
||||||
|
|
||||||
# play ambient "audio/ambient_low_hum.ogg" fadein 2.0 loop
|
|
||||||
|
|
||||||
"Станция ждет. Сегодня всё закончится. Что я буду делать, пока ещё есть свет?"
|
"Станция ждет. Сегодня всё закончится. Что я буду делать, пока ещё есть свет?"
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
@@ -233,18 +280,27 @@ label main_loop:
|
|||||||
jump phase_3_culmination
|
jump phase_3_culmination
|
||||||
|
|
||||||
label qte_date_input:
|
label qte_date_input:
|
||||||
scene bg_desk_close with fade
|
play footsteps "audio/footsteps.ogg"
|
||||||
# play sound "audio/keyboard_clack.ogg"
|
pause 1.0
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.4, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
|
if "bg_room" not in renpy.get_showing_tags("master"):
|
||||||
|
scene bg_desk_close at slow_zoom_pan with fade
|
||||||
|
else:
|
||||||
|
scene bg_desk_close at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
"Рабочий стол. Слой пыли здесь настолько толстый, что кажется, будто никто не садился сюда вечность."
|
"Рабочий стол. Слой пыли здесь настолько толстый, что кажется, будто никто не садился сюда вечность."
|
||||||
"Курсор на экране терминала мигает в ритме моего пульса. Сегодня двадцатое апреля, двадцать третьего года."
|
"Курсор на экране терминала мигает в ритме моего пульса. Сегодня двадцатое апреля, двадцать третьего года."
|
||||||
"Ровно три года с того дня, когда всё пошло прахом. Три года тишины, которую я сам на себя наложил."
|
"Ровно три года с того дня, когда всё пошло прахом. Три года тишины, которую я сам на себя наложил."
|
||||||
"Чтобы получить доступ к архиву за тот день, система требует подтвердить текущую дату. Словно издевается, заставляя меня признать, сколько времени я потратил на это самобичевание."
|
"Чтобы получить доступ к архиву за тот день, система требует подтвердить текущую дату. Словно издевается, заставляя меня признать, сколько времени я потратил на это самобичевание."
|
||||||
|
|
||||||
|
play sound "audio/typing.ogg" loop
|
||||||
$ date_input = renpy.input("Введите сегодняшнюю дату (ДД.ММ.ГГГГ):", length=10)
|
$ date_input = renpy.input("Введите сегодняшнюю дату (ДД.ММ.ГГГГ):", length=10)
|
||||||
|
stop sound
|
||||||
|
|
||||||
if date_input == "20.04.2023":
|
if date_input == "20.04.2023":
|
||||||
# play sound "audio/access_granted.ogg"
|
play sound "audio/access_granted.ogg"
|
||||||
"Экран на мгновение вспыхивает ярким, почти болезненным белым цветом. Система приняла ввод."
|
"Экран на мгновение вспыхивает ярким, почти болезненным белым цветом. Система приняла ввод."
|
||||||
"Я вхожу в архив. Передо мной всплывают логи трехлетней давности. Двадцатое апреля, двадцатый год."
|
"Я вхожу в архив. Передо мной всплывают логи трехлетней давности. Двадцатое апреля, двадцатый год."
|
||||||
"Я помню этот день по секундам. День, когда я должен был сказать одно слово, но вместо этого промолчал."
|
"Я помню этот день по секундам. День, когда я должен был сказать одно слово, но вместо этого промолчал."
|
||||||
@@ -253,7 +309,7 @@ label qte_date_input:
|
|||||||
$ fragments += 1
|
$ fragments += 1
|
||||||
$ journal.append("20.04.2020. Дата моего заточения. Спустя три года я наконец-то открыл архив, который так боялся увидеть.")
|
$ journal.append("20.04.2020. Дата моего заточения. Спустя три года я наконец-то открыл архив, который так боялся увидеть.")
|
||||||
else:
|
else:
|
||||||
# play sound "audio/access_denied.ogg"
|
play sound "audio/access_denied.ogg"
|
||||||
"На экране высветилось: 'ОШИБКА ДОСТУПА'."
|
"На экране высветилось: 'ОШИБКА ДОСТУПА'."
|
||||||
"Даже простая проверка даты выбивает меня из колеи. Мои руки дрожат так сильно, что я путаю цифры."
|
"Даже простая проверка даты выбивает меня из колеи. Мои руки дрожат так сильно, что я путаю цифры."
|
||||||
"Я чувствую, как с каждой неудачной попыткой станция становится всё холоднее. Или это просто моё отчаяние?"
|
"Я чувствую, как с каждой неудачной попыткой станция становится всё холоднее. Или это просто моё отчаяние?"
|
||||||
@@ -262,17 +318,24 @@ label qte_date_input:
|
|||||||
jump main_loop
|
jump main_loop
|
||||||
|
|
||||||
label qte_corridor_puzzle:
|
label qte_corridor_puzzle:
|
||||||
scene bg_corridor with fade
|
play footsteps "audio/footsteps.ogg"
|
||||||
# play sound "audio/wind_echo.ogg"
|
pause 1.0
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.2, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.8, delay=0.2, channel='ambient_wind')
|
||||||
|
play ambient_wind "audio/wind.ogg"
|
||||||
|
|
||||||
|
scene bg_corridor at slow_zoom_pan with fade
|
||||||
|
|
||||||
"Коридор. Место, где время растянулось, как жевательная резинка."
|
"Коридор. Место, где время растянулось, как жевательная резинка."
|
||||||
"В конце — разбитое зеркало. Я смотрю в него, и мои глаза встречаются с глазами человека, который проиграл эту жизнь три года назад."
|
"В конце — разбитое зеркало. Я смотрю в него, и мои глаза встречаются с глазами человека, который проиграл эту жизнь три года назад."
|
||||||
"Оно разбито на четыре неравных куска. Я вижу в этих осколках фрагменты того самого дня. Если я соберу их... если я заставлю себя посмотреть на них..."
|
"Оно разбито на четыре неравных куска. Я вижу в этих осколках фрагменты того самого дня. Если я соберу их... если я заставлю себя посмотреть на них..."
|
||||||
|
|
||||||
call screen corridor_puzzle_screen
|
call screen corridor_puzzle_screen
|
||||||
$ result = _return
|
|
||||||
|
|
||||||
if not result:
|
if not _return:
|
||||||
|
play sound "audio/glass_break.ogg"
|
||||||
"Я смотрю на пустые места в зеркале. Я не могу... Руки не слушаются. В голове только шум и липкий страх."
|
"Я смотрю на пустые места в зеркале. Я не могу... Руки не слушаются. В голове только шум и липкий страх."
|
||||||
"Я слишком слаб, чтобы видеть всё это целиком. Может быть, позже..."
|
"Я слишком слаб, чтобы видеть всё это целиком. Может быть, позже..."
|
||||||
jump main_loop
|
jump main_loop
|
||||||
@@ -290,8 +353,12 @@ label qte_corridor_puzzle:
|
|||||||
jump main_loop
|
jump main_loop
|
||||||
|
|
||||||
label qte_terminal_rhythm:
|
label qte_terminal_rhythm:
|
||||||
scene bg_terminal with fade
|
play footsteps "audio/footsteps.ogg"
|
||||||
# play sound "audio/terminal_hum.ogg"
|
pause 1.0
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.6, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
|
scene bg_terminal at slow_zoom_pan with fade
|
||||||
|
|
||||||
"Терминал. Моё единственное окно в мир, который меня забыл."
|
"Терминал. Моё единственное окно в мир, который меня забыл."
|
||||||
"Экран забит мусором — тысячи системных сообщений, ошибок и битых секторов. Где-то там, под слоем цифровой пыли, всё ещё лежат записи того дня."
|
"Экран забит мусором — тысячи системных сообщений, ошибок и битых секторов. Где-то там, под слоем цифровой пыли, всё ещё лежат записи того дня."
|
||||||
@@ -302,7 +369,7 @@ label qte_terminal_rhythm:
|
|||||||
call screen terminal_rhythm_screen
|
call screen terminal_rhythm_screen
|
||||||
|
|
||||||
if _return:
|
if _return:
|
||||||
# play sound "audio/success_beep.ogg"
|
play sound "audio/access_granted.ogg"
|
||||||
"Синхронизация завершена. Помехи исчезли, оставив на экране четкие строки."
|
"Синхронизация завершена. Помехи исчезли, оставив на экране четкие строки."
|
||||||
"Я прокручиваю лог вниз. Вот оно. Сообщение, которое я никогда не открывал."
|
"Я прокручиваю лог вниз. Вот оно. Сообщение, которое я никогда не открывал."
|
||||||
"Моё сердце пропускает удар. Я не отправляю ничего. Я просто читаю её последние слова, и это ранит сильнее, чем любая ошибка связи."
|
"Моё сердце пропускает удар. Я не отправляю ничего. Я просто читаю её последние слова, и это ранит сильнее, чем любая ошибка связи."
|
||||||
@@ -310,7 +377,7 @@ label qte_terminal_rhythm:
|
|||||||
$ fragments += 1
|
$ fragments += 1
|
||||||
$ journal.append("Терминал: Я открыл её последнее сообщение. Теперь я знаю, что именно я потерял.")
|
$ journal.append("Терминал: Я открыл её последнее сообщение. Теперь я знаю, что именно я потерял.")
|
||||||
else:
|
else:
|
||||||
# play sound "audio/fail_buzz.ogg"
|
play sound "audio/access_denied.ogg"
|
||||||
"Ошибка синхронизации. Архив свернулся, защищая себя от доступа."
|
"Ошибка синхронизации. Архив свернулся, защищая себя от доступа."
|
||||||
"Я снова промахнулся. Руки дрожат, экран гаснет, и я остаюсь в тишине."
|
"Я снова промахнулся. Руки дрожат, экран гаснет, и я остаюсь в тишине."
|
||||||
"Она осталась для меня неразгаданной. Снова. Всегда опаздываю — даже чтобы просто узнать правду."
|
"Она осталась для меня неразгаданной. Снова. Всегда опаздываю — даже чтобы просто узнать правду."
|
||||||
@@ -330,17 +397,29 @@ label deep_reflection:
|
|||||||
jump main_loop
|
jump main_loop
|
||||||
|
|
||||||
label phase_3_culmination:
|
label phase_3_culmination:
|
||||||
scene bg_door_to_server with dissolve
|
play footsteps "audio/footsteps.ogg"
|
||||||
# play sound "audio/heavy_door_open.ogg"
|
pause 1.0
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.1, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
|
scene bg_door_to_server at slow_zoom_pan with fade
|
||||||
|
|
||||||
"Серверная. Место, где родилась вся эта ложь."
|
"Серверная. Место, где родилась вся эта ложь."
|
||||||
"Я помню, как три года назад входил сюда, чтобы заглушить голос совести. Семь лет работы, три года молчания — всё это здесь."
|
"Я помню, как три года назад входил сюда, чтобы заглушить голос совести. Семь лет работы, три года молчания — всё это здесь."
|
||||||
|
|
||||||
jump final_choice
|
jump final_choice
|
||||||
|
|
||||||
label final_choice:
|
label final_choice:
|
||||||
|
stop music fadeout 0.3
|
||||||
|
play footsteps "audio/footsteps.ogg"
|
||||||
|
pause 1.0
|
||||||
|
|
||||||
|
$ renpy.music.set_volume(0.6, delay=0, channel='ambient_generator')
|
||||||
|
|
||||||
|
play ambient_server "audio/server.ogg"
|
||||||
|
play music "audio/final_theme.ogg"
|
||||||
|
|
||||||
|
play sound "audio/door_open.ogg"
|
||||||
scene bg_server_close with dissolve
|
scene bg_server_close with dissolve
|
||||||
# play music "audio/tension_finale.ogg" fadein 5.0
|
|
||||||
|
|
||||||
"Светодиоды на стойках серверов мигают, словно конвульсии умирающего. Воздух здесь настолько сухой и горячий, что обжигает горло при каждом вдохе."
|
"Светодиоды на стойках серверов мигают, словно конвульсии умирающего. Воздух здесь настолько сухой и горячий, что обжигает горло при каждом вдохе."
|
||||||
"На центральном терминале мерцает последний интерфейс. Если я нажму 'Ввод', пути назад не будет. Станция отключит жизнеобеспечение окончательно."
|
"На центральном терминале мерцает последний интерфейс. Если я нажму 'Ввод', пути назад не будет. Станция отключит жизнеобеспечение окончательно."
|
||||||
@@ -357,11 +436,17 @@ label final_choice:
|
|||||||
"Признать ошибки и выйти (Переосмысление)" if fragments >= 3:
|
"Признать ошибки и выйти (Переосмысление)" if fragments >= 3:
|
||||||
jump ending_reflection
|
jump ending_reflection
|
||||||
|
|
||||||
"Отправить извинения (Свет)" if fragments >= 3 and sync_points >= 3:
|
"Отправить извинения (Свет)" if fragments >= 3 and thoughts_processed >= 3:
|
||||||
jump ending_light
|
jump ending_light
|
||||||
|
|
||||||
label ending_silence:
|
label ending_silence:
|
||||||
scene black with fade
|
scene black with Fade(0.1)
|
||||||
|
|
||||||
|
stop music fadeout 0.1
|
||||||
|
stop ambient_generator fadeout 0.1
|
||||||
|
stop ambient_server fadeout 0.1
|
||||||
|
stop ambient_wind fadeout 0.1
|
||||||
|
|
||||||
"Экран погас. Вместе с ним погас и последний источник света в этом склепе."
|
"Экран погас. Вместе с ним погас и последний источник света в этом склепе."
|
||||||
"Генератор сделал последний судорожный вдох и замолчал. В этой абсолютной темноте я наконец-то слышу то, чего так боялся."
|
"Генератор сделал последний судорожный вдох и замолчал. В этой абсолютной темноте я наконец-то слышу то, чего так боялся."
|
||||||
"Ничего. Пустоту. Тишину, которая заполняет легкие вместо воздуха."
|
"Ничего. Пустоту. Тишину, которая заполняет легкие вместо воздуха."
|
||||||
@@ -369,8 +454,14 @@ label ending_silence:
|
|||||||
jump quit_after_ending
|
jump quit_after_ending
|
||||||
|
|
||||||
label ending_anger:
|
label ending_anger:
|
||||||
scene bg_server_close_broken with shake
|
scene bg_server_close_broken at shake_effect
|
||||||
# play sound "audio/glass_shatter.ogg"
|
|
||||||
|
stop music fadeout 0.1
|
||||||
|
stop ambient_generator fadeout 0.1
|
||||||
|
stop ambient_server fadeout 0.1
|
||||||
|
stop ambient_wind fadeout 0.1
|
||||||
|
|
||||||
|
play sound "audio/explosion.ogg"
|
||||||
"Гнев — это единственное, что заставляет меня чувствовать себя живым. Я срываю красную панель, сдирая кожу на пальцах до крови."
|
"Гнев — это единственное, что заставляет меня чувствовать себя живым. Я срываю красную панель, сдирая кожу на пальцах до крови."
|
||||||
"Тумблер падает вниз с хрустом ломающихся костей. Искры бьют в лицо, выжигая остатки рассудка."
|
"Тумблер падает вниз с хрустом ломающихся костей. Искры бьют в лицо, выжигая остатки рассудка."
|
||||||
"Станция умирает, и я тяну её за собой в небытие. Я зол на этот холод, на эти три года, на её молчание... я зол на себя, но мне проще сжечь этот мир, чем признать свою вину."
|
"Станция умирает, и я тяну её за собой в небытие. Я зол на этот холод, на эти три года, на её молчание... я зол на себя, но мне проще сжечь этот мир, чем признать свою вину."
|
||||||
@@ -378,26 +469,35 @@ label ending_anger:
|
|||||||
jump quit_after_ending
|
jump quit_after_ending
|
||||||
|
|
||||||
label ending_acceptance:
|
label ending_acceptance:
|
||||||
scene bg_server_close_off with fade
|
stop music fadeout 2.0
|
||||||
"Курсор мигает в ритме моего безразличия. Раз, два... Раз, два..."
|
"Курсор мигает в ритме моего безразличия. Раз, два... Раз, два..."
|
||||||
"Зачем что-то менять? Зачем бороться с энтропией, если она всё равно победит?"
|
"Зачем что-то менять? Зачем бороться с энтропией, если она всё равно победит?"
|
||||||
"Я откидываюсь на спинку кресла. Инфантильное желание просто закрыть глаза и ждать, пока тьма поглотит эту станцию, кажется единственно верным."
|
"Я откидываюсь на спинку кресла. Инфантильное желание просто закрыть глаза и ждать, пока тьма поглотит эту станцию, кажется единственно верным."
|
||||||
|
scene bg_server_close_off with dissolve
|
||||||
"Пусть всё закончится само собой. Я устал играть в героя. Я просто... буду ждать."
|
"Пусть всё закончится само собой. Я устал играть в героя. Я просто... буду ждать."
|
||||||
jump quit_after_ending
|
jump quit_after_ending
|
||||||
|
|
||||||
label ending_reflection:
|
label ending_reflection:
|
||||||
scene bg_server_close_keyboard with fade
|
scene bg_server_close_keyboard with dissolve
|
||||||
|
play sound "audio/typing.ogg"
|
||||||
"Я печатаю дрожащими пальцами: 'Я был неправ. Это была глупая, бесконечная игра в мученика, в которой не было победителей'."
|
"Я печатаю дрожащими пальцами: 'Я был неправ. Это была глупая, бесконечная игра в мученика, в которой не было победителей'."
|
||||||
"Я признаю это. Три года я строил стены из своего молчания, думая, что защищаюсь. Но я просто возвел свою собственную тюрьму."
|
"Я признаю это. Но не могу отправить сообщение."
|
||||||
|
"Три года я строил стены из своего молчания, думая, что защищаюсь. Но я просто возвел свою собственную тюрьму."
|
||||||
|
scene bg_server_close_off with dissolve
|
||||||
"Я выключаю станцию. Впервые за долгое время я чувствую, что в воздухе стало меньше гари. Я должен двигаться дальше. Я не знаю, что там, во внешнем мире, но я больше не заперт внутри себя."
|
"Я выключаю станцию. Впервые за долгое время я чувствую, что в воздухе стало меньше гари. Я должен двигаться дальше. Я не знаю, что там, во внешнем мире, но я больше не заперт внутри себя."
|
||||||
jump quit_after_ending
|
jump quit_after_ending
|
||||||
|
|
||||||
label ending_light:
|
label ending_light:
|
||||||
scene bg_server_close_light_from_monitor with fade
|
scene bg_server_close_light_from_monitor at slow_zoom_pan with dissolve
|
||||||
|
|
||||||
|
stop ambient_generator fadeout 1.0
|
||||||
|
stop ambient_server fadeout 1.0
|
||||||
|
stop ambient_wind fadeout 1.0
|
||||||
|
|
||||||
"Я направляю остатки энергии на передатчик. Каждый процент заряда — это вырванный из жизни кусок, который я отдаю за шанс сказать правду."
|
"Я направляю остатки энергии на передатчик. Каждый процент заряда — это вырванный из жизни кусок, который я отдаю за шанс сказать правду."
|
||||||
"Я пишу не для того, чтобы получить ответ. Я пишу, чтобы освободиться. 'Прости за тишину. Она была моей ошибкой'."
|
"Я пишу не для того, чтобы получить ответ. Я пишу, чтобы освободиться. 'Прости за тишину. Она была моей ошибкой'."
|
||||||
"Нажимаю 'Отправить'. Система оповещает о передаче пакета, и тут же питание отключается. Станция замирает."
|
"Нажимаю 'Отправить'. Система оповещает о передаче пакета, и тут же питание отключается. Станция замирает."
|
||||||
scene bg_exit_winter with fade
|
scene bg_exit_winter at slow_zoom_pan with dissolve
|
||||||
"Я встаю и иду к выходу. Я не оглядываюсь. Мой долг перед прошлым оплачен, а будущее... будущее наконец-то принадлежит мне."
|
"Я встаю и иду к выходу. Я не оглядываюсь. Мой долг перед прошлым оплачен, а будущее... будущее наконец-то принадлежит мне."
|
||||||
jump quit_after_ending
|
jump quit_after_ending
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user