In 2017, I was contacted by the writers and creators of a role playing game who had a unique problem. Orders for their game were being placed via two separate channels, and the team required a very specific solution that allowed the orders to be managed in one place. By building a completely bespoke, fully-integrated WordPress plugin, I was able to provide a long-term solution.

The Client

Spidermind Games are the writers and creators of Elite: Dangerous Role Playing Game (EDRPG), which is based on the successful video game by Frontier Developments. The game is a fully-backed crowdfunded project that consists of both virtual and physical products. EDRPG already had an existing WordPress website with an integrated WooCommerce account, and were receiving orders through this channel. However, they wanted a way to efficiently manage all orders – from both the crowdfunding platform and their website – in one place.

The Problem

As with many Kickstarter projects, EDRPG’s products become available at different times, and orders could contain a combination of printed materials and downloadable PDFs. This would potentially mean that backers would have to wait until each item of the order was available before being shipped. They had no way of splitting, labelling and actioning the various stages of their orders. Also, a third-party company, GamesQuest, was chosen to fulfil EDRPG’s orders. To process the orders, GamesQuest required a CSV in a specific layout to match their existing processing systems. It’s incredibly important to Spidermind that their backers aren’t left to wait significant amounts of time for orders to be fully completed before being shipped. Once a product becomes available, they want their customers to receive it as soon as possible.

The Solution

The solution was a bespoke WordPress plugin that organised both the web and crowdfunded orders, that allowed the team to split, label and ship orders, and that provided a CSV that met GamesQuest’s standards. Features of the application include:

  • An admin page that the user can access through WordPress dashboard
  • A page that lists all orders
  • The ability to mark orders as virtual or shipped, two states that do not currently exist in WooCommerce by default
  • A button that allows Spidermind to view orders in more detail, to see the products within that order and separate using designated prefix codes
  • This enables individual products to be dispatched when available
  • Whole orders and individual products can then be marked as shipped so they no longer appear on the CSV for GamesQuest
  • In the case of an order being wrongly labelled, filters were added so that the user can review and update orders

I used PHP and a MVC (Model View Controller) design pattern to develop the application, which utilises and extends some of WordPress’ and WooCommerce’s existing functions. I also leveraged some Illuminate packages for communication with the WordPress database. This enables both the Plugin and WooCommerce to continually keep orders in sync.

An admin page that the user can access through WordPress dashboard

A page that lists all orders

The ability to mark orders as virtual or shipped, two states that do not currently exist in WooCommerce by default

A button that allows Spidermind to view orders in more detail, to see the products within that order and separate using designated prefix codes

This enables individual products to be dispatched when available

In the case of an order being wrongly labelled, filters were added so that the user can review and update orders

Using wordpress has been easy up until the time you need a fix that is far from standard and this is where Dan and his Gamequest plugin came to the rescue. This bespoke piece of software allows us to quickly differentiate between virtual purchase and physical ones, export the physical orders to our distributors GamesQuest and then mark them as shipped. It is a god send and not only useful for our current project but it will now play a vital role in the distribution of all future titles Jon

Spidermind Games