An Interview With FishPlayStreetFighter’s Andrew Hill

Over the course of the past week, we’ve all been entranced and enamored by the fighting spirit of two very unique individuals. These individuals have … pardon the pun … managed to swim their way into our hearts and minds, just like Ryu and Ken before them, in a seemingly never ending battle for fighting game supremacy. Of course, I’m talking about Aquarius and Robert the Bruce from FishPlayStreetFighter.

In this interview with Andrew Hill, the creator of FishPlayStreetFighter, we pick his brain about how he thought fish and fighting games would be a match made in heaven, his history with video gaming, as well as the possibility of an EVO style tournament happening for his fish.

Tell us a little bit about yourself and your background.

I’ve been studying computer programming since high school and went to school at Fanshawe College in London Ontario for software development. The company I work for makes a lot of in-house software, so I’ve gotten to work in my field straight out of college and continue to develop my skills.

How did you get started with playing video games? Any specific genres you prefer over another?

I’ve been a gamer for as long as I can remember, starting with Super Mario Bros. on the NES and continuing to play anything I could get my hands on throughout my childhood. In the last couple years I’ve become a huge fan of RTS games and eSports in general, especially StarCraft II, because they rely so much on your proficiency in the game and how much you’ve practiced. The community for StarCraft II has got to be the best in the scene, and the professional players are so much fun to cheer on at tournaments.

What was the inspiration behind creating this stream?

My friends in the IT department and I saw the FishPlaysPokemon stream one day at work, and after having a good laugh at it, we started talking about other things that could be done with the same controller mechanism (fish!). We thought that Pokemon was progressing too slowly, but some kind of fighting game could produce a lot more action, so that’s how the idea was spawned.

After seeing the FishPlaysPokemon stream and coming up with a concept for a fighting game, I went out and purchased these two fish specifically for this purpose. Judging by people’s reaction to the FishPlaysPokemon stream, I knew that the fish would be under heavy scrutiny and people would be concerned for their health, so I have made a special effort to take the absolute best care of them that I can and make sure that they stay strong and healthy.

FishPlaysPokemon
“I built my own code and changed the game, but I never would have thought of any of it if I hadn’t seen FishPlaysPokemon. I make sure to reference FPP any time that someone asks how I came up with the idea, and it’s the first thing I mention in my stream description.”

What applications and hardware are you using for the stream?

Ok, so my hardware setup consists of a fish tank with a white backdrop, a webcam taped to a stool, a 25 foot USB cable running to my desktop PC down the hall, and a pair of monitors so I have room to lay out all of the components of the stream. I’m using a SNES emulator and AutoIt, an awesome super-lightweight scripting language intended for automating tasks for data entry by programmatically sending key strokes and mouse clicks.

Was it easy to create the algorithms to interpret the video feed? I personally dabbled in a little of Processing, which is Java-based, and did a crude per-pixel color comparison algorithm that detected “movement” on a webcam. Is it the same thing?

The software works how you mentioned. It’s all color detection on a per-pixel basis, and your code in Java was probably way more efficient that what I’ve got.

My script analyzes the video feed of the fish tank on my screen, logically segmenting it into a 3×3 grid. It knows which color both of the fish are, and it searches each of these 9 segments for that color. If it finds one of the colors, it sends a key press command to the video game emulator for that character. For example, if the script finds the color orange in the top right section of the tank, it tells the video game that player 1 pushed “Kick”. The script itself is very plain and very easy to understand.

I’m sure that anyone who has dabbled in programming could replicate it and I don’t expect that it will be long before we see some more very similar streams to this on Twitch. I have gotten a number of suggestions for changing the control layout on the stream, but I really enjoy the fact that it is so minimal right now and you can see exactly how the fish are influencing their characters. You can cheer Aquarius on as he slowly glides his way toward to Punch button that will grant him his victory.

FishPlayStreetFighter

Do you have plans to fine tune the gameplay? Right now, it seems like Aquarius and Robert the Bruce absolutely love jumping in tandem and would rather not fight.

I’m definitely working on improvements to the stream. Today I hope to implement a persistent score board on the stream overlay so that viewers can always see the current win-loss records of the fish for the day instead of having to wait to see the stats until the end of each fight. After that I’m adding some more control regions to the fish tank so that the fish will have a small chance to pull off some combos and special moves. Everyone is waiting for a fish to throw a Hadouken, and I think that when it finally happens it’s going to blow everybody’s minds! After that the next most popular request that I’ve been getting is to implement a virtual betting system, so that people can place wagers with imaginary money on the outcome of the fights just for fun.

There are definitely improvements that could be made to the code, though, and staggered polling would certainly be desirable, but at the moment I’m just doing my best to maintain what I have working already while dealing with negotiations and promotions.

Are you a big fighting game fan?

I’ve enjoyed my fair share of every genre, but to tell the truth, I am almost clueless when it comes to the hardcore world of professional fighting games. I see viewers in chat who obviously know what they’re talking about on the subject, throwing out terms like “BnB”, “teching”, and “downloading his opponent”, and I’m only now starting to figure out what they are referring to. I’m very familiar with terms used in the StarCraft II community, but the the fighting game community has a very unique glossary.

Why pick Street Fighter?

When I started to develop my script, I was actually using the game Double Dragon for the NES, because I played that game all the time as a kid and I remembered that it had extremely simple controls which I thought would make it easy to do. After getting the script to work though, I discovered that Double Dragon wasn’t going to work because the players can be in too many different spots, so they end up taking hours to complete a single fight because they could hardly ever get close enough to each other to fight. I picked Street Fighter II instead because it is the epitome of a classic fighting game. Great art, great music, solid game play, and a huge fan base that continues to grow with new releases by Capcom.

It says on your Twitch info that you changed games a few days ago. What was the reason for the change from Street Fighter II to Street Fighter II Turbo?

I did switch from Street Fighter II: The World Warrior to the slightly newer Street Fighter II Turbo: Hyper Fighting on the second day of streaming (there are literally 5 different console versions of Street Fighter II, and that’s not even counting arcade cabinet versions). The Turbo edition of the game adds more characters and more combos, and even has the pleasant side-effect of fixing a problem I was experiencing with repetitive character selection in The World Warrior.

Are you considering other games to add in the rotation?

There have been tons of requests for me to do the same thing for other fighting games, but for now I would really prefer to perfect my system for Street Fighter II so that we can see even better games out of the fish. After I’ve finished with Street Fighter II, I’ll see where the market stands on the matter of fish playing games and make my next choice from there.

Would you be open to hosting an EVO type event for the fish?

Hosting an EVO style tournament would be a dream come true! I would love to hear some professional Street Fighter casters analyze my fish’s fighting styles while they compete in a high-stakes game series.

Why fish?

As FishPlaysPokemon discovered, fish can make for an amazing control mechanism because they can float to anywhere in their tank, taking full advantage of a two dimensional plane (or three dimensional even if someone were to add another camera on the side of the tank, a genius idea someone mentioned to me on stream).

You only have two fish? Aquarius and Robert the Bruce? Why are they named Aquarius and Robert the Bruce?

Aquarius and Robert the Bruce are my only fish, and they were named by my fiancee. I told her I was going through with my plan, and she immediately stated that the fish should be named “Aquarius” and “Robert the Bruce”. I was happy with the name Aquarius, but the name Robert the Bruce was quite a mouthful, and I wasn’t sure if it would catch on. Do we call him Robert? Do we call him Bruce? Does he prefer his full name? However, she loves to be involved in my nerdy projects in any way she can just to show her support, and in this case giving them a set of creative and unique names was her contribution, so I went with it. As it turns out, the names have been a great success, and the stream chat is full of viewers shouting “GO AQUA!” and “THE BRUCE IS LOOSE!”.

FishPlayStreetFighterWhat was your reaction when AG said that they wanted to sponsor Aquarius? And c’mon… it’s a joke, right?

When I received the first message from Always Godlike saying that they’d like to sponsor Aquarius, I was totally shocked that they actually wanted to put their name on a fish. I mean, you see tons of professional gamers on Twitch with endorsements and sponsors and professional gaming teams, but for a fish to be sponsored? It’s just too comical. Of course I immediately accepted and we started preparing the announcement as soon as possible, and believe that the community has gotten as much of a kick out of it as I have. When it was announced on stream, there was a shouting match between opposing fans of the fish. Robert the Bruce fans wanted Robert to be sponsored and given his own headset, Aquarius fans were proud and flaunting their champion’s name while talking about his upcoming trip to EVO. It was hilarious.

Do you own any other pets?

There are also a couple dogs and a cat in the house, but I don’t plan on including them on any streams any time soon.

Has the popularity of the stream prompted you to think about maybe adding more fish? As in, new competition?

I am considering the addition of more fish, since it would allow for either a 4 fish free-for-all in a game like Super Smash Bros. or a 2v2 set up in Street Fighter. We’ll have to see…

FishPlayStreetFighterHave you been looking at the media reaction towards the channel? What do you think of it?

I’m having an extremely difficult time trying to keep up with the community’s reaction and all of the publicity the stream has received in the last couple days. I try very hard to be active in the Twitch chat as well so that people can see how deeply involved I am in the stream. I’m really just amazed at all of the news and tech sites that have covered the story, and am really glad that I could build something that would entertain so many people. Again though, and I can’t stress this enough, the concept for the control mechanism came from FishPlaysPokemon. I built my own code and changed the game, but I never would have thought of any of it if I hadn’t seen FishPlaysPokemon. I make sure to reference FPP any time that someone asks how I came up with the idea, and it’s the first thing I mention in my stream description.

Over the past couple of years or so, we’ve seen FishPlaysPokemon and even have let AI controlled characters brawl in their own Video Game Championship Wrestling Federation. Why do you think the whole idea of non-humans playing video games is so appealing?

Honestly, I really don’t know why non-human gaming is so entertaining. When computers are involved, I think that it has to do with the fact that the computer can be programmed to perform feats in the game that would be practically impossible for a human player to pull off, so there’s a sense of competition between humans and computers there. In the case of fish playing video games though, the appeal likely comes from the fact that the fish is completely oblivious to what it is doing, and yet it can accomplish something extremely entertaining in the game.

Did you know that FishPlayStreetFighter has it’s own subreddit? There’s even people with fan art and a petition to get Robert the Bruce to EVO next year!

Yeah I’m active on the FishPlayStreetFighter subreddit when I get the time, and I absolutely love the fan art that people have started to post and I really hope it continues. There are also a lot of good suggestions on there which I try to take into consideration.

FishPlayStreetFighter
by Deckz_b3g, posted on the FishPlayStreetFighter subreddit.

What’s the future of FishPlayStreetFighter?

Currently the future of FishPlaysStreetFighter is to perfect the controls of the game to make it even more entertaining to watch. Combos, special moves, staggered timing, and improved overlays are all on the to-do list. Once I’ve got it all working the way I want it to, I can look into what I’ll be streaming next.

Thanks to Andrew Hill for his time and be sure to check out FishPlayStreetFighter on Twitch! You’ll catch me there from time to time, cheering for Team Robert!

Leave a comment