Book Image

Building Games with Flutter

By : Paul Teale
Book Image

Building Games with Flutter

By: Paul Teale

Overview of this book

With its powerful tools and quick implementation capabilities, Flutter provides a new way to build scalable cross-platform apps. In this book, you'll learn how to build on your knowledge and use Flutter as the foundation for creating games. This game development book takes a hands-on approach to building a complete game from scratch. You'll see how to get started with the Flame library and build a simple animated example to test Flame. You'll then discover how to organize and load images and audio in your Flutter game. As you advance, you'll gain insights into the game loop and set it up for fast and efficient processing. The book also guides you in using Tiled to create maps, add sprites to the maps that the player can interact with, and see how to use tilemap collision to create paths for a player to walk on. Finally, you'll learn how to make enemies more intelligent with artificial intelligence (AI). By the end of the book, you'll have gained the confidence to build fun multiplatform games with Flutter.
Table of Contents (17 chapters)
1
Part 1: Game Basics
5
Part 2: Graphics and Sound
11
Part 3: Advanced Games Programming

Chapter 8: Scaling the Game for Web and Desktop

So far in this book, we have focused on building games for mobile devices that have small fixed-size screens. One of the benefits of Flutter, of course, is that it is a cross-platform framework that works on mobile, the web, and desktop.

However, when building a game that will run on a website, there are issues that we don't face on mobile. If, instead of launching one of the mobile emulators, you choose the Chrome browser as the target platform in Visual Studio Code and then run the game, you would notice that the map and UI are drawn incorrectly, that there is no background music, and touch events don't work properly.

In this chapter, we will convert the game so that it works on the web and desktop, making sure to fix these issues. When dealing with resizing, we will need to redraw the map and reposition all our components based on our new screen size. Some screens are very high resolution and larger than our physical...