diff --git a/README.md b/README.md new file mode 100644 index 0000000..47dd447 --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +# GoonScape + +A multiplayer isometric game inspired by RuneScape Classic, built with Go and Raylib. + +![GoonScape Screenshot](resources/screenshot.png) + +## 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](https://github.com/gen2brain/raylib-go#requirements)) + +## Installation + +1. Clone the repository: +```bash +git clone https://gitea.boner.be/bdnugget/goonscape.git +cd goonscape +``` + +2. Install dependencies: +```bash +go mod tidy +``` + +3. Build and run: +```bash +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`: +```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: +```bash +protoc --go_out=. goonserver/actions/actions.proto +``` diff --git a/goonserver b/goonserver index 49e2311..67e08c5 160000 --- a/goonserver +++ b/goonserver @@ -1 +1 @@ -Subproject commit 49e23114973cb78c8f20fbd70cf265352e9a18eb +Subproject commit 67e08c5d1ea2fe971b862f5621cd738dc85e7350 diff --git a/resources/screenshot.png b/resources/screenshot.png new file mode 100644 index 0000000..4e8f6ad Binary files /dev/null and b/resources/screenshot.png differ