The FlatRedBall game engine is cross-platform, focused on 2D game development and proven across multiple shipped game projects. It’s a perfect choice for small indies or large teams.
Our tools save time. Glue, a core FlatRedBall, tool generates boilerplate so teams can focus on game logic. Plugins to load popular formats like Tiled, Spriter and the Gum UI system make integration easy.
FlatRedBall enables native performance with the benefit of code reuse using Xamarin. Our performance tools find problems like memory allocation and render breaks for smooth mobile performance.
The first version of the FlatRedBall engine was started by Vic Chelaru in 2005 using the Managed DirectX engine and the C# programming language. Over time it grew from just an engine to a set of tools always focused on iteratively improving game development speed.
FlatRedBall was rebuilt for XNA and then decoupled when Microsoft withdrew their XNA support. FlatRedBall builds upon the cross-platform capabilities of MonoGame, supporting mobile game development.
Today, FlatRedBall continues to innovate and iterate. Primary development continues to be driven by Vic on commercial game projects, with support from volunteers and the community.
MAC & LINUX
SkiaSharp is a wrapper over the powerful Skia graphics engine. The latest version of FlatRedBall adds support for rendering Skia objects efficiently in your game. The current implementation of Skia provides a number of new primitives fully integrated with Gum. New Primitives and Effects The current version (as of this writing) adds support for three[…]
Recently a new version of FlatRedBall was released targeting .NET 6.0. This version has a lot of benefits as explained in a previous blog post, but it does introduce one problem for games targeting MonoGame 3.7.1. You may notice an error that says Could not load the project <project location> because MonoGame 3.7.1 files are[…]
FlatRedBall is now making a big upgrade to .NET and MonoGame 3.8.1. This means the FlatRedBall Editor (aka Glue) and new game projects are on .NET 6. This upgrade brings along a lot of changes to FlatRedBall, so let’s dive in! Note that some of the changes below require creating a new .NET 6 project[…]
FlatRedBall integrates closely with the fantastic tilemap program Tiled. If you’ve ever resized a PNG file, then you may have received a message notifying you that the number of columns in the tileset have changed. Tiled is notifying you that the tileset was originally created with a PNG which had a different size compared to[…]
Recently a new version of the FlatRedBall Editor (aka Glue) was released with support for embedding a game window (and support for edit mode). Today the FlatRedBall Editor has been updated with many changes to make it easier to work with. Let’s take a look at some of the changes! New Game Toolbar The Game[…]
The latest version of FlatRedBall brings together work from the past few months to create a new development experience. The largest of these changes is the integration of the game window. The game can be played in the FlatRedBall window, or it can be switched into edit mode to make changes to the game. Embedding the[…]
FlatRedBall Glue has always been a program for improving the speed of game development. The latest version includes a wizard which greatly simplifies new project setup. Previously, even as recent as a month ago, setting up a new project with levels, a player entity, collision, and tiled map files could take an experienced FlatRedBall user over[…]
There are four equations that can solve a large variety of problems in 2D games. But math textbooks or Wikipedia often make it really hard to understand how to use them. This post explains the usage of these equations without going into detail about how they work, and links to the Wikipedia pages if you want to[…]
The Dear ImGui open source library provides a cross-platform way to quickly make user interfaces. While it is not as pretty as interfaces made in Gum, it does allow for quick creation of powerful UIs for certain audiences. It has found significant usage for in-engine game development tools, even in high profile AAA games such as the[…]
One of the most common task in game development is stopping a game to make small changes, then restarting the game. Of course, doing this just one time is a fast process, but over the course of an entire game this can add up. The latest version of Glue focuses on speeding up the stop/tweak/restart cycle. This[…]