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 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[…]
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[…]