Welcome to the GitHub repository for my personal project, a clone of the popular game Agar.io. This project aims to replicate the addictive gameplay of Agar.io while exploring and implementing a custom binary protocol for efficient data serialization and deserialization between JavaScript and Golang.
- Custom Binary Protocol: Utilizes a custom-built binary protocol for communication between the client and server, ensuring fast and efficient data handling.
- Cross-Language Serialization: Features custom serialization and deserialization techniques that work seamlessly between JavaScript (client-side) and Golang (server-side).
- Advanced Game Logic: A significant portion of the game logic has been implemented, closely mimicking the original Agar.io gameplay mechanics.
Before you begin, ensure you have the following installed:
- Clone the repository:
git clone https://github.com/diyor28/not-agar.git
cd agar-clone
- Install JavaScript dependencies:
cd front
yarn
- Run the server:
cd back/
go run ./src
- Start the client:
yarn start
This will launch the game client in your default web browser.
This project is divided into two main components:
- Client: Written in JavaScript, the client handles user interactions, rendering, and communication with the server.
- Server: The server, written in Golang, manages game state, player interactions, and executes game logic.
Contributions are welcome! If you have suggestions for improvements or bug fixes, please open an issue or submit a pull request.
This project is open source and available under the MIT License.
If you have any questions or want to get in touch, please send an email to diyor_khaydarov@iota.uz.