Flutter
Published in

Flutter

Announcing the Flutter Casual Games Toolkit

A starter kit of resources to help you get from concept to launch

For most developers, Flutter is an app framework. But there’s also a growing community around casual game development, taking advantage of the hardware-accelerated graphics support provided by Flutter.

Over the past year, thousands of Flutter games have been published. For example, Lotum, the game company behind the all-time popular word puzzle game 4 Pics 1 Word, rewrote the entire game in Flutter. Flame, a community-driven open-source game engine built on top of Flutter, has been steadily growing both its contributors and users.

Mobile games developed in Flutter

To understand how we might provide better support, we interviewed several developers who have successfully built and released Flutter mobile games. We asked what they love about creating games using Flutter, and their answers revealed several themes:

  • Flutter is simple to learn and easy to use for building UIs and casual games
  • Flutter allows them to look into the framework source code (no “black boxes”) and have full control of the canvas
  • Flutter has an open ecosystem where you can find (and leverage) many useful packages, plugins, and libraries
  • Flutter is portable — you write your code once and the game compiles to be multiplatform by default

Meanwhile, study participants mentioned that the biggest challenge in creating a Flutter game is finding resources and learning materials to get started and integrate with platform gaming services. To address these needs, we’re releasing a new starter toolkit to accelerate your game development.

The Flutter Casual Games Toolkit offers a specialized template (developed by Filip Hracek) that you can use to build your own game. This starter project provides pre-built “bells & whistles” such as a main menu, a settings page, sound support, and so on, but leaves the fun part to you: building the game!

Tic-Tac-Toe game running on a mobile device

Video Tutorial

To get started, check out the video tutorial on how to use the game template. It gives you a step-by-step guide on building a Tic-Tac-Toe game (also available for download from the iOS/Android stores). To see all the nitty-gritty details that Filip experienced as he developed the game, check out his raw dev log.

Pre-integrated services

In addition to the common UI and functional elements you might need for a game, you get pre-integrated modules and sample code for critical services required for game development. For example, the game template integrates the Apple Game Center and Google Play Games Services so you can easily display features like leaderboards and achievements.

If you plan to monetize your game, the template uses the Google Mobile Ads SDK, and shows you how to implement sample Ads. The template also uses the In-App purchase package allowing you to offer players additional content in your game like premium experiences, digital goods, and subscriptions.

Lastly, the game template includes Firebase Crashlytics, so you can gain more insights into any crashes or errors that might occur in your game. All the source code for the game template can be found in this Flutter samples repository on GitHub.

Flutter Game Discord Channel

One of the strengths of Flutter is its helpful and welcoming community. To chat with other Flutter game developers, ask questions, and share best practices, consider joining the dedicated game channel on r/FlutterDev’s Discord server! Big thanks to Flutter community member @Miyoyo for helping create this community space to support Flutter game developers! (By the way, if you are already a member of the r/FlutterDev community, here is a direct link.)

Google Ads and Cloud Credits

If your game needs Cloud or Firebase services, or you want to promote your game to more users with Ads, you can get up to $900 in credits offered by the Google Ads and Cloud teams (terms and limits apply)!

Start with mobile, but go beyond

We’ve learned from past research that the majority of Flutter games today are casual mobile games, so we prioritized mobile scenarios when designing the Flutter Casual Games Toolkit.

This doesn’t mean that your creativity should be limited to mobile platforms. In fact, the sample Tic-Tac-Toe game can run on the web and desktop as well!

Tic-Tac-Toe game running on the web and desktop

Meanwhile, we recently added support for the community-driven game engine Flame on DartPad, so you can explore building games with Flame on DartPad without downloading the SDK. What’s more, the web-based pinball game, written by Very Good Ventures (VGV) and launched at Google I/O, was built in Flutter using the Flame engine! To learn how the pinball game was created, check out the Pinball article from the VGV team or view the code.

Web-based pinball game

Game development is a new but exciting scenario for Flutter! Going forward, we hope to add more codelabs and other resources to help you develop your games. This is our first attempt at making it easier for you, and we are fully aware that there may be many areas for improvement. We’ve recently started collaborating with community member @wolfenrain to triage game-related issues. Please file an issue (or vote on an existing issue) on GitHub if you need product features that you hope the Flutter SDK can better support.

flutter.dev/games

Please check out the dedicated game development page, where you can learn more about the above-mentioned resources, and also find links to documentation, and references to libraries, packages, and tools recommended by game development experts in the Flutter community.

Since the launch of Flutter 1.0, you have continued to amaze us with great apps, and now we can’t wait to see what exciting games you will launch with Flutter!

Flutter is Google's mobile UI framework for crafting high-quality native interfaces on iOS, Android, web, and desktop. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source. Learn more at https://flutter.dev

Recommended from Medium

Building REST API with Python, Flask and Azure SQL

Cultivate Your Can-Do Attitude

Using Maven to Build Docker

Avoid downtime during the auto-scaling scale-out event

How To Find Your First Developer Job

Is AWS Mobile Hub ready for prime time?

How to speed up Angular build times with caching

How To Power Your App Using a Realtime Data CDN

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Zoey Fan

Zoey Fan

Product Manager for Flutter, Google

More from Medium

What’s new in Flutter 3.0 in brief for lazies

My thoughts on the release of Flutter 3

Perspectives from early adopters of Flutter as a game development tool

Summarized responses to the question: “which of the following statements best describe your experience using Flutter to build games?”

Thoughts On Flutter 3.0

Flutter 3 promotional image