v0.1 · Godot 4.x · MIT core// 공개 알파

Godot을 위한
메타 엔진.

parabreak는 캐릭터가 게임 바깥의 것들에 접근하게 해주는 런타임 레이어다. 세이브 파일, 메뉴, 플레이어의 지난 세션, 시스템 시계까지. 플레이어를 의식하는 게임을 엔진을 새로 짤 필요 없이 만든다.

4번째 벽, 상업적으로
플레이어가 세이브를 지웠다
Dialogic 2 호환
설치
1줄 · 애드온
35개 타입드 시그널 · 계속 추가
라이선스
MIT 코어 · 상용 OK
// scene_03 · scenario.jsonblock 1/6 · TYPE
아키비스트 // flag: NOTICED=false
대사가 평소처럼 타자를 친다
01 · block: narration
/ type · 5.0s loop
// 호환성
엔진 Godot 4.x
플러그인 Dialogic 2 호환
라이선스 MIT 코어
플랫폼 win · mac · linux

자기가 엔진인 줄 아는
엔진 레이어.

대부분의 게임 엔진은 플레이어가 거기 있는 척 안 한다. parabreak는 반대다. 세이브 파일, 대사, 메뉴, 카메라 — 이 솔기들을 1급 훅으로 노출해서 이야기가 반응할 수 있게 한다. 플러그인. 엔진.

01. 문제

메타 연출은 일회용이 된다.

'게임이 안다' 류 연출은 매번 200줄짜리 핸드롤 해킹이다. 세이브 스캔, 파일 IO, 대사 시스템 패치. 한 번 통하고 다음 패치에 깨진다.

# 깨지기 쉬운 핸드롤 if FileAccess.file_exists( "user://save_001.dat"): // 커스텀 파서. 부서지기 쉽다.
parabreak 없이훅 1개에 ~200줄
02. 프리미티브

서른다섯 개, 계속 늘어남.

세이브 조작, 대사 재작성, 선택지 잠금, 메뉴 변형, 내레이터 개입 — 전부 시나리오 JSON에 떨어뜨리는 타입드 블록이다.

{"type": "save_delete", "slot": 0, "mark_persistent": true} // 블록 하나. 그게 훅이다.
parabreak로블록 1개
03. 엔진

Godot 4.x 네이티브.

GDScript 우선. Dialogue 플러그인과 같이 돈다. 포크 안 한다. res://addons에 떨어뜨리는 애드온으로 출고.

# project.godot [autoload] parabreak="res://addons/parabreak" # 설치 끝.
설치애드온 · 포크 X

네 가지 솔기,
그 위에 서른다섯 개 훅.

메타 연출은 네 가지 프리미티브로 묶인다. parabreak는 각각에 대응하는 타입드 시나리오 블록을 가진다 — 떨어뜨리고 끝. 엔진 포크 없다. 아래 일러스트는 각 카테고리가 런타임에 어떻게 느껴지는지다. 특정 게임 스크린샷이 아니다.

A. 세이브 조작

게임이 세이브 폴더를 본다.

읽고, 이름 바꾸고, 지우고, 망가뜨리고, 슬롯과 재설치를 가로지르는 영속 플래그를 찍는다. 게임은 플레이어가 지난번에 한 짓을 기억한다.

save_deletesave_corruptpersistent_flag_setslot_renamesave_integrity_check
save_001.dat12 KB · ok
save_002.dat— 삭제됨
save_003.dat8 KB · 손상
FLAG_PLAYER_NOTICEDtrue · 영속
last_session.log3분 전
B. 대사 재작성

읽는 동안 대사가 바뀐다.

캐릭터가 너의 세이브, 이름, 직전 선택을 보고 — 문장 중간에 다시 쓴다. 반복된 선택을 잡고, 뒤로 가기를 막고, 플레이어의 행동을 기다린다.

text_corruptdialogue_reactivewait_for_actiondetect_repeat_choicedetect_back_attempt
› 아키비스트
'돌아왔네. 튜토리얼은 끝냈어?'
'…건너뛰었구나.'
내레이터: 그가 그걸 알 리 없었다.
C. UI 해체

메뉴가 거짓말하고, 흘러내리고, 거부한다.

버튼을 파괴하거나 비활성화. 슬롯 이름 바꾸기. 윈도우 제목 변경. 종료 실패. 크롬도 이제 이야기의 일부다.

ui_button_destroyui_button_disablewindow_title_settitle_screen_variantgame_quit
메인 메뉴 · v0.1
// 버튼 2개 파괴됨
D. 가짜 OS + 세계 유출 · PLUS

게임이 창 밖으로 새어 나간다.

OS 풍 가짜 다이얼로그, 클립보드 읽기/쓰기, 실시간 시계 인지, 슬롯 사칭, 씬 라이브 리로드. 자주 쓰지 마라 — 드물어야 효과가 산다.

fake_dialogclipboard_writeclipboard_readreal_time_checkfake_permission_popupslot_impersonation
알림×
아직 게임 안이다. 네가 아니라고 생각할 뿐.
취소
확인

35개 타입드 블록.
하나의 시나리오 포맷.

모든 훅은 시나리오 파일 안의 JSON 블록이다. 같은 스키마, 같은 로더, 같은 핫리로드. Core는 오픈으로 출고. Hooks + Plus는 반응형과 고급 레이어를 푼다.

01 · save_deleteCORE
save_delete
디스크에서 세이브 슬롯을 지운다.
{
"type": "save_delete",
"slot": 0,
"mark_persistent": true
}
02 · save_corruptCORE
save_corrupt
재현 가능한 방식으로 세이브를 망가뜨린다.
{
"type": "save_corrupt",
"slot": 0,
"mode": "header"
}
03 · persistent_flag_setCORE
persistent_flag_set
재설치 후에도 살아남는 플래그를 찍는다.
{
"type": "persistent_flag_set",
"key": "FLAG_PLAYER_NOTICED",
"value": true
}
04 · persistent_flag_getCORE
persistent_flag_get
여러 회차에 걸쳐 쓰인 플래그를 읽는다.
{
"type": "persistent_flag_get",
"key": "FLAG_PLAYER_NOTICED"
}
05 · ui_button_destroyCORE
ui_button_destroy
UI 버튼을 통째로 없앤다.
{
"type": "ui_button_destroy",
"target": "main_menu.quit"
}
06 · ui_button_disableCORE
ui_button_disable
버튼을 없애지 않고 회색 처리만 한다.
{
"type": "ui_button_disable",
"target": "main_menu.continue"
}
07 · window_title_setCORE
window_title_set
런타임에 OS 창 제목을 바꾼다.
{
"type": "window_title_set",
"value": "parabreak — 또 왔어?"
}
08 · slot_renameCORE
slot_rename
세이브 목록의 슬롯 이름을 바꾼다.
{
"type": "slot_rename",
"slot": 0,
"name": "archivist"
}
09 · title_screen_variantCORE
title_screen_variant
타이틀 화면을 변형판으로 바꾼다.
{
"type": "title_screen_variant",
"id": "after_first_death"
}
10 · save_integrity_checkCORE
save_integrity_check
세이브를 해시하고 변조에 반응한다.
{
"type": "save_integrity_check",
"slot": 0
}
11 · game_quitCORE
game_quit
깨끗하게 종료시키거나 거부한다.
{
"type": "game_quit",
"allow": false
}
12 · game_crashCORE
game_crash
내러티브용으로 크래시를 흉내낸다.
{
"type": "game_crash",
"style": "segfault"
}
13 · window_closeCORE
window_close
프로그램적으로 창을 닫는다.
{
"type": "window_close"
}
13개 / 13core 표시 · 총 35개 · 오픈소스 · MIT · 엔진에 포함// 블록 위에 호버하면 효과를 미리 본다 (이 페이지에선 시각 효과만)
04 · 한국 시장 신호

한국에서 만든
메타 게임을 위해.

한국 인디 씬은 메타 픽션과 4번째 벽 깨기에 가장 빨리 반응하는 시장 중 하나다. parabreak는 한국어 텍스트, 한글 시스템 메시지, 한국 인디 페스티벌 트랙을 1순위로 받는다.

01한글 narration · 자모 단위 text_corrupt · 띄어쓰기 보존
02BIC · 인디크래프트 부스 자료 템플릿 · 트레일러 자막
03text_i18n 블록 · 한국어 시나리오 변형 동시 번역
04한국어 docs · 첫 출시일부터 동시 번역
// SIGNAL 01 · DEV NOTE

왜 한국부터?

메타 게임의 임팩트는 '개발자가 나를 본다'는 감각에서 온다. 그 감각은 번역체에서 절반쯤 죽는다. parabreak의 첫 출시는 영어와 한국어를 동시에, 같은 품질로 다룬다 — 한국 개발자가 영어로 번역해 출시하는 게임에서도, 한국어 원문 게임에서도, 같은 hook이 자연스럽게 도는 식으로.


'한국 인디씬은 시스템 자체를 의심하는 게임에 관대하다. 그래서 메타 엔진의 첫 검증은 여기서 한다.'— team note, 2026.04
Steam 출시 후 가격 인상

세 티어.
하나의 설치.

엔진은 엔진이다. 티어는 블록 타입을 더 풀 뿐, 런타임 자체를 바꾸지 않는다. 필요한 티어를 사고, 나중에 업그레이드해도, 시나리오는 그대로 로드된다. 일회 결제. 구독 없음.

VN CORE · 무료
parabreak
VN Core
$0/ MIT 영구
출시 후: 그대로 무료
비주얼 노벨을 위한 코어 13개 블록. 세이브 조작, 영속 플래그, UI 버튼 제어, 타이틀 화면 변형. 오픈소스 영구.
  • 코어 블록 13개
  • 시나리오 JSON 로더
  • Godot 4.x 애드온
  • 셰이더 / 오디오 FX 없음
  • fake_dialog / real_time 없음
HOOKS
parabreak
Hooks
$49/ 일회 결제
출시 후: $69
반응형 블록 8개 추가. 셰이더와 오디오 효과, 텍스트 변형, 입력 가로채기, 반복 선택 / 뒤로가기 감지 — 플레이어가 느끼는 순간을 위한 도구.
  • Core의 모든 것
  • + 반응형 블록 8개
  • 셰이더 / 오디오 / 텍스트 FX
  • wait_for_action · detect_repeat_choice
  • Plus 블록 없음
PLUS
parabreak
Plus
$69/ 일회 결제
출시 후: $149
고급 블록 14개 추가. 가짜 OS 다이얼로그, 클립보드 읽기/쓰기, 실시간 시계, 슬롯 사칭, 씬 라이브 리로드, Discord / Steam 인지 — 드문 '방금 게임이 뭐 한 거지?' 효과들.
  • Hooks의 모든 것
  • + 고급 블록 14개
  • fake_dialog · clipboard r/w
  • scene_live_reload · text_i18n
  • discord_presence · steam_overlay
// 호환
Dialogic 2 — 바로 돈다.
parabreak의 dialogue_reactive, text_corrupt, wait_for_action, detect_repeat_choice 블록은 얇은 어댑터를 통해 Dialogic 2 타임라인에 프록시된다. 두 애드온을 같이 떨어뜨리면 끝. 패치 필요 없음.

설치 전,
실용적인 답변.

아니다. parabreak는 res://addons/parabreak 아래 표준 애드온으로 출고되고 autoload를 등록한다. Godot 4.x 정식판 위에서 그대로 업데이트하면 된다 — 우리가 엔진을 따라가지, 그 반대가 아니다.

엔진이 당신과
같이 이상해지는 곳.

parabreak는 만드는 사람과 출시하는 사람이 직접 얘기하는 규모다. 그게 일어나는 자리들.

채팅

개발 채팅

실시간 질문, 시나리오 리뷰, 빌드 공유. 한국어 / 영어 채널, 둘 다 팀이 직접 답한다.

약 340명참가 →
코드

오픈 이슈

Core는 MIT이고 공개 개발한다. 이슈 올리고, PR 보내고, 로드맵 갱신을 실시간으로 본다.

v0.1 · 18개 오픈레포 →
쇼케이스

시나리오 갤러리

커뮤니티가 올린 시나리오 JSON. 출발점으로 떨어뜨려서 쓰면 된다. 본인 것 태그하면 노출된다.

시나리오 27개 · 계속 추가둘러보기 →