A beginner's field report · Rivals of Aether II Workshop

Porting Mollo to Rivals 2 with an AI

What it takes to turn a 2D fan-favorite into a 3D fighting game character, step by step. What the AI did, how it did it, and why a chat window alone could not have done it.

Character: Mollo, created by Giik, made official in Rivals of Aether (2021). Property of Aether Studios. Tools: Claude Code, Blender 5.2, TRELLIS, Grok image model, Rivals 2 Mod Kit (Unreal 5.8) Status: phase 1 finished (model, rig, 125 animations, 36 attacks). Phase 2 needs the Mod Kit. Date: 6 October 2026 · private build, not for publication

Chapter 1The goal

Rivals of Aether 2 is a platform fighter, like Smash Bros. Its developers released a free Workshop: a modding kit that lets anyone add characters to the game. The request was simple to say and big to do:

The request. "I want to port Mollo into Rivals 2 as a mod character. Read the documentation with attention and build everything. Ask me any questions you want, and take all your time."

Mollo is a moth in riot gear from the first Rivals game. His antennae are lit fuses, he wears his wings as a tattered cape, and he fights with bombs. In the first game he was a 2D pixel-art character. Rivals 2 is a 3D game. So "porting" him means rebuilding him from scratch in 3D.

What a character mod is made of

If you have never modded a fighting game, here is the shopping list. Each item is explained in the glossary at the end.

A professional studio spends weeks or months on one character, with a modeler, a rigger, animators and a designer. This report shows how far one evening of work with an AI agent got.

195 cmheight in game, antennae included
23.9ktriangles
56bones, official naming
125animations at 60 fps
36attacks with frame data and hitboxes
≈ 0.19 $paid image generation (2 images)

Chapter 2Chat vs. agent

There are two very different ways to use the same AI model.

Claude (the chat). You type, it answers with text. It can explain, plan and write code. But it lives in a window. It cannot open your files, launch Blender, download anything, or see what its code produced unless you show it.

Claude Code (the agent). The same model, given tools: a terminal on your computer, your file system, a web browser, the ability to look at images. It writes a script, runs it, looks at the result, and fixes it. You stay in charge, and it asks before anything risky.

The loop that makes the difference

Almost every useful discovery in this project came from one cycle, repeated dozens of times:

1 · Writea Blender script (for example: move the legs into a kick)
2 · RunBlender in the background, no window, a few seconds
3 · Renderpictures of the result from several angles
4 · Lookthe AI opens the pictures, spots what is wrong, goes back to 1

↻ about 45 Blender runs in this project

In a chat, you would be steps 2, 3 and 4: copy the script, paste it into Blender, take screenshots, upload them, describe what you see, copy the next fix. Possible, but slow, and error-prone for a beginner who cannot yet tell a weight-painting bug from a bone-placement bug.

Side by side

Task in this projectClaude chatClaude Code
Read the 50 pages of Workshop docsPartly: with web access, page by pageYes, then kept them as working notes
Check what is installed on your PCNoYes: found Rivals 1 and 2, Blender, Steam folders
Download the official reference skeletonsNoYes, after asking you
Generate concept art, turn it into 3DNo (it can write the prompt)Yes: called the image API and TRELLIS
Write the Blender scriptsYesYes
Run them and see the resultNo: you run them, you send screenshotsYes, headless, then looks at its own renders
Find and fix the 10 bugs of chapter 5Only through your screenshots, one round trip eachYes, each one in minutes
Bake and export 125 animationsNoYes, 1 minute 20 per full rebuild
Log into Epic, click inside UnrealNoNo: your accounts, your clicks
Play the character and judge the feelNoNo: only a player can

Be fair to the chat. A patient beginner with a chat AI could reach the same result. They would have to run every script themselves, describe every render, and catch every mistake by eye. The model's knowledge is the same; the hands and eyes are what change.

Chapter 3The build, step by step

Step 1 · doneRead the docsWorkshop guide, frame data, the original mod
Step 2 · doneAsk questions2D or 3D? Private or public? Who installs what?
Step 3 · doneConcept artFront and back, A-pose
Step 4 · doneImage → 3DTRELLIS builds a textured mesh
Step 5 · doneRig56 bones, skin weights, 7 versions
Step 6 · doneAnimate125 states, data-driven poses
Step 7 · doneAttacksFrame data, hitboxes, checks
Step 8 · doneExportFBX and textures in R2 format
Step 9 · to doMod KitInstall Unreal 5.8 kit (you)
Step 10 · to doImportMesh, animations, materials, hurtboxes
Step 11 · to doLuaBombs, fuse, flare gun aim
Step 12 · to doPlaytestBalance the knockback

Step 1 · Read before touching anything

The AI read the official Workshop documentation: installation, the 3D character pipeline (model, rig, animation, textures, export), attacks, throws, articles (projectiles), file naming, and the list of known bugs. It also found the frame data of every Mollo attack on Rivals Academy, a community wiki, as a clean data file (YAML).

Then it checked the computer: Rivals 1 and Rivals 2 were installed, Blender 5.2 too, but not the Mod Kit. It also noticed that Mollo's original sprites are locked inside the Rivals 1 game file, because he is now an official character.

Step 2 · Ask the human the real decisions

An agent should not guess what only you can decide. It asked four questions before building anything:

It then asked permission before spending money (image generation) and before downloading the official reference files.

Step 3 · Concept art

A 3D generator needs a clean picture: one character, front view, arms away from the body ("A-pose"), plain background. The AI sent the original Rivals 1 key art to an image model (Grok, through the Higgsfield API) with a detailed description. Then it asked for the back view, using the front as reference so both match. Cost: about 19 cents.

Original Rivals 1 key art of Mollo
The source: Giik's original key art.
Generated concept, back view
Generated back view, matching the front on the cover.

Step 4 · From picture to 3D model

TRELLIS is a free research model hosted on Hugging Face. It takes images and returns a textured 3D model. Given the front and the back, it built Mollo in about two minutes: 23,000 triangles, half of the Workshop budget.

TRELLIS mesh from four angles
The raw TRELLIS model. Back, three-quarter back, side, front. Note that it faces the wrong way: the first thing to fix.

The AI then measured the model against the docs: Rivals 2 wants characters facing a specific direction, standing on the ground, in centimeters, around 180 to 200 cm tall. It also opened the official reference skeletons of Zetterburn and Wrastor and read their bone names, so Mollo uses the same conventions as the real cast.

Step 5 · The skeleton, and seven attempts

Rigging means placing bones inside the model and deciding how much each bone pulls each point of the surface (the "weights"). This is where most beginners get stuck, and where the write-run-look loop earned its keep. The AI built a test that poses Mollo in six extreme ways (kick, leg back, arms up, crouch, twist, cape flap) and looked at the result after every change.

First rig attempt, mesh torn apart
Attempt 1: the model tears apart at every joint.
Final rig tests, clean deformation
Attempt 7: all six tests deform cleanly. Chapter 5 explains what went wrong in between.

Step 6 · Animation as data

Animating 125 states by hand in Blender would take weeks. Instead, the AI described each pose as a short list of rotations, in plain directions: "lift the left thigh 75 degrees forward, bend the knee 80". A script turns these lists into keyframes. Three tricks made it work:

Key frames of five animations
Six frames each from Run, F-tilt, N-air (cape spin), double jump (flip with the cape opened like wings) and the baseball bat special.

The movement set covers every state the docs list: walking, running, jumps, shields, rolls, getting hit, lying on the ground, hanging on ledges, being grabbed, holding items. These are first-pass animations, which the docs call "gameplay quality": clear poses and correct timing, not yet polished.

Step 7 · Attacks: frame data and hitboxes

In a fighting game, timing is everything. Mollo's first jab hurts on frames 6 and 7, then he needs 12 frames to recover. Each attack was built from the original numbers, so every animation lasts exactly as long as in Rivals 1:

AttackStartup / active / recoveryDamageWhat Mollo does in 3D
Jab 15 / 2 / 12 frames3 %Quick left punch
Forward tilt9 / 5 / 219 %Straight riot-boot kick
Neutral air6 / 4 + 6 / 112 + 5 %Spin with the cape-wings open
Up strong13 / 4 hits / 262+2+2+5 %Firework fountain over his head
Down special38 / 3 + 3 / 226 / 11 / 16 %Baseball bat, sweet spot at the tip

A hitbox is an invisible sphere that hurts whoever touches it. Each one was attached to a bone (a fist, a foot, the bat) with a size in centimeters. Then the AI rendered every attack at its active frame with the hitboxes drawn in red, from both sides, to check they sit where the hit visually lands.

Hitbox check renders with red spheres
Hitbox check: red spheres on the active frame of each attack, seen from the left and the right.

Step 8 · Export

Finally, everything was exported with the exact settings from the docs: one FBX file for the model and skeleton, one for the 125 animations, four textures with the official name suffixes, and an entry sheet listing every number to type into Unreal for the 36 attacks. Every step is a script, so changing one pose rebuilds everything in about a minute and a half.

Chapter 4What still needs you

Even an agent with tools hits walls. These are the parts of the project that stayed (or will stay) human.

Next steps (phase 2). Install the Mod Kit close to a drive root (for example G:\R2ModKit) and let it compile shaders, which can take an hour. Then the AI reads the Lua docs and engine files from disk, prepares the import, and writes the bomb system: four bomb types chosen by direction, a 120-frame fuse, the flare gun that detonates them, and the bat that launches them.

Chapter 5The bug log

Things go wrong, even for an AI. Here is every problem found during the build. None could have been spotted by reading code alone: each one appeared in a render. This list is the real argument for an agent that can see its own results.

Torn mesh

The model ripped apart at every joint.

TRELLIS outputs the surface in separate pieces along its texture seams, so each piece moved on its own. Fix: weld the pieces before attaching the bones (16,000 points down to 11,500).

Cape glued to legs

When Mollo kicked, the cape stretched into a sail between his leg and the floor.

The generator had fused cape and legs into one surface. Fix: from every point, shoot a ray toward the leg bone. If it crosses another surface first, that point is cape, not leg.

Bones outside the legs

The leg bones were placed along the inner edge of the legs.

The first estimate (13 cm from the center) came from the concept art. Measuring the cream-colored fur on the model gave 24 cm. Fix: place bones from the measured fur.

Sideways knees

With planted feet, the knees pointed sideways and the legs twisted.

A trial-and-error search for the knee direction found inconsistent values. Fix: compute it with the standard formula instead.

Wrong lean

The first crouch looked like sitting on a chair. The running cape stuck out in front.

For the same rotation, bones pointing up (spine) and down (legs, cape) move in opposite directions. Fix: write the rule at the top of the pose file and flip the signs.

Late punches

Hitboxes appeared at belly height, arms not yet extended.

The strike pose was reached at the end of the hitting window instead of the start. Fix: the arm snaps into the strike on the first active frame, as in real fighting games.

Mirror mistake

The flare gun pointed at the floor; the rocket was grabbed with one hand down.

Three right-arm poses were written with the left arm's directions. Fix: audit every right-side pose.

Frozen opponent

Throws would not move the grabbed opponent.

The special bone that carries the opponent (Grab_M) was never animated. Fix: give each throw a hold and a release position.

Black props

The bomb, bat, can and gun texture came out fully black.

An image created by a script is lost when the file is saved, unless it is packed inside. Fix: pack it, and protect it from the shadow-baking step.

Still open

The bat is held along the forearm instead of across it. The hanging-on-ledge position is a guess until it can be compared with a real character in the editor.

Chapter 6Do it yourself

You want to mod your own character? Here is the path, assuming you have never done it.

  1. Install the tools: Steam with Rivals 2, the Epic Games launcher and the Rivals of Aether II Mod Kit, Blender, and Claude Code.
  2. Make an empty folder for your character and open Claude Code in it.
  3. Give it the sources: the Workshop docs link (rivals2.com/workshop) and anything about your character: drawings, a wiki page, a frame data sheet.
  4. Ask it to read first and ask you questions. Answer them carefully: 2D or 3D, private or public, what you install yourself.
  5. Choose the easy road if it exists. If your character already exists as a Rivals 1 Workshop mod, the Mod Kit can import it as a 2D character almost automatically. 3D is far more work.
  6. Demand pictures. Ask for a render or a contact sheet after every step. You do not need to understand the code; you need to see whether the kick looks like a kick.
  7. Work in phases. Movement first, then normal attacks, then specials. Test in game between phases.
  8. Keep it reproducible. Ask for scripts rather than one-off clicks, so any fix rebuilds everything.
  9. Respect ownership. If the character is not yours, keep the mod private unless the owner says yes.

Set expectations. AI got this character from nothing to a full set of game-ready files in one evening. That does not make it a finished character. Generated models need cleanup, script-made animations look stiff next to hand animation, and only playtesting tells you whether the character is fun. Treat the AI as a fast, tireless assistant that still needs your eyes and your decisions.

AppendixGlossary

Mesh
The 3D shape of a character, made of thousands of small triangles.
Texture
An image wrapped around the mesh to give it color. UVs tell which part of the image goes where.
Rig / skeleton
Invisible bones inside the mesh. Moving a bone moves the part of the mesh attached to it.
Weights / skinning
How strongly each bone pulls each point of the mesh. Bad weights cause tearing and stretching.
A-pose
Standing straight, arms angled away from the body. The standard pose for building a model.
Keyframe
A pose saved at one moment. The computer fills in the frames between keyframes.
IK / FK
FK: you rotate each bone yourself. IK (inverse kinematics): you place the hand or foot, and the computer bends the elbow or knee.
Bake
Convert any clever setup (IK, constraints) into plain bone positions for every frame.
FBX
A common file format for sending models and animations from Blender to a game engine.
Frame / 60 fps
The game updates 60 times per second. Fighting games count everything in frames.
Startup / active / recovery
The three phases of an attack: winding up, hurting, recovering. Measured in frames.
Hitbox / hurtbox
Hitbox: the area that deals damage. Hurtbox: the area where a character can be hit.
BKB / KBS
Base knockback and knockback scaling: how far a hit launches, and how much more at high damage.
Strong attack
A chargeable smash attack. Holding the button makes it stronger.
Article
Rivals term for an object a character creates: projectiles, bombs, traps.
Lua
The scripting language the Workshop uses for custom behavior.
Unreal Engine
The game engine Rivals 2 is built on. The Mod Kit is a customized Unreal 5.8.
TRELLIS
A research AI that turns one or more images into a textured 3D model.
Headless
Running a program without its window, controlled entirely by a script. This is how the AI drove Blender.
Agent
An AI that can use tools (files, terminal, browser) to act, check its results, and correct itself.

Sources: Rivals 2 Workshop documentation (rivals2.com/workshop) · Rivals Academy frame data for Mollo, patch 2.1.5.6 (rivals.academy/library/mollo) · Mollo by Giik on the Rivals of Aether Steam Workshop (item 1871989159). Mollo and Rivals of Aether are property of Aether Studios. This document describes a private, non-distributed mod.