Overview
Dolphin includes comprehensive Tool-Assisted Speedrun (TAS) features that allow frame-by-frame gameplay control, input recording and playback, save states, and other tools for creating perfect gameplay sequences.What is TAS?
Tool-Assisted Speedrunning uses emulator features to create optimized gameplay recordings:- Frame advance: Progress one frame at a time
- Save states: Save/load at any point instantly
- Input recording: Record and replay controller inputs
- Re-recording: Modify previously recorded inputs
- Slowdown: Play at reduced speed for precision
TAS runs are not considered legitimate speedruns but are valuable for research, entertainment, and discovering game mechanics.
Enabling TAS Features
1
Enable TAS Input
Config > GameCube/Wii > ControllersSet controller ports to “TAS Input”
2
Open TAS Input Window
Tools > TAS InputOpens the TAS input controller window
3
Configure Hotkeys
Options > Hotkey SettingsSet hotkeys for:
- Frame advance
- Save state
- Load state
- Start/stop recording
TAS Input Window
The TAS Input window provides complete control over controller inputs:Buttons
- A, B, X, Y, Z, Start: Click to activate
- D-Pad: Up, Down, Left, Right
- L, R Triggers: Digital buttons or analog sliders
Analog Sticks
- Control Stick: X/Y coordinates (-1.0 to 1.0)
- C-Stick: X/Y coordinates
- Visual circle: Click to set position
- Numeric input: Precise coordinate entry
Wiimote Controls
- Pointer: X/Y screen coordinates
- Shake: Trigger shake motion
- Tilt: Roll, pitch, yaw controls
- Extension: Nunchuk/Classic Controller inputs
Frame Advance
Step through gameplay one frame at a time (60 FPS = 16.67ms per frame).Using Frame Advance
1
Pause Emulation
Press pause or use hotkey
2
Set Inputs
Configure desired inputs in TAS Input window
3
Advance One Frame
Press frame advance hotkeyGame processes one frame with current inputs
4
Repeat
Modify inputs and advance frame-by-frame
Frame advance is crucial for precise timing of jumps, attacks, and movement.
Input Recording
Record controller inputs to create replayable gameplay sequences.Recording Movies
1
Start Recording
Movie > Start Recording InputChoose save location for .dtm file
2
Play Normally
Play game normally or use TAS toolsAll inputs are recorded
3
Stop Recording
Movie > Stop Recording/PlaybackSaves .dtm movie file
Playing Back Movies
1
Load Movie
Movie > Play Input RecordingSelect .dtm file
2
Start Game
Game begins from initial stateRecorded inputs play automatically
3
Watch or Modify
Watch playback or start re-recording
Re-recording
Modify existing recordings:1
Load Movie for Re-record
Movie > Play Input RecordingCheck “Re-record” option
2
Play to Desired Frame
Let recording play to where you want changes
3
Provide New Inputs
Take control with new inputsRecording continues from this point with new inputs
4
Save Changes
Movie > Stop RecordingUpdated movie is saved
Save States
Instantly save and restore complete emulator state.Save State Slots
Dolphin provides 10 save state slots (0-9):State Manager
Tools > Save State Manager:- View all states: Browse saved states with screenshots
- Load any state: Double-click to load
- Delete states: Remove unwanted states
- Export/Import: Share states with others
Best Practices
State Management
State Management
- Use different slots for different points in TAS
- Save before risky maneuvers
- Name states descriptively using State Manager
- Regularly backup state files
Save State Locations
Save State Locations
Windows:macOS:Linux:
Frame Counter & Lag Detection
Display Frame Count
View > Show Frame Counter:- VI (Vertical Interrupt): Game frames rendered
- FPS: Current rendering speed
- Speed: Percentage of normal speed
Lag Frames
Lag occurs when game takes >1 frame to process:- Visible in frame counter: Lag frames noted
- Affects timing: Plan TAS around lag
- Game-dependent: Different games lag differently
Memory Watching
Monitor game memory values in real-time:1
Open Memory Tools
Tools > Cheats Manager
2
Add Watch
Right-click address > Add to Watch
3
Monitor Values
Watch window shows real-time valuesUseful for tracking position, speed, RNG, etc.
Common TAS Uses
- Position tracking: Monitor X/Y/Z coordinates
- Speed monitoring: Verify optimal movement
- RNG manipulation: Track random number generation
- Timer watching: Frame-perfect timing checks
Speed Control
Control emulation speed for precision or faster testing:Hotkeys
Slowdown for Precision
- Planning difficult sequences
- Studying game mechanics
- Identifying optimal paths
Movie File Format
Dolphin movies (.dtm) contain:- Input data: Frame-by-frame controller inputs
- Game ID: Which game the movie is for
- Start state: Initial conditions (save state or boot)
- Frame count: Total recorded frames
- Metadata: Author, description, timestamps
Sharing Movies
For movie playback to work identically:
- Use same Dolphin version
- Same game version/region
- Same Dolphin settings
- Same starting save state (if used)
Lua Scripting
Advanced TAS creators can use Lua scripts for automation:- Automated input: Generate inputs programmatically
- Memory manipulation: Read/write game memory
- Visual overlays: Display hitboxes, paths, info
- Bot assistance: AI-assisted input generation
TAS Workflow Example
1
Plan Route
Research optimal path, tricks, glitches
Watch existing speedruns for reference
2
Set Up Dolphin
Configure TAS Input for all needed controllers
Set up hotkeys for frame advance, save states
Enable frame counter and memory watch
3
Start Recording
Movie > Start Recording Input
Begin from game start or specific save state
4
TAS Frame-by-Frame
Use frame advance for precise inputs
Save states before risky sections
Re-record mistakes
5
Optimize
Review recording for improvements
Check memory values for optimality
Re-record slow sections
6
Verify & Export
Playback full movie to verify
Record video with capture tools
Share .dtm file and settings
Tips for TAS Creation
Input Precision
- Use numeric input for exact analog stick values
- Frame-perfect inputs require frame advance
- Save before attempting difficult tricks
- Watch memory values to verify success
Optimization
- Every frame counts: minimize lag and wait times
- Test multiple approaches to find fastest
- Study game mechanics deeply
- Use community knowledge and existing TASes
Recording Quality
- Use high resolution and enhancements for video
- Configure graphics settings before recording
- Disable speed limit during final recording
- Add HUD elements (input display, frame counter)
Troubleshooting
Movie Desyncs on Playback
Movie Desyncs on Playback
- Verify exact same Dolphin version
- Check game version/region matches
- Ensure settings are identical
- Confirm save state (if used) is same
- Disable “Dual Core” for better sync stability
Frame Advance Too Fast
Frame Advance Too Fast
- Reduce emulation speed limit
- Use slower hotkey repeat rate
- Consider using Lua script for controlled advance
Inputs Not Recording
Inputs Not Recording
- Verify recording is active (Movie menu shows “Stop”)
- Check TAS Input is selected in controller config
- Ensure you’re using TAS Input window, not physical controller
Save States Crash
Save States Crash
- Update to latest Dolphin version
- Don’t use states across different versions
- Verify game image is not corrupted
- Try different save slot
Community Resources
- TASVideos: Community hub for TAS creation and submission
- Dolphin Forums: TAS discussion and help
- Game-specific Discord servers: Detailed game knowledge
- YouTube: Watch existing TASes for inspiration
Recommended Settings for TAS
Disable enhancements during TAS creation for stability. Enable them when recording video for presentation.
Related Topics
Cheats & Action Replay
Memory modification and cheat codes
RetroAchievements
Achievement tracking during gameplay