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
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
Frame advance is crucial for precise timing of jumps, attacks, and movement.
Input Recording
Record controller inputs to create replayable gameplay sequences.Recording Movies
Playing Back Movies
Re-recording
Modify existing recordings: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: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
Set Up Dolphin
Configure TAS Input for all needed controllers
Set up hotkeys for frame advance, save states
Enable frame counter and memory watch
TAS Frame-by-Frame
Use frame advance for precise inputs
Save states before risky sections
Re-record mistakes
Optimize
Review recording for improvements
Check memory values for optimality
Re-record slow sections
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