The Flatware Engine is an attempt to create a suitable platform upon which to develop games for Mac, Windows, and Linux which emphasizes freedom (both as in beer and as in speech), simplicity, and power. Flatware isn’t just a graphics engine like some other similar projects. Flatware is, instead, a complete package, allowing the user to perform all the loading and manipulation of assets as well as input handling from within one framework with a unified structure. In this way, Flatware is geared toward the novice, but it also has a robustness that even seasoned developers can take advantage of. Flatware is intended to be a tool that allows indie game developer to spend less time knee deep in code and more time doing what you do best: being creative.
Flatware is coded in C++ using OpenGL, OpenAL, and a few other third party helpers all of which have great cross platform support in order to bring a seamless experience across all supported platforms. The Flatware team only uses Free Open Source Software in development because we are committed to the ideals of the FOSS philosophy. For more information, please check out the Open Source Initiative and the Free Software Foundation.
Flatware is released under the GNU GPLv3 License.
History of Flatware
Flatware began as two separate searches for a good base to create a few personal indie games with. When we both found that such a beast did not exist, we decided that it was our duty to make one (because obviously no one else was going to) and so many ideas and brainstorms happened. Unfortunately, those brainstorms were more like mild sprinkles (or a slight misting in my case) that didn’t go anywhere. Then one fateful day in a totally unrelated class, both MadCat and myself discovered that we had similar passions and the groundwork was laid for the project.
The initial draft of Flatware was created in an independent study at East Tennessee State University under the guidance of Professor Jeff Roach. While we received good grades for the project, we overall felt it was too messy and inelegant, so we scraped the whole thing (which was fully working under Linux) in order to try again with proper software engineering documentation. The culmination of that revision is what you see here now.