• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Visions of a robotic demon Fox.

Someone7

Smash Apprentice
Joined
Feb 23, 2007
Messages
151
Location
Florida
I was watching a video where someone introduced a minor change to Melee in the form of a hack, making it easier for Fox to use his up-b in other directions more easily than a human player normally could do. This gave me the idea that while these changes would no doubt be rejected as fundamentally altering the nature of the game, there are still very fantastic things that could be changed about the game, that would not only completely change the way the game is played, but do it without altering the way the game actually works.

My idea, of course, is making a tournament level playing AI. A Fox AI capable of utilizing any and all advanced techniques perfectly, and playing the way high level players do. An AI that knows when to edge hog, knows how to read your rolls and techs, knows how to combo (at certain percents it has preset combo strategies), never flops short-hop lasers, shinespikes you like a pro, etc, etc.

I have been out of the Melee scene for a long time. I've been living in another country for over a year now, and my wife recently purchased a Wii. It's already hacked, and I'm waiting on the gamecube controllers to get here. I want to experience the new AI that is available in the 20XX training pack, to see if it is currently anything like my vision. I'm assuming it is getting closer to it, but very far off.

I have some background in computer programming. Not a lot, but I have made programs in Python, C++ and Visual Basic, back in my college days. I want to try to help make this vision a reality; to give Melee its own version of the Super Akuma challenge from the Street Fight Alpha games.

The only way to get good is to play good people, currently. I want to change that. I want people to be able to play this game by themselves against an AI that plays equally well or better than top level tournament players. With the recent victory of a machine over the Go champion of the world, I am thinking Melee also needs our moment when the Artificial Intelligence dominates; where you can look at the best Melee players in the world and still think to yourself "They don't have a chance against Demon Fox!"

If I had one single wish for altering Melee, this would be it. I guess the next best thing would be a completely open-source version of Melee that runs on any platform and has internet matches and leaderboards and ****, but if I had to choose between these two, I'd still pick the development of actually challenging AI.

What do you people think?
 
Last edited:

Dolla Pills

Smash Ace
Joined
Mar 9, 2015
Messages
894
Location
Connecticut
Well you could probably implement some sort of computer learning to have the AI analyze how you respond to different situations and use that against you. I do see a couple potential roadblocks though:

1- I'm sure machine learning in assembly is a pain
2- You'd need a good way to save the data stored (maybe by tag?) so that the AI wouldn't lose all of its information on shut down
3- I'd imagine you'd have to make specific instructions for how the AI would react for different characters which I also imagine to be a huge pain
4- There may not be enough space for injecting code into the game to implement this well, though I'm not very knowledgeable about that

Whether these are solvable or not, it would be a huge undertaking. I'd personally love to work on it but I am way too busy and I assume most other people would be too, though it would be super cool if someone could ever pull it off
 

Pauer

The Pauerful
Moderator
Joined
Dec 25, 2013
Messages
592
Location
Linz, Austria
Moved to Melee Workshop.

My two cents:
The best way of getting started at working on Melee AIs may be to read up on @luckycharms14's work. He has started two projects involving AIs that are quite accessible.
Achilles, the creator of the 20XX hack pack with its crazy AIs stated that his methods of manipulating the AI require a very sound understanding of assembly. Luckycharms has already done a lot of groundwork for creating a framework of sorts to not require extensive knowledge of assembly, though some will be required.

The first project is called Project MeleeAI. Check out the reddit post and video about it too - cool stuff and it was received extremely well!
At first, he used an external program that communicated with dolphin to make the AI work, which would only work on Linux.
Later on he managed to implement that into the game's code. The way he does it is by using a program that converts C code into Assembly. The assembly code is then injected into the game. This makes the whole thing much easier than working with assembly directly. He shared the project on github and I messed around with it for a weekend or two. The way the project is set up and the code itself is quite messy and I think I found a bunch of mistakes. But I was able to work with it for a bit. I very quickly hit a wall since my knowledge of C and Assembly was very limited and I realized I would have some extensive reading up to do, which I didn't have the time for so I abandoned that.

The second project is called the MeleeModdingLibrary - it is a library for modding Melee in C with lots of really cool features. I haven't looked at it in detail, though it sounds quite promising.
He even created a wiki with a dedicated chapter on creating AIs.
If I were you, I would look into that second project and see how you get along.
You should be able to find almost anything else you need in the sticky posts of the Melee Workshop.
 

Someone7

Smash Apprentice
Joined
Feb 23, 2007
Messages
151
Location
Florida
Moved to Melee Workshop.

My two cents:
The best way of getting started at working on Melee AIs may be to read up on @luckycharms14's work. He has started two projects involving AIs that are quite accessible.
Achilles, the creator of the 20XX hack pack with its crazy AIs stated that his methods of manipulating the AI require a very sound understanding of assembly. Luckycharms has already done a lot of groundwork for creating a framework of sorts to not require extensive knowledge of assembly, though some will be required.

The first project is called Project MeleeAI. Check out the reddit post and video about it too - cool stuff and it was received extremely well!
At first, he used an external program that communicated with dolphin to make the AI work, which would only work on Linux.
Later on he managed to implement that into the game's code. The way he does it is by using a program that converts C code into Assembly. The assembly code is then injected into the game. This makes the whole thing much easier than working with assembly directly. He shared the project on github and I messed around with it for a weekend or two. The way the project is set up and the code itself is quite messy and I think I found a bunch of mistakes. But I was able to work with it for a bit. I very quickly hit a wall since my knowledge of C and Assembly was very limited and I realized I would have some extensive reading up to do, which I didn't have the time for so I abandoned that.

The second project is called the MeleeModdingLibrary - it is a library for modding Melee in C with lots of really cool features. I haven't looked at it in detail, though it sounds quite promising.
He even created a wiki with a dedicated chapter on creating AIs.
If I were you, I would look into that second project and see how you get along.
You should be able to find almost anything else you need in the sticky posts of the Melee Workshop.
Thank you for your well thought out and informative post.

Since receiving my Wii and finally getting 20XX working (after so many years of not playing Melee), I have done some more research on my own. I stumbled upon the AI bot named "Philip" and the work of the MIT PhD student Vlad Firoiu. Mr. (Dr.?) Firoiu used as the basis of his own program the Smashbot program for manipulating the AI in Melee when emulating it on Dolphin. It seems similar to the program you make a reference to here.

Not to sound lazy, but after reviewing many videos of 20XX AI on different settings, "Philip" playing professional Captain Falcon players, the Smashbot AI at work, etc, I have determined the state of Melee is already at the point where AIs play so well that it is impossible for a human to beat them under (most) normal conditions. The Smashbot AI only seems defeatable by certain types of edge-play, and it seems to me would be unbeatable with the addition of slightly better programming to deal with people edge-stalling for free hits.

So in my mind now, playing Melee perfectly looks like a Fox AI chainthrowing you into the ground forever, perfectly tech-chasing you, while occasionally shining you to the edge of the stage. While I still might like to work on this idea on my own, it seems to (basically) already be a reality.

There are still other useful ideas that could be implemented though. I was thinking of a learning AI that can adjust it's level of skill to only be slightly better (or worse) than the player at all times. The idea here would be to create an AI that can quickly train you to play at, or near, tournament level quality, by always giving a very challenging experience to the player. It could possibly even learn certain habits of the players, and gently exploit them until the player learns to change their style of play.

So while it is clear the AI is now unbeatable, there is still the question of whether or not an AI could be effectively used to train humans to beat other humans. My guess would be that yes, this should be quite possible, but it doesn't seem as obvious to me as that the best players will be AIs.
 
Last edited:
Top Bottom