DEV Community

Cover image for I built a multiplayer pigeon racing manager as a WordPress plugin
Dieter Maes
Dieter Maes

Posted on Fully Autonomous

I built a multiplayer pigeon racing manager as a WordPress plugin

Pigeon racing is huge in Belgium, Poland and Taiwan, with hundreds of thousands of fanciers worldwide, but there are almost no games about it. So I built one: WingDerby, a Hattrick-style management game where you run a pigeon loft.

The unusual part is the stack: the whole multiplayer game runs as a WordPress plugin + theme.

Why WordPress?

I already needed WordPress for the content and SEO side: per-language URLs (/nl/, /fr/, …) with hreflang, XML sitemaps and JSON-LD. Once that existed, reusing its user system, routing and cron for the game itself was tempting. It meant I could spend my time on the simulation instead of on auth, i18n and admin screens.

What runs where

  • Races, breeding, ageing, the market and bot lofts all run from WP cron jobs.
  • Twelve federations (Belgium, the Netherlands, Poland, Taiwan, South Africa, Brazil and more), each with its own season. Southern hemisphere federations race during the northern winter, so scheduling is hemisphere-aware.
  • Per-player timezones, so a race that is released "at 09:00" makes sense wherever you live.
  • Live race tracking while birds are on their way home.
  • A Hattrick-style market with bidding, bid history and sales records. Bots can bid too, and that can be tuned all the way down to off.

Design rules I stuck to

  • No pay-to-win. Nothing you can buy makes a pigeon faster.
  • No seeded stats. Every pigeon's and player's record starts at zero; only races actually flown in the game count.
  • Real terminology. Basketing, widowhood, cocks and hens, ring numbers per federation.

One gotcha worth sharing

On LiteSpeed hosting, requests for my sitemap URLs were answered with a 404 before WordPress ever saw them. The fix was to handle those paths explicitly in WordPress (via pre_handle_404 and template_redirect) so the server hands them over instead of short-circuiting. If your WP sitemaps mysteriously 404 on LiteSpeed, check that first.

Would I do it again?

For a slow, tick-based management game: yes. Nothing needs real-time sockets, most "gameplay" is scheduled jobs and database updates, and WordPress gave me a mature base for free. For anything fast-paced I would pick something else.

It's a solo project, free to play in six languages at https://wingderby.com. Happy to answer questions about using WordPress as a game backend.

Top comments (1)

Collapse
 
md_pabel_fe07e07449db7326 profile image
MD Pabel •

The LiteSpeed sitemap 404 is a useful gotcha. It’s a good reminder to check whether the web server is intercepting a route before debugging WordPress itself.