FRC Match Scheduler

Because I’m interested in finding out more about how the background of the FMS works, I spent a bit digging into the matchmaking algorithm and where to find it. (How on earth 1334 manages to get the first match and last match of the day almost like clockwork I have no idea)

I spent a bit working around and looking into FMS Lite, which is publicly available to download.

I found out that Tom and Cathy Saxton were the creators of the matchmaking algorithm and software, dubbed matchmaker. I found all this in the about tab of the FMS Lite, where it attributed licenses for each part of the program.

I grabbed the files linked, and started playing around with them.

I emailed Tom, asking for the source to learn about the algorithm more, I was denied but he gave me a very helpful link regarding simulated annealing.

With this link, and some friendly help from a few people in discord, we found the original mentioned c code



I think your heart is in the right place, but, just in case…

Sometimes (very often) people get annoyed if you decompile their executables, and then make use of the result.

Do(es) the executable(s)’ license(s) allow you to decompile it/them, and then publish the result (along with encouraging he general public to use/modify that source code)???


As this is done simply for educational use and evaluation, I believe it falls within the license.

I’m on a very CYA stance on this, and I’ll remove anything if requested.

This is purely educational.

It looks like your decompiled source code is much too obfuscated to gather much information. If you’d like to gather more information in a less… slightly illegal manner, you can find more info here. It looks like it was last update for 2008, but frankly not much has changed in the basic 3v3 format, so that’s unsurprising.

(I believe I’m within the law, so hopefully I’m correct)

But yes, that’s where I got the exe’s from. I was mostly interested in the algorithm, hence this post.

I’ve been looking into this, and seeing what I can get out of my uni prof’s regarding this for a bit. Seems like a cool system and algorithm.

Did you know the original c code was written for 100MHz cpus? That’s a huge bound in technology since it was originally written.

I suggest you take down anything you posted for public consumption, until after you ask for and receive explicit permission.

If anyone does want to get upset, all they would need to do to make you look bad (in order to hang you out to dry), is point to this exchange between you and me.

Saying it’s for educational and/or personal purposes is probably irrelevant for what we are discussing (we aren’t discussing using the original executables for educational purposes).

I hope you do get a thumbs up from the folks who grant the licenses.


Point taken, removed the repo.

Hopefully they’re fine with it.