ObsiKO ObsiKO Docs

Messenger & Visual Novel Views

Don't just read a manuscript written in dialogue — play it! One line of frontmatter turns a note into a messenger screen with chat messages arriving in real time, or a visual novel game screen alive with backgrounds, characters, and background music. 🎮💬

← Home: ObsiKO 101 · Related: 18-2 Character Codex & References · 18-1 E-book & Web Novel Viewer


1-Minute Summary ⏱️

1. How to Write a Script — Shared Syntax ✍️

Add view: messenger or view: visualnovel to the frontmatter, and the matching item ("Messenger View" / "Visual Novel View") appears inside the View menu (👁) at the top.

💡 Just two rules to follow: ① The view: value must be Englishmessenger/visualnovel (webnovel/book for web novels and books). Case doesn't matter, and visual novel can be shortened to vn or visual-novel, but a Korean value like 메신저뷰 won't make the item appear. ② A dialogue line must start with the <<name:image>> token to be recognized as dialogue (put it mid-sentence and it just renders as narration).

---
view: messenger
---
<<Background:alley-night.png>>
<<Seoyeon:seoyeon-default.png|-->> [10:23] Where are you? Are you here yet?
<<Minjun:minjun-hurry.png--|>> Sorry, sorry, 5 more minutes!!
<<Seoyeon:seoyeon-pouting.png!shake|-->> Overslept again, didn't you?
%%shake%%
Minjun broke into a sprint at full speed.
<<Minjun:->>
Syntax Meaning
<<name:image>> dialogue That character's line (image = expression)
<<background name:image>> Scene transition — messenger = chat wallpaper, visual novel = stage background (a type: background entry)
[10:23] Placed before a line, sets its timestamp (messenger)
# Heading A scene label (chapter marker)
A plain sentence Narration (stage directions)
> Blockquote Messenger = a pinned notice at the top (like a group chat notice 📢), visual novel = a system alert in the center of the screen
--- A divider — in visual novel, everyone exits and background music stops (scene cleanup)
%%comment%% A note that doesn't appear on screen

Alignment suffix: Attach |-- (left) or --| (right) after the image name; leave it off for center. In messenger, this becomes the speech-bubble direction (right = "me"); in visual novel, it becomes where the character stands. You can also just pick it in step 3 of << autocomplete!

Put a File Where the Dialogue Goes 📎

Put an attachment where the dialogue would go, like <<Seoyeon:seoyeon-default.png>> ![[selfie.jpg]], and —
- Image → messenger = a photo bubble (click to enlarge), visual novel = a CG in the center of the screen
- Audio ([[voice.mp3]]) → messenger = a voice message with a play button
- Any other file → messenger = a file card
- Use just the token with no text, and in messenger that character's image is sent as a photo.
- Stickers → add |sticker after the file, like ![[heart.png|sticker]], and it is sent as a big frameless picture like a chat-app sticker (messenger = in place of the bubble, visual novel = a pop-up next to the speaking character). Create a “stickers” folder in the vault and put images (png · gif · webp) there: the story toolbar's sticker button collects them, and images in that folder count as stickers even without |sticker. Animated gif/webp keep moving.

Direction Syntax 🎇 — Shared by Both Views!

Syntax Effect
![[song.mp3]] (or a line with only music) Background music — loops; when the track changes, the old track fades out while the new one fades in, overlapping into a smooth crossfade 🎵
[ding-dong](bell.mp3) inline in a sentence Sound effect — plays once, right before that line 🔔
%%shake%% %%flash%% %%fade%% Screen effects — shake · flash · fade to black (Korean aliases like %%흔들림%% also work)
!question !exclaim !sweat !heart !anger !note !sleep !sparkle after an image Emote — visual novel = a small balloon pops above the character's head, messenger = a small badge on the bubble's corner. Emoji work too: !❓ !💦 !❤️ !💢 !♪ !💤 !✨. Combine with a motion like !jump!heart (the align mark goes last: !jump!heart|--)
!jump !shake !nod after an image Emotion motion — messenger = the bubble bounces, visual novel = the character bounces (!jump/!shake/!nod)
<<name:->> Exit — messenger = a "○○ has left" system message, visual novel = the character exits the stage

2. Messenger View 💬 — Chat in Real Time

A phone frame appears in the center of the screen, and one message arrives with every click.

3. Visual Novel View 🎮 — Just Like a Game Screen

A background fills a full-screen stage, and characters stand at left, center, or right to deliver their lines.

🎬 Same manuscript, three different theaters: you can view a single script as a novel in the Web Novel View, as a chat drama in the Messenger View, or as a game in the Visual Novel View. Just change the view value!

🤖 The AI Agent knows this syntax completely: ask it "turn this novel into a messenger-view script" or "write a branching-choice visual novel episode with Seoyeon and Minjun," and it checks the registered characters' actual image filenames and produces a script that follows the syntax correctly. If a needed character doesn't exist yet, it'll create the frontmatter note first.


← Previous: Character Codex & References · Home · Next: Random Box