From Procedural World to Pansori: Making Simcheongjeon with AI

A production journal about turning Simcheongjeon into an eight-act procedural Three.js animation and then a pansori film, with an emphasis on visual verification, rhythm, and human judgment.

A coded Simcheongjeon world and the rhythm of pansori

One question grew out of a post by Andrej Karpathy: Could a Korean classic also become an on-demand world, assembled when we ask to enter it?

That question led me to build Simcheongjeon first as a procedural Three.js world and then as a pansori animation. AI generated scenes, but repetition, human choice, and musical rhythm turned those scenes into a finished work.

What question did Karpathy’s experiment leave behind?

Karpathy’s experiment asked how far an AI that reads a story could go in constructing a world.

He gave an LLM the opening paragraph of The Lord of the Rings and asked it to build a Three.js environment. Over two hours, the model wrote thousands of lines of code, placing characters and objects in a three-dimensional space and making them move.

The post made me think of Korean classics. Could a thatched house, the sea at Indangsu, the Dragon Palace, and a lotus become moving places rather than descriptions? Could a reader enter the story instead of only reading it?

I gave the full story of Simcheongjeon to the AI.

How did Simcheongjeon become a Three.js world?

The first result was an eight-act procedural animation running 7 minutes and 26 seconds.

About 11,400 lines of TypeScript created thatched houses, hanok buildings, characters, the waves of Indangsu, the Dragon Palace, a lotus, and the royal court. I used no external 3D models or texture images.

Code became the set and the cast. It also controlled the camera, lighting, and movement of the sea.

Element Implementation
Environments Three.js geometry and procedural placement
Characters and props 3D objects generated in code
Indangsu and its waves Numeric controls and animation
Lotus and Dragon Palace Scene-specific position, rotation, and lighting
Camera Movement and gaze designed for each act
External models and textures None

At first I assumed that a sufficiently long code generation would complete the world. The actual process was different. The world improved because the generated scenes were repeatedly observed.

Why was verification more interesting than generation?

The most interesting part of the project was watching the AI inspect and correct the world it had made.

The AI captured screenshots and checked both screen coordinates and world coordinates. It compared the visible result with the positions recorded in code, then applied corrections.

The errors were surprisingly concrete.

  • Fog hid both the background and the characters.
  • The camera looked at empty space instead of the actor.
  • A wave grew large enough to swallow the entire boat.
  • Some objects rendered black under the wrong lighting conditions.
  • A character’s face pointed away from the camera.
  • The lotus rotated around the wrong axis and tilted sideways.

This was not one long piece of code produced in a single attempt.

The world emerged from a loop of making, seeing, measuring, and correcting.

In generative AI work, the first prompt is only part of the system. The AI also needs a way to observe its output and a clear standard for deciding what counts as an error.

How did the procedural world become a pansori animation?

The second phase turned a technical demonstration into a work that could be watched and heard.

The finished film has eight acts and runs for about eight minutes. I made the video with Seedance 2.5, the voices with Fish Audio, and the music with Suno AI.

The tools made production much easier than it would have been before. Designing the emotional movement of the work was not equally easy.

The hardest part was understanding that pansori is not ordinary narration.

Where does the rhythm of pansori come from?

The force of pansori comes from the drop between aniri, chang, and the drummer’s chuimsae.

Aniri carries the story in spoken narration. Chang releases emotion through song. The gosu, the drummer, adds breath and response through chuimsae. These elements do not operate at the same emotional height.

Element Role Function in the film
Aniri Spoken storytelling Connects scenes and holds emotion back
Chang Sung expression Releases grief and resolve
Chuimsae Breath and response Relieves tension or pushes the next emotion forward

I learned that aniri had to remain restrained for chang to break open. If every passage sounded intense, the scene that needed to hurt most became emotionally flat.

Simcheong’s leap into Indangsu could not be completed by visual effects alone. The weight of the moment depended on how long the voice held back and exactly when the song was allowed to rise.

What did AI make, and what did the human choose?

AI built the world, but it could not decide which moments deserved to remain.

The story of a daughter who throws herself into the sea so that her blind father may see again has carried generations of grief. Without that emotional center, even the most capable AI tools could not have filled eight minutes with meaning.

The production required continuous human choices.

  • Where should the voice stop?
  • Which scene deserves more time?
  • When should chang break open?
  • What should be removed even when it is technically possible?
  • What rhythm can carry the emotion of the original story?

The tools built a world. Choice and rhythm made that world a work.

Which tools were used?

Each tool had a defined role, while direction and editing joined the results into one movement.

Work Tool or role
Script and pansori text Claude
Video Seedance 2.5
Voices Fish Audio
Music Suno AI
Direction and editing Reasonofmoon

The connections between tools mattered more than the list itself. The emotional line of the script had to shape the duration of each shot, then continue into vocal dynamics and the space left by the music.

Watch the completed pansori animation

The finished work is available below.

Watch Simcheongjeon — An Eight-Act Pansori Animation on YouTube thumbnail YouTube Watch Simcheongjeon — An Eight-Act Pansori Animation on YouTube

Frequently asked questions

Did AI automatically turn the entire story into an animation?

AI participated in the code, scenes, voices, and music, but the production was not fully automatic. Human judgment shaped the observation and correction loop, scene selection, emotional contrast, and final edit.

Can a Three.js animation be made without external 3D models?

Yes. The first version of this project used code to construct geometry, coordinates, lighting, and animation without external models or textures. Procedural scenes still require repeated checks of camera direction and spatial coordinates.

What was the hardest part of making a pansori animation?

The hardest part was resisting constant intensity. Pansori needs restraint in aniri so that chang can arrive with force.

What role does the original classic play in generative production?

The original story supplies more than images and events. It provides the standard for deciding what to keep and what to discard. Technology can expand a scene, but the work’s emotional center still comes from the source.

Three judgments that remain

  • The quality of AI generation depends less on the first output than on the loop of observation and correction.
  • Pansori draws its emotional force from the drop between aniri and chang, not from constant volume.
  • AI can build a world, but human choice and rhythm turn that world into a work.
Comments

댓글

GitHub 계정으로 의견을 남길 수 있습니다. 댓글은 GitHub Discussions에 저장됩니다.