Skip to content

Multiplayer online game powered by Godot 4 and Rust πŸ€–πŸ¦€

License

Notifications You must be signed in to change notification settings

jerryshell/agarust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Agarust

Agarust is a server-authoritative real-time multiplayer online game powered by Godot 4 and Rust πŸ€–πŸ¦€ inspired by agar.io

Play now on itch.io: jerryshell.itch.io/agarust

  • Use the mouse to control the direction of movement
  • Press the left mouse button to sprint
    • Sprinting drops 20% of your mass
    • Players with too little mass can't sprint
  • You can only eat another player if the difference in mass is greater than 1.2 times
  • The player's mass will slowly drop over time, the higher the mass, the higher the chance of dropping
  • The formula for converting mass to radius: Mass = PI * Radius * Radius

Tech stack

  • Godot 4
  • Rust
  • Protocol Buffers
  • WebScoket
  • SQLite

Setup server

cd server

Init database

Note: You MUST initialise the database before you can compile the source code, for more details see: sqlx - Compile-time verification

cargo install sqlx-cli
sqlx migrate run --database-url "sqlite:agarust_db.sqlite?mode=rwc"

Run

cargo run

Setup client

Import the client folder using Godot 4

Change server URL

Change debug_server_url and release_server_url in client/global/global.gd

Credits