Casual Games Toolkit
The Flutter Casual Games Toolkit pulls together new and existing resources so you can accelerate development of games on mobile platforms.
This page outlines where you can find these available resources.
Why Flutter for games?
The Flutter framework can create performant apps for six target platforms from the desktop to mobile devices to the web.
With Flutter’s benefits of cross-platform development, performance, and open source licensing, it makes a great choice for games.
Casual games fall into two categories: turn-based games and real-time games. You may be familiar with both types of games, though you might not have thought about them in quite this way.
Turn-based games cover games meant for a mass market with simple rules and gameplay. This includes board games, card games, puzzles, and strategy games. These games respond to simple user input, like tapping on a card or entering a number or letter. These games are well suited for Flutter.
Real-time games cover games a series of actions require real time responses. These include endless runner games, racing games, and so on. You might want to create a game with advanced features like collison detection, camera views, game loops, and the like. These types of games could use an open source game engine like the Flame game engine built using Flutter.
What’s included in the toolkit
The Casual Games Toolkit provides the following free resources.
-
A repository that includes three new game templates that provide a starting point for building a casual game.
-
A base game template. It includes the basics for:
- Main menu
- Navigation
- Settings
- Level selection
- Player progress
- Play session management
- Sound
- Themes
-
A card game template. It includes everything in the base template plus:
- Drag and drop
- Game state management
- Multiplayer integration hooks
-
An endless runner template created in partnership with the open source game engine Flame. It implements:
- A FlameGame base template
- Player steering
- Collision detection
- Parallax effects
- Spawning
- Different visual effects
-
- Developer guides for integrating needed services.
- A link to a Flame Discord channel. If you have a Discord account, use this direct link.
The included game templates and cookbook recipes make certain choices
to accelerate development.
They include specific packages, like provider
, google_mobile_ads
,
in_app_purchase
, audioplayers
, crashlytics
, and games_services
.
If you prefer other packages, you can change the code to use them.
The Flutter team understands that monetization might be a future consideration. Cookbook recipes for advertising and in-app purchases have been added.
As explained on the Games page, you can leverage up to $900 in offers when you integrate Google services, such as Cloud, Firebase, and Ads, into your game.
Get started
Are you ready? To get started:
- If you haven’t done so, install Flutter.
- Clone the games repo.
-
Review the
README
file for the first type of game you want to create. - Join the Flame community on Discord (use the direct link if you already have a Discord account).
-
Review the codelabs and cookbook recipes.
- Build a multiplayer game with Cloud Firestore.
- Make your games more engaging with leaderboards and achievements.
- Monetize your games with in-game ads and in-app purchases.
- Add user authentication flow to your game via Firebase Authentication.
- Collect analytics about crashes and errors inside your game with Firebase Crashlytics.
- Set up accounts on AdMob, Firebase, and Cloud, as needed.
- Write your game!
- Deploy to both the Google Play and Apple stores.
Example games
For Google I/O 2022, both the Flutter team and Very Good Ventures created new games.
-
VGV created the I/O Pinball game using the Flame engine. To learn about this game, check out I/O Pinball Powered by Flutter and Firebase on Medium and play the game in your browser.
-
The Flutter team created I/O Flip, a virtual CCG. To learn more about I/O Flip, check out How It’s Made: I/O FLIP adds a twist to a classic card game with generative AI on the Google Developers blog and play the game in your browser.
Other resources
Once you feel ready to go beyond these games templates, investigate other resources that our community recommends.
Feature | Resources |
---|---|
Animation and sprites |
book_5 Special effects |
App review |
package_2 app_review |
Audio |
package_2 audioplayers |
Authentication | |
Cloud services | |
Debugging |
quick_reference_all Firebase Crashlytics overview |
Drivers |
package_2 win32_gamepad |
Game assets and asset tools |
photo_album CraftPix |
Game engines | |
Game features |
book_5 Add achievements and leaderboards to your game |
Games services integration |
package_2 games_services |
Legacy code |
science Use the Foreign Function Interface in a Flutter plugin |
Monetization |
book_5 Add advertising to your Flutter game |
Persistence |
package_2 shared_preferences |
Special effects |
api Paint API |
User Experience |