Project Slippi Public Release

Writing History

Download

If you are simply looking for a download link, join the Discord. For a demo of the launch functionality, watch this video. If you are interested in learning more about the project, read on!

Introduction

It’s a tragedy — to date we have lost nearly 17 years of Melee competition data. The classic games that we love will likely never be able to be recreated or analyzed beyond what can be inferred from videos. Further, the games with videos are the lucky ones as many important games never even got that much. The goal of this post is to discuss how we can better preserve and utilize Melee data going forward and what we, as a community and a sport, stand to gain from it.

Mission

In order to explain what can be achieved by preserving data, it might help to look at a different sport that has done a decent job of it. Chess games are commonly stored using a file called a PGN. A PGN describes every move in a game of chess. When you have a single PGN, that means you can allow any chess enthusiast to step through all of the moves of a game in which Paul Morphy dominated some poor soul way back in 1858. Pretty cool.

Things get even more interesting when you have hundreds of PGNs of Morphy’s games. You can display what his favorite openings were. You can show his win rate — with both colors. Maybe you can so far as to analyze in which positions Morphy was strongest, what were his most incredible moves? What were his worst blunders?

Then what if we have millions of PGNs from a variety of chess masters? All this data can be used to create tools with the ability to enrich every aspect of the sport.

And that is exactly the mission of the project.

Create an easy to parse, data-rich replay file for Melee Make it extremely easy to obtain, upload, and share Use the replay files to enhance the fan/competitor/caster experience

So where are we?

There are untold possibilities for enhancing user experience and I simply don’t have the time to pursue them all myself. That is why everything in this project will be fully open source.

My focus so far has been to lay the groundwork required to get others involved. That said, part of getting people involved is generating excitement about the possibilities. Along with setting the groundwork, I’ve built a few features to showcase the power of having replay files. These will be discussed in the remainder of the post and my hope is that some readers will be inspired enough to become contributors.

The Replay File

I have defined a specification for the .slp replay file which can be found here. The replay file is really the heart of the entire project. The data contained includes:

Game settings

a. Character, color, port

b. Stage

c. Stocks, team attack, etc Character frame by frame info

a. Controller inputs

b. Action state, position, percent Metadata

a. Time and date game played

b. Platform played on — dolphin or console

c. More to come

Generating Replays

The easiest place to start creating replays was Dolphin. Dealing with console is a bit more challenging and I figured could be added on later. The release includes a modified Faster Melee build that includes a toggle for “plugging-in” a Slippi device to port B. By selecting Slippi in Port B and having the recording code enabled, replays will automatically be saved to the Slippi folder in the directory of the emulator.

Slippi “plugged into” Slot B

Playback

The most obvious thing to do with a data-rich replay file is having the ability to play it back. I wanted to make this as easy as possible so I decided to make a cross-platform launcher application. You can think of this a bit like Spotify but for Melee replays. Currently it has a pretty limited feature set but in the future many features could be added for sharing, discovery, and organization of replays.

To use the launcher, simply set up the location of your root replay folder and your melee ISO and then proceed to browse and launch replays.