Drupal is a registered trademark of Dries Buytaert

go_game

No security coverage
View on drupal.org

A plug‑and‑play multiplayer Go board for Drupal. Create a game, share an invite link, and play in real time on a beautiful board—no extra services or complex setup required.

Go Multiplayer lets you host and play the classic board game Go right on your Drupal site. It provides a modern, responsive board UI, real-time updates via lightweight polling, and a simple invite-link flow so anyone can join your game in seconds.

Features

- Basic functionality
- Create a Go game and share a unique invite link (e.g., /go/abcd1234).
- Join a game via link; players are automatically assigned Black/White.
- Play on a responsive, polished canvas board with star points and last-move markers.
- Real-time updates via REST polling—no external servers required.
- Core rules included: turn-taking, captures, suicide prevention, pass/resign.
- Finish detection on two consecutive passes (simple demo scoring note).

- What’s unique
- Zero-config multiplayer: enable the module and start playing at /go.
- Beautiful, modern UI: shaded stones, wood-toned board, hover hints, responsive layout.
- Invite-first experience: easy link sharing for quick matches.
- Minimal footprint: uses Drupal’s DB, no extra services or Composer dependencies.

- When and why to use this module
- You want a fun, interactive demo or community feature on your Drupal site.
- You need a lightweight multiplayer experience without managing WebSockets.
- You want a simple way to invite friends or community members to play Go.
- Great for clubs, events, classroom demos, or site engagement.

- Use cases
- Friendly matches via shared link.
- Embedding a Go board on a community hub or game night page.
- Learning/teaching Go basics with live interaction.

Post-Installation

- How it works
- Enable the module, then visit /go to launch the game UI.
- Click “Create game” to generate a new match and copy the invite link.
- Share the link; the first visitor becomes the opponent (White).
- The board updates automatically every ~1.5s, keeping both players in sync.
- Use Pass/Resign buttons in the top bar. Two consecutive passes end the game.

- Configuration and pages
- No configuration pages are required.
- Primary pages:
- /go — Create and manage games
- /go/{id} — Join or view a specific game by invite link
- Access: Requires the “access content” permission (default for authenticated users; adjust as needed).

- Data and cleanup
- The module creates a go_game table to store matches.
- Uninstalling the module drops this table.

Additional Requirements

- None beyond Drupal core (tested with Drupal 11).
- No external libraries, Composer packages, or WebSocket servers required.

- Optional (for power users):
- A WebSocket/SSE solution if you want instant updates instead of polling.
- Caching/CDN optimizations for static assets (UI loads faster), though not required.

Similar projects

- Other game modules may offer different board games, tournaments, or ratings. Go Multiplayer focuses on a clean, invite-link experience, a modern UI, and minimal setup over advanced ranking or leagues.

Supporting this Module

- Contributions and feedback are welcome. Open issues, suggest features, or submit pull requests to help improve the module. Sponsorships and collaboration ideas are appreciated.

Community Documentation

- Looking to add:
- A short demo video and walkthrough.
- Example setups and styling tips.
- Tutorials on extending rules (e.g., ko rule, scoring).

Additional notes:
- Rules are simplified for a demo experience: captures and suicide are enforced; ko and detailed scoring are not included. Two passes mark the game as finished.
- The module uses session-based identification to assign colors on join; integrating Drupal user accounts is possible if you want named players.

Activity

Total releases
1
First release
Sep 2025
Latest release
5 months ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev Sep 19, 2025