asset | ||
component | ||
entity | ||
game | ||
system | ||
world | ||
.gitignore | ||
flags.go | ||
flags_web.go | ||
go.mod | ||
go.sum | ||
goreleaser.yml | ||
LICENSE | ||
main.go | ||
README.md |
Box Brawl
Multiplayer fighting video game featuring rollback networking
This game was created for the Fighting Jam #001 game jam.
Play
Browser
Networking is not available in the browser version.
Download
Download for Windows and Linux
To play against remote opponents, you will need to ensure UDP traffic is allowed between both of your computers.
This usually involves port forwarding and ensuring firewalls are disabled on both computers.
You can also use programs like ZeroTier and Hamachi to create virtual networks between you and an opponent. The network will appear to the system as a local network. Because of this, most security restrictions are bypassed, and port forwarding is usually not required.
Only multiplayer over a local network (whether truly local or virtual) has been tested successfully.
Multiplayer guide
You and your opponent will need to choose a port on which you will accept UDP
traffic from the other person. This is referred to as your local port,
which can specified when playing Box Brawl using the --local
argument.
In the following examples, user A has the IP address 1.1.1.1
and user B has
the IP address 2.2.2.2
. User A will listen for a connection on port 17000
.
User B will listen for a connection on port 19000
.
Simply replace the example IP addresses and ports with actual IP addresses and ports, and run the command specified (depending on whether you are the host or the guest).
User A (who has IP 1.1.1.1
) should run the following command:
boxbrawl --local 17000 --host 2.2.2.2:19000
User B (who has IP 2.2.2.2
) should run the following command:
boxbrawl --local 19000 --connect 1.1.1.1:17000
In the above commands, each user first specifies which port to listen for connections from the opponent, then specifies the IP address and port where their opponent is listening for connections.
Compile
Install the dependencies listed for your platform, then run the following command:
go install code.rocketnine.space/tslocum/boxbrawl@latest
Run ~/go/bin/boxbrawl
to play.
Support
Please share issues and suggestions here.
Credits
- Trevor Slocum - Game design and programming
- node punk - Music
Dependencies
- ebitengine - Game engine
- ggpo-go - Rollback networking library
- gohan - Entity Component System framework