Flutter is a great tool for developing apps for multiple platforms from a single codebase. This also makes it an excellent way to get your app to many users with a faster pace.
As a matter of fact, that very same idea makes Flutter a great tool for developing games as well. Since, you can publish and make your viral into both platforms - Android and iOS in the effort and time of development of game in a single platform. That’s where Flame comes in.
In this video course you will learn to create a game from scratch using Flame & Flutter.
You’ll be making Meteormania, a space-themed shooter arcade video game inspired by the classic game Asteroids developed for the Atari in the 80s.
So, what is Flame, really? Well… It’s an open source game engine built on top of Flutter’s awesome infrastructure and simplifies the code needed to develop games.
Flame’s out-of-the-box features include:
- A game loop
- Input handling
- Collison detection
- Sprite & Spritesheet management
- Animations
- Flame’s Component System (FCS)
- And few other utilities to make game development much easier
Flame also has some stand alone packages that will allow you to extend (to a certain point) Flame’s functionality.
Here’s a list of some official packages and what they are used for:
- flame_audio: It is useful for playing and managing audio assets like sound effects or background noises.
- flame_svg: It helps you display SVG files in your project.
- flame_forge2d: It provides a complex and robust physics engine based on a Box2D port called Forge2D.
- flame_tiled: It will let you add tiles to your game by integrating a package called tiled.
This list doesn’t end here though. There are other additional modules that integrate different libraries to Flame as well.
Now, although Flame makes it easier for you to develop a game, it can’t cover all the features you might need in your game.
Here are some of the things that Flame at the moment of recording can’t help you with:
- Multiplayer Gaming: Flame does not come with any network feature that are needed for online multiplayer games. This means that any multiplayer implementation must be done by coordinating your Flame game with other packages or services.
- External Assets: Loading assets from the network or external storage is not something that Flame has implemented. If you need to load assets from the internet then you will need to write your own code.
Alright, now since we have recieved an introduction of Flame. We’ll now start putting focus in building Meteormania game :]