Class is in session!

A free curriculum for making DDLC mods and fanworks, from your first line of Ren'Py to release day. Start with FND 101, then follow a track: 100-level courses are for beginners, 200s build on them, and 300s go deep. The lessons are still being written.

Foundations

Start here: what modding is, the rules, and the setup every other course assumes.

  • FND 100
  • Beginner

Playing mods

For players: get mods running, and keep your copy of DDLC safe.

  1. Getting DDLC and keeping a clean copy
  2. Installing a mod on Windows, macOS, and Linux
  3. Playing mods on Android
  4. Why mods need the original DDLC, not DDLC Plus
  5. Antivirus warnings, missing files, and other common fixes
  • FND 101
  • Beginner

Your first mod

From an empty folder to a scene you can play.

  1. What a mod is, and what a fangame is
  2. Team Salvato's IP guidelines, in plain words
  3. Installing the Ren'Py SDK and a text editor
  4. Setting up the Doki Doki Modding Template
  5. A tour of the project: the game folder, scripts, and archives
  6. Writing your first scene
  7. Launching, testing, and fixing your first error

Ren'Py and scripting

The engine behind DDLC, from your first line of dialogue to effects that break the fourth wall.

  • RPY 101
  • Beginner
  • After FND 101

Ren'Py basics

The statements every scene is built from.

  1. Dialogue, narration, and characters
  2. Showing backgrounds and sprites
  3. Transitions: scene, show, hide, and with
  4. Labels, jumps, and calls
  5. Menus and choices
  6. Variables and flags
  7. Playing music and sound
  • RPY 201
  • Intermediate
  • After RPY 101

Working with DDLC's code

How DDLC itself is put together, and how to build on it.

  1. How DDLC's scripts are organized
  2. Sprite codes: poses and expressions
  3. Defining your own images, backgrounds, and CGs
  4. Persistent data and repeat playthroughs
  5. The poem minigame
  6. Keeping saves working between updates
  • RPY 202
  • Intermediate
  • After RPY 101

Screens and interface code

Ren'Py's screen language, for menus and anything clickable.

  1. Screen language basics
  2. Buttons, bars, and actions
  3. Rebuilding DDLC's menus
  4. Custom textboxes and name boxes
  5. Phones, notebooks, and other in-game interfaces
  • RPY 203
  • Intermediate
  • After RPY 101

Android ports

Bring a mod to phones and tablets.

  1. What changes on Android
  2. Touch-friendly menus and text sizes
  3. Building an APK with Ren'Py
  4. Testing on real devices
  • RPY 301
  • Advanced
  • After RPY 201

Effects and the fourth wall

The tricks DDLC is famous for, done well.

  1. ATL: animating with transforms
  2. Glitches, screen tears, and visual noise
  3. Fourth-wall tricks: files, names, and the game window
  4. Python inside Ren'Py
  5. Debugging with the console and tracebacks
  6. Performance and load times

Writing

Stories, characters, and poems worth clicking through.

  • WRI 101
  • Beginner

Writing a visual novel

Plan and write a story that works on screen.

  1. Finding your premise
  2. Outlining a story
  3. Writing the club in character
  4. MC, the player, and point of view
  5. Dialogue that fits a textbox
  6. Pacing scenes across days
  • WRI 120
  • Beginner

Poetry workshop

Poems carry half of DDLC's storytelling.

  1. How each club member writes
  2. Writing poems in character
  3. Poems that tell the story
  4. Word lists for the poem game
  • WRI 201
  • Intermediate
  • After WRI 101 and RPY 101

Branching stories

Choices that matter, and endings you can actually finish.

  1. Choices that matter
  2. Routes and flags on paper
  3. Multiple endings without multiplying the work
  4. Charting a branching script
  5. Playtesting every path
  • WRI 202
  • Intermediate
  • After WRI 101

Horror and the fourth wall

Dread, meta storytelling, and heavy themes, handled with care.

  1. What DDLC teaches about slow-burn horror
  2. Foreshadowing and wrongness
  3. When the game talks to the player
  4. Writing heavy themes responsibly
  5. Content warnings that don't spoil
  • WRI 210
  • Intermediate
  • After WRI 101

Editing and feedback

Turn a finished draft into a finished mod.

  1. Self-editing a script
  2. Proofreading inside Ren'Py
  3. Finding beta readers
  4. Taking feedback and rewriting

Art and design

Sprites, backgrounds, CGs, and the interface around them.

  • ART 101
  • Beginner
  • After FND 101

Working with DDLC's art

Edit and extend the art the game already has.

  1. How DDLC sprites are put together
  2. New expressions from existing parts
  3. Outfit and pose edits
  4. Editing backgrounds, and making night versions
  5. Sizes, formats, and exporting for Ren'Py
  6. Crediting art you didn't make
  • ART 201
  • Intermediate
  • After ART 101

Original characters and art

New characters, backgrounds, and CGs that belong in the club.

  1. Designing an original character
  2. Matching DDLC's art style
  3. Drawing a full sprite set
  4. Backgrounds from scratch or from photos
  5. Composing a CG
  • ART 202
  • Intermediate
  • After ART 101

Interface design

Give your mod a look of its own.

  1. What each of DDLC's interface files does
  2. Recoloring and retheming the interface
  3. Fonts, textboxes, and readability
  4. Title screens and main menus
  5. Contrast and accessibility

Music and sound

Soundtracks and sound effects, from finding them to making your own.

  • AUD 101
  • Beginner
  • After FND 101

Music and sound for mods

Find, edit, and use audio you're allowed to use.

  1. Music you're allowed to use
  2. Finding and editing sound effects
  3. Seamless loops
  4. Audio formats, volume, and file size
  5. Channels, fades, and queues in Ren'Py
  • AUD 201
  • Intermediate
  • After AUD 101

Composing a soundtrack

Original music that carries a scene.

  1. Tools: DAWs, instruments, and sample libraries
  2. Theme and variation, the DDLC way
  3. Scoring a scene's mood
  4. Mixing and mastering basics
  5. Covers and remixes of DDLC's music

Release and community

Ship it, share it, and keep a team going.

  • PUB 101
  • Beginner
  • After FND 101

Releasing a mod

Everything between "it works on my machine" and launch day.

  1. Playtesting and bug hunting
  2. Building a release: what to ship, and what to leave out
  3. Hosting downloads
  4. A description and thumbnail that sell it
  5. Content warnings and age ratings
  6. Submitting to DDMC, and sharing it around
  7. Updates, version numbers, and changelogs
  • PUB 201
  • Intermediate
  • After PUB 101

Running a mod team

Scope, collaborate, and finish together.

  1. Scoping a project you can finish
  2. Finding and keeping collaborators
  3. Version control with Git and GitHub
  4. Credits, roles, and communication
  5. Handling criticism
  6. Avoiding burnout

Beyond mods

Video mods, fangames, and other ways to tell DDLC stories.

  • FAN 101
  • Beginner

Video mods

Tell a mod-style story as a video.

  1. What a video mod is
  2. Writing and staging for video
  3. Recording clean footage
  4. Editing, pacing, and voices
  5. Copyright and Content ID
  • FAN 301
  • Advanced
  • After RPY 201 and PUB 101

Making a standalone fangame

Leave DDLC's files behind and build a game of your own.

  1. From mod to fangame: what changes
  2. Replacing every DDLC asset
  3. Choosing an engine
  4. Distributing a fangame under the IP guidelines