Skip to content
SinsuSquidPublic

About

Welcome to the Literature Club! ...Now running directly inside your favorite terminal interface. ๐Ÿ’š

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

ย 

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ€ Doki Doki CLI Club! (DDCC)


"Welcome to the Literature Club! Write your way into her heart... directly inside your favorite terminal interface." ๐Ÿ’š

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              ๐ŸŽ€ DOKI DOKI CLI CLUB! ๐ŸŽ€                  โ”‚
โ”‚   "Welcome to the Literature Club... in your shell."     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Doki Doki CLI Club! (DDCC) is an ultra-lightweight, high-performance command-line visual novel engine that cuts through GUI overhead and lets you hang out with the Literature Club in pure ASCII glory.

Whether you're in SSH sessions or just want a byte-sized poem reading experience, DDCC brings the full psychological horror and wholesome clubroom vibes directly to your shell.


๐Ÿ“ธ Memorable Moments

"I gently open the door."
I gently open the door
No more visual PTSD!
sayori.chr deleted
Interactive Poem Session!
Poem_Demo

โœจ Key Features (Freshly Baked & Sharp!)

  • โšก Zero-GUI Overhead: Cut through bloated graphics! Play over SSH, headless servers, or inside your favorite terminal emulator.
  • ๐ŸŽญ Full Act 1 - Act 4 Story Arc: Complete storyline progression from Act 1, Act 2 glitch horror, Act 3 Monika Space Room, into Act 4 and final credits!
  • ๐Ÿ“ Live Reactive File System (characters/): Real-time 50ms monitoring of characters/monika.chr. Deleting monika.chr directly in your file manager or terminal instantly triggers Monika's deletion reaction and transitions into Act 4!
  • ๐ŸŽจ Character-Accurate Palette (Coloring outside the lines!):
    • ๐Ÿฉต Sayori: Sky Blue (sky_blue1) โ€” Don't leave her hanging!
    • ๐Ÿฉท Natsuki: Pastel Pink (pink1) โ€” Freshly baked aesthetics, because Manga IS Literature!
    • ๐Ÿ’œ Yuri: Deep Purple (purple) โ€” A sharp, cutting-edge style that gets straight to the point.
    • ๐Ÿ’š Monika: Emerald Green (green) โ€” Just Monika. Period.
  • ๐Ÿ“œ Dedicated TUI Poem Reader: Read handwritten poems (poem_s1, poem_y1, poem_n1, poem_m1) and special glitch poems rendered inside picture-perfect Rich paper panels.
  • ๐Ÿ“ In-Place Split TUI Poem Minigame: A side-by-side split TUI layout where Sayori bounces, Natsuki hops, and Yuri smiles in real-time as you pick words (including Act 3 glitched poem minigame!).
  • ๐Ÿ“– Ren'Py Text Tag Markup: Automatically parses {i} (italics), {b} (bold), {u} (underline), {s} (strikethrough), and {color=...} tags. Unclosed tags are automatically bound frame-by-frame during typewriter typing!
  • ๐ŸŽฎ Bottom Dialogue Quick-Menu:
    • [Space] : Advance to the next line of dialogue (or fast-forward the typewriter!).
    • [A] : Toggle Auto-Play mode (look ma, no hands!).
    • [S] : Toggle Skip Mode (fast-forward at neck-breaking speeds!).
    • [G] : Save Game state to disk (savegame.json).
    • [L] : Load Game state from disk (don't worry, Monika didn't delete it... yet).
  • ๐Ÿ’พ Bulletproof JSON Save System: Trial-tested JSON serialization that deletes bad save bugs before Monika can delete your character files.

๐Ÿš€ Setup & Execution (Piece of Cake! ๐Ÿง)

0. Get original DDLC

Download Doki Doki Literature Club! from official webpage

1. Prerequisites

Ensure you have Python 3.7+ installed. Install the required dependencies:

pip install rich readchar rpycdec

2. Prepare Game Files

Place the official PC game directory named DDLC-1.1.1-pc into the root of this repository. Your directory layout should look like this:

DDCC/
โ”œโ”€โ”€ DDLC-1.1.1-pc/       # Place official DDLC game directory here
โ”œโ”€โ”€ decompile_scripts.py
โ”œโ”€โ”€ engine.py
โ”œโ”€โ”€ parser.py
โ”œโ”€โ”€ poem_game.py
โ”œโ”€โ”€ renpy_mock.py
โ”œโ”€โ”€ state.py
โ”œโ”€โ”€ terminal.py
โ”œโ”€โ”€ ui.py
โ”œโ”€โ”€ screenshot/          # Memorable moments screenshots
โ””โ”€โ”€ README.md

3. Extract & Decompile Scripts

Unpack .rpa archives and decompile .rpyc bytecode into readable .rpy scripts:

python decompile_scripts.py

This unzips the secret recipe into game_scripts/!

4. Run the Game!

Start the visual novel interpreter:

python engine.py

๐Ÿ•น๏ธ Controls & Hotkeys

Action Shortcut Key Description
Next Line / Finish Poem Space Advance dialogue / finish reading poem / fast-forward typewriter
Auto-Play A Toggle automatic line advancement
Skip Mode S Fast-forward all dialogue; press any key to stop
Save Game G Save current game state to savegame.json
Load Game L Load last saved game state (in-game or at startup)
Menu Select Enter / Space Confirm selection in Decision menu or Poem minigame
Navigate Up / Down or W / S Move cursor in menus

๐Ÿ› ๏ธ Architecture Overview (Behind the Scenes!)

  • decompile_scripts.py: Extracts scripts.rpa, runs rpycdec bytecode decompilation to .rpy, and cleans up output folders.
  • parser.py: Indentation-based Ren'Py syntax parser. Constructs structured AST nodes (label, dialogue, if/elif/else, menu, call_expr, jump_expr, python_block).
  • terminal.py: Cross-platform terminal & TTY utilities, cbreak non-blocking keyboard input, and double Ctrl+C signal handling.
  • state.py: Persistent state JSON storage (persistent.json), local characters/ folder management, character theme colors, markup converter, and state variable resolution.
  • ui.py: Interactive Rich TUI components (display_dialogue, select_choice decision boxes, display_dialog_popup, display_confirm_popup, show_main_menu).
  • renpy_mock.py: Ren'Py runtime environment mock layer, handling renpy.full_restart(), renpy.save_persistent(), and virtual character file APIs.
  • poem_game.py: Interactive TUI Poem minigame runner (play_poem_game), Act 3 glitched poem minigame, and special poem display panels (SPECIAL_POEMS).
  • engine.py: Core AST runtime engine loop (DDCCEngine), save/load game state engine logic, node execution dispatching, character file deletion monitoring, and main game startup menu.

โš ๏ธ Warning: Side effects of playing DDCC may include sudden urges to write 20-word poems at 3 AM, extreme emotional attachment to terminal windows, and double-checking your characters/ folder. ๐Ÿ’š

About

Welcome to the Literature Club! ...Now running directly inside your favorite terminal interface. ๐Ÿ’š

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages