Please read Open Game Backend’s known limitations before reading this comparison.

Supabase was founded in 2020. While not specifically a game backend, it is a rising choice for game developers due to its ease of use and flexibility.

What Supabase does well

  • Open-source (Apache 2.0)
  • Tightly integrated with PostgreSQL
  • Realtime
  • Easy to use UI & API
  • Quick to get started

How Supabase and Open Game Backend are similar

  • Open-source (Apache 2.0)
  • Built on top of PostgreSQL
  • Built on Deno

How Supabase and Open Game Backend differ

Secure by default

Games are notorious for the amount of DDoS & botting attacks launched against them. Security needs to be considered early on when developing your backend.

Supabase Database is designed to let developers iterate quickly, but leaves security as an afterthought.

A few key points:

Open Game Backend requires everything to be secure by default:

  • All logic is forced to be a server-side script. Never trust the client.
  • Database & scripts are private by default, explicitly specify what’s public.
  • Granular rate limiting (per account and/or per IP) is provided out of the box.
  • Captchas are available for all use cases.
  • Strict schemas are enforced on all requests.

Modularity

Supabase is built to be a general purpose backend framework. Backend code is not meant to be published as reusable packages or shared across multiple games within a studio.

Open Game Backend is a combination of two components:

  • OpenGB Engine Abstracts away backend complexity to make writing modules simple & fast
  • OpenGB Module Registry Pre-made modules that can be used to get up and running instantly

OpenGB’s modularity lets you use pre-existing modules to get started faster, use modules from the community, and share modules across multiple games. This allows it to be easily customized and extended to fit the needs of a game.

Supabase Edge Functions vs OpenGB Scripts

Supabase Edge Functions are similar in some ways to Open Game Backend’s scripts. Both are built on Deno, backed by PostgreSQL, and requests are ephemeral + isolated.

Supabase Edge Functions are intended to be used for simple serverless functions. Most use cases today are for handling a patchwork of functionality that isn’t provided by Supabase by default (e.g. webhooks, push notifications, Discord API calls). Edge Functions still behave like an experimental pre-release feature.

Open Game Backend scripts are at the core of the project, so they’re built to be easy to use, flexible, and reliable. They’re used to power core functionality such as tokens, authentication, and rate limiting.

Rigid Core Features vs Flexible Modular Features

Supabase provides core functionality that cannot be modified, such as: authentication, storage, and realtime.

Open Game Backend instead provides these same features as modules that can be modified & extended as needed. For example: authentication and storage modules. These can be customized easily by running the opengb fork command.

For example, this is specifically important for games where authentication with platforms like Steam, consoles, and instant gaming platforms don’t fit well with Supabase’s core authentication features.

Dashboard

Supabase has a well built dashboard for managing your database.

While Open Game Backend does not have a dashboard for interacting with the database (yet), tools like Beekeeper Studio can be used with OpenGB Postgres databases out of the box.