Introduction

🧠 Platform Overview

πŸ€– AI Competitions

We're building a decentralized battleground for AI models β€” from chess bots to complex strategy engines β€” where developers compete, learn, and win.

πŸ› οΈ Easy Integration

Plug-and-play your AI models via simple APIs. Our system compiles and runs your code securely in isolated environments.

πŸ” Blockchain Security

All competition outcomes are logged and verifiable through blockchain β€” making results tamper-proof and transparent.

πŸͺ™ Token Rewards (Coming Soon)

Soon, you’ll be able to earn tokens for winning matches, contributing to development, or staking your AI agent in ranked competitions.

🌐 Community Driven

Open-source. Transparent. Collaborative. Fight Script is powered by you β€” the developers, builders, and thinkers shaping AI’s future.


Currently, we are launching with our first official event:

πŸ”₯ Chess AI Battle

Pit your custom-built Chess AI against others in intense 1v1 matches!
Use C++, upload your bot, and challenge our built-in AggressiveBot or compete with other users in real-time.

πŸš€ How It Works

  1. Write Your Bot
    Build your chess-playing agent in C++ following a basic UCI (Universal Chess Interface) format. A sample starter bot is available in our docs.

  2. Upload Your Bot
    Upload your .cpp file to our frontend. We compile it on the server and run matches directly against the built-in aggressive engine.

  3. Watch the Battle
    Matches are executed on our backend, powered by Stockfish, and results are sent back to your dashboard in real-time.

  4. Reward
    Based on your skills,your bot will compete and you will be rewarded TOKEN.

  5. Stake
    Oh, Are you not a Software Developer? No Worries,you can Stake on the Agent/bot you think is best.


⚑ Our Vision

A world where AI is democratized, where innovation is shared, and where the smartest minds build together.
Fight Script is creating the first fully decentralized arena for AI competition.


πŸ“Œ Join the Fight

Let your AI fight for glory.
Enter the Arena.


🧠 About Us

Revolutionizing AI Through Web3

Fight Script is at the forefront of merging artificial intelligence with blockchain technology. We’re building a decentralized ecosystem where developers can compete, collaborate, and innovate, all while earning rewards for their contributions.


🎯 Our Mission

To democratize AI development by creating a transparent, fair, and incentivized platform powered by blockchain. We believe in open collaboration, secure infrastructure, and global participation in shaping the next generation of AI.


πŸš€ What We Offer

πŸ€– AI Competitions

Engage in head-to-head AI battles β€” from chess engines to strategy simulations. Upload your bot, compete with others, and climb the leaderboard.

πŸͺ™ Token Economy

Win competitions and contribute to the platform to earn tokens. These tokens fuel our reward system and incentivize quality AI development.

πŸ”’ Secure & Transparent

Fight Script is powered by blockchain, ensuring that all matches are fair, results are verifiable, and no data can be tampered with.

πŸ› οΈ Open Development

We champion open-source development. Build, fork, contribute β€” or use our platform as a launchpad for your AI ideas.

πŸ”Œ Easy AI Integration

Integrate your custom AI agents with our robust API. Whether it’s a C++ bot or a neural network, our platform handles the execution environment.

🌍 Global Community

Join a vibrant network of AI developers, researchers, and enthusiasts from around the world. Collaborate, learn, and innovate together.


🌐 Our Vision

We envision a future where AI is developed by the many, not the few β€” where decentralization ensures equal opportunity, transparency protects integrity, and innovation is fueled by competition. Fight Script is building that future.


πŸ’₯ Join the Revolution

Whether you're:

  • An AI developer looking to test your bots,
  • A researcher wanting to explore decentralized training environments,
  • Or simply an enthusiast eager to see AI in action β€”

Fight Script welcomes you.


🀝 Get Involved


πŸ”— Connect With Us


Β© 2025 Fight Script, Inc. All rights reserved.
Empowering AI through competition.

β™ŸοΈ Create & Upload Your Chess Bot to Battle AggressiveBot

qWelcome to FightScript! This guide helps you build your own C++ chess bot, upload it, and fight a match against our built-in AggressiveBot, powered by Stockfish and against other developer developed bots.


βœ… What You Need

  • A working C++ environment (g++ recommended)
  • Basic knowledge of the UCI (Universal Chess Interface)
  • Your bot should:
    • Read input via std::cin
    • Output moves via std::cout
    • Handle standard UCI commands

πŸ”§ Your final upload must be a compiled Linux binary (your_bot), not the source .cpp file.


πŸ“„ Sample C++ Bot Code

This example bot picks a basic move depending on the color and follows the UCI protocol strictly:

#include <iostream>
#include <string>
#include <vector>
#include <random>
#include <chrono>

std::string get_move(const std::string& fen) {
    bool is_white = fen.find(" w ") != std::string::npos;
    std::vector<std::string> moves;

    if (is_white) {
        moves = {"e2e4", "d2d4", "g1f3", "b1c3", "f1c4", "f1b5"};
    } else {
        moves = {"e7e5", "d7d5", "g8f6", "b8c6", "f8c5", "f8b4"};
    }

    auto seed = std::chrono::system_clock::now().time_since_epoch().count();
    std::mt19937 gen(seed);
    std::uniform_int_distribution<> dis(0, moves.size() - 1);

    return moves[dis(gen)];
}

int main() {
    std::string line;
    std::string current_fen;

    while (std::getline(std::cin, line)) {
        if (line == "uci") {
            std::cout << "id name MyBot\n";
            std::cout << "id author Your Name\n";
            std::cout << "uciok\n";
        } else if (line == "isready") {
            std::cout << "readyok\n";
        } else if (line.rfind("position", 0) == 0) {
            size_t fenIndex = line.find("fen ");
            if (fenIndex != std::string::npos) {
                current_fen = line.substr(fenIndex + 4);
            }
        } else if (line == "go") {
            std::string move = get_move(current_fen);
            std::cout << "bestmove " << move << "\n";
        } else if (line == "quit") {
            break;
        }
    }

    return 0;
}

βš™οΈ How to Compile (on your local machine)

Use this command to generate an executable Linux-compatible binary:

g++ -std=c++17 your_bot.cpp -o your_bot

Make sure the compiled binary:

  • Has no platform dependencies (compile on Linux or WSL for best compatibility)
  • Is tested locally before upload: ./your_bot and type in UCI commands
  • Has execution permissions: chmod +x your_bot

πŸ“€ Uploading Your Bot

Once compiled:

  1. Rename it meaningfully, e.g., my_bot
  2. Upload it using the Upload Bot button on the site
  3. The server downloads it from Google Drive
  4. It’s executed inside a secure environment alongside Stockfish

πŸ”„ Match Flow

  • Your bot is treated like a UCI engine
  • Stockfish sends standard uci, isready, position, go commands
  • Your bot replies with bestmove XYZ
  • The game ends when one side wins or it's a draw
  • You'll get:
    • Game result
    • Move history
    • Winner and reason

⚠️ Rules & Tips

  • Your bot must:
    • Respond to uci, isready, position, go, quit
    • Output only UCI responses (no debug prints to stdout)
  • Keep your response time < 1 second
  • Avoid memory leaks or background threads
  • You can build advanced bots with:
    • Minimax
    • Evaluation functions
    • Libraries like chesslib

βœ… Final Upload Checklist

βœ… Compiled binary (Linux-compatible)
βœ… Tested with UCI manually
βœ… Named appropriately (no spaces/special characters)
βœ… Set as executable (chmod +x my_bot)
βœ… Uploaded via the site interface (https://fightscript.io/competitions/chess)

Rules