GoonScape
A multiplayer isometric game inspired by Oldschool RuneScape, built with Go and Raylib.
Features
- 3D isometric world with height-mapped terrain
- Multiplayer support with client-server architecture
- Pathfinding and click-to-move navigation
- Global chat system with floating messages
- Multiple character models
- Background music
Prerequisites
- Go 1.23 or higher
- Raylib dependencies (see raylib-go)
Installation
- Clone the repository:
git clone https://gitea.boner.be/bdnugget/goonscape.git
cd goonscape
- Install dependencies:
go mod tidy
- Build and run:
go run main.go
Controls
- Mouse Click: Move to location
- T: Open chat
- Enter: Send chat message
- Escape: Cancel chat/Close game
- Arrow Keys: Rotate camera
- Mouse Wheel: Zoom in/out
Configuration
Server connection settings can be modified in types/types.go
:
const (
ServerAddr = "boner.be:6969" // Change this to connect to a different server or localhost if you want to run the server locally for development
)
Development
The project uses Protocol Buffers for network communication. If you modify the .proto
files, regenerate the Go code with:
protoc --go_out=. goonserver/actions/actions.proto
Description
Languages
Go
97.3%
Makefile
1.5%
Shell
1.2%