Catena Tools, A Multiplayer Engine for Game Developers
Game Development has come a long way since the creation of "SpaceWar!" in the 60s. Since then, new techniques have been employed, institutional knowledge built and cutting-edge algorithms developed.
With the emergence of new platforms including mobile, consoles, PC, web and more, the complexity of game development has only increased. Games are developed for every platform, each with their own requirements, hardware and limitations. The techniques and practices to write for these platforms have centralized over the years, and can be done with the assistance of commercial game engines. These game engines act as a force multiplier, allowing game designers to care about the game, while having confidence that what they build is performant, portable and deployable, leaving the complex technical details to industry experts.
While client-side development has seen significant tool and platform advancements, the backend space lags behind, despite the increasing demand for such tools. Co-devs like Wolfjaw Studios have emerged to try to address this problem, but the custom work, infrastructure and development time can often be cost-prohibitive to developers who just want to get their game running. It can take months of work at times to go from nothing to a working backend, and for good reason; custom solutions must be developed with care and future proofing in mind. As with client-side game engines, much of the work we do on the backend is similar each time! Most games need an accounts system, a matchmaker, a party system, server management and good infrastructure to back it up, to name a few key features.
Catena Tools has emerged as our solution to this problem, providing not only infrastructure templates for developers to run Catena themselves, but an out-of-the box working baseline for you to build your game on top of. Our goal is for you to be able to integrate our backend with your game in a matter of days, not months, and be able to build your own custom features on top of it knowing there are sane defaults and decades of backend experience backing you up.
Core Principles
Catena has been built with a set of core principles.
Show Value Quickly
Getting a product working quickly is motivating, spending days or weeks grinding to get an MVP working is no fun. We prefer approaches which enable quick integration and consider how a developer would test both locally and in a production-like environment.
Common Design Language
Everything we build shares common language, patterns, and documentation. Our goal is to make Catena dead simple for you to use, even if you've never worked on a backend before.
Clear Purpose & Intent
Every new feature is built with an intention in mind. This prevents us from building "Frankenstein Services" that are hard for developers to reason about or work with.
Interoperability and Extensibility
Perhaps one of the most important facets of Catena, it has been designed from the ground up to be interoperable and extensible. We know that every game is unique and has its own needs. Because of this, any backend that services games needs to be incredibly flexible to meet those needs.
Special attention has been paid to how game developers interact with our software, enabling them to iterate much faster with significantly less complexity. Catena is designed from the ground up to be readable, ergonomic and extensible while still being usable out of the box. Catena has been and will continue to be developed with a user-first approach. We carefully consider our remote procedure calls (RPCs), error messages, and even comments to be the most understandable for first-time users to test and play around with, saving you time trolling through documentation.
Through this blog we will discuss our approach and provide guides as we work to create a new paradigm in game design and development.
If you’d like to learn more about how Catena can empower and simplify your development process, check out our interest form here and we’ll be in touch shortly!