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
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[…]
The latest monthly named Teotihuacan – named after the ancient city located in modern Mexico – is now available on github and through the Glue New Project creator. It is the largest starter and monthly project to date, containing many new FlatRedBall technologies for making development faster than ever. Of course, it’s also a blast to[…]
Introduction Many game types include collidable areas which deal damage over time to characters or enemies within the area. This type of behavior can be accomplished in Glue with a little setup. This post shows how to implement damage over time using standard entities. Damage Over Time vs. Simple Collision The simplest situation for damage[…]
The latest version of the Tiled plugin adds per-layer Alpha and Color (Red, Green, and Blue) values, enabling even more flexibility in rendering .tmx files. Alpha From TMX The Tiled program supports alpha values on each layer. Setting the alpha on a layer will automatically apply that alpha when the game runs. Changing Color/Alpha in[…]