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
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[…]
The latest version of FlatRedBall, Glue, and the Tiled plugin include features to support a new approach for creating levels – using derived screens. Screen inheritance has been available in Glue for many years, but the latest set of features revive this functionality and make level creation easier than ever. Old vs. New Levels are[…]
Introduction The latest release of FlatRedBall, Gum, and Gum plugin in Glue includes support for FlatRedBall.Forms version 1.2. This version adds the following functionality: New StackPanel control New AddChild method for all FrameworkElements (allowing parent/child relationship to be created without accessing the Visual object) Support for same-named Gum runtime objects in different folders with the[…]
Introduction The latest version of FlatRedBall Desktop GL (the recommended replacement for FlatRedBall XNA) includes full support for all FlatRedBall color operations. Specifically, today’s release adds the following color operations which were previously unavailable: Add InterpolateColor InverseTexture Modulate2X Modulate4X Subtract These new color operations can be used to add more flexibility to how your sprites[…]
The latest templates and Glue plugin include support for FlatRedBall.Forms 1.1. This version adds the TreeView control, along with the TreeViewItem used within the TreeView control. Example Code The latest Glue + Gum plugin includes default implementations for TreeView and TreeViewItem. This means that the TreeView can be created purely in Gum, purely in code,[…]
Although States have been available in Glue for a long time (about as long as Variables themselves), they have fallen out of style in modern FlatRedball development. Meanwhile the feature set for CSVs has continued to advance, and this file format has become the preferred way to define game data and to organize variables. If[…]