All Projects → altf4 → Smashbot

altf4 / Smashbot

Licence: gpl-3.0
The AI that beats you at Melee

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Smashbot

Unity3d Ai And Procedural Generation Framework
Unity3D AI and Procedural Generation Framework.
Stars: ✭ 58 (-87.61%)
Mutual labels:  ai, video-game
Youka Desktop
The Best Karaoke Maker
Stars: ✭ 458 (-2.14%)
Mutual labels:  ai
Model server
A scalable inference server for models optimized with OpenVINO™
Stars: ✭ 431 (-7.91%)
Mutual labels:  ai
React Native Vision Camera
📸 The Camera library that sees the vision.
Stars: ✭ 443 (-5.34%)
Mutual labels:  ai
Pokemon Font
GAME BOY font from Pokémon R/G/B/Y/G/S/C, Unicode extended.
Stars: ✭ 437 (-6.62%)
Mutual labels:  video-game
Tensor House
A collection of reference machine learning and optimization models for enterprise operations: marketing, pricing, supply chain
Stars: ✭ 449 (-4.06%)
Mutual labels:  ai
Roro
roro is a free, open-source robotic process automation software written in C# and Blazor WebAssembly
Stars: ✭ 422 (-9.83%)
Mutual labels:  ai
Cookiecutter Data Science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
Stars: ✭ 5,271 (+1026.28%)
Mutual labels:  ai
Awesome Mlops
A curated list of references for MLOps
Stars: ✭ 7,119 (+1421.15%)
Mutual labels:  ai
Spacy
💫 Industrial-strength Natural Language Processing (NLP) in Python
Stars: ✭ 21,978 (+4596.15%)
Mutual labels:  ai
Pwnagotchi
(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFi pwning.
Stars: ✭ 4,678 (+899.57%)
Mutual labels:  ai
Sqlflow
Brings SQL and AI together.
Stars: ✭ 4,412 (+842.74%)
Mutual labels:  ai
Caer
High-performance Vision library in Python. Scale your research, not boilerplate.
Stars: ✭ 452 (-3.42%)
Mutual labels:  ai
Awesome Feature Engineering
A curated list of resources dedicated to Feature Engineering Techniques for Machine Learning
Stars: ✭ 433 (-7.48%)
Mutual labels:  ai
Vector Python Sdk
Anki Vector Python SDK
Stars: ✭ 462 (-1.28%)
Mutual labels:  ai
Ruby Fann
Ruby library for interfacing with FANN (Fast Artificial Neural Network)
Stars: ✭ 425 (-9.19%)
Mutual labels:  ai
Ai competitions
AI比赛相关信息汇总
Stars: ✭ 443 (-5.34%)
Mutual labels:  ai
Awesome Artificial Intelligence Guidelines
This repository aims to map the ecosystem of artificial intelligence guidelines, principles, codes of ethics, standards, regulation and beyond.
Stars: ✭ 449 (-4.06%)
Mutual labels:  ai
Godot 2d Space Game
A 2D space exploration and mining game made with Godot and our AI framework
Stars: ✭ 462 (-1.28%)
Mutual labels:  ai
Fastocloud
Self-hosted IPTV/NVR/CCTV/Video service (Community version)
Stars: ✭ 464 (-0.85%)
Mutual labels:  ai

SmashBot

The AI that beats you at Melee

FAQ

  1. What character does SmashBot play?

    Fox, of course!

  2. Does SmashBot work with Slippi?

    It does! To run SmashBot, you can just use your regular Slippi Dolphin install.

  3. Can I Run SmashBot online?

    No and don't try. It won't work for you and it will just mess up a lot, making both you and SmashBot look bad. You can play it locally in VS mode.

  4. Does SmashBot cheat?

    The short answer is: No.

    The long answer is that SmashBot only interfaces with the game by pressing buttons on a virtual controller. There isn't anything it does that you couldn't do in principle. It just so happens, however, that a computer is much faster and more reliable than you, so it's able to do things that a human realistically can't.

  5. How is SmashBot designed?

    SmashBot makes decisions on a tiered hierarchy of objectives: Strategies, Tactics, and Chains. Each objective inspects the current game state and decides which lower level objective will be best to achieve it.

    Strategies are the highest level means that the AI will use to accomplish the overall goal. For instance, the SmashBot will typically take the strategy of baiting the opponent into a poor move.

    Tactics are lowish level series of predictable circumstances that we can realistically flowchart our way through. For instance, if the enemy is off the stage we may choose to edge guard them to keep them from getting back on.

    Chains are the lowest level of objective that consists of a "chain" of button presses that Smashers will recognize, such as Wavedash, Jump-canceled Upsmash, etc...

  6. Can I play SmashBot on a regular GameCube or hacked Wii?

    For right now, SmashBot only runs on a PC as a normal computer program. (Meaning that Melee has to be in an emulator)

  7. What Operating Systems does it play on?

    SmashBot runs on Linux, OSX, and Windows!

  8. I found a bug. How can I help?

    Hey thanks, that's awesome! For starters, make sure you can reliably reproduce the bug. Then go ahead and make an Issue on GitHub at https://github.com/altf4/SmashBot/issues. If you want to be even MORE awesome, run the AI with the "--debug" flag and upload the CSV file it gives you along with the issue. That CSV contains a full breakdown of the AI's state at each frame, so we can easily pinpoint what went wrong and where.

Setup Steps:

  1. Install libmelee, a Python 3 API for interacting with Dolphin and Melee. pip3 install melee Also make sure to stay updated on libmelee with pip3 install --upgrade melee

  2. Install and configure Slippi, just like you would for rollback netplay. Full instructions here: https://slippi.gg

  3. You'll probably want a GameCube Adapter, available on Amazon here: https://www.amazon.com/Super-Smash-GameCube-Adapter-Wii-U/dp/B00L3LQ1FI. Or alternatively the HitBox adapter works well too: https://www.hitboxarcade.com/products/gamecube-controller-adapter

  4. Install some custom Slippi Gecko Codes. You can find them here: https://github.com/altf4/slippi-ssbm-asm/blob/master/Output/Netplay/GALE01r2.ini Simply replace your existing GALE01r2.ini file with this one.

  5. Make sure you have all the Required and Recommended Gecko Codes enabled.

  6. Run smashbot.py -e PATH_TO_SLIPPI_FOLDER (Not the actual exe itself, just the directory where it is)

  7. By default, SmashBot takes controller 2, and assumes you're on controller 1. You can change this with the --port N option to change SmashBot's port, and --opponent N to change the human player's port.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].