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

Introduction to Tiled

Tiled is a free, open source, easy-to-use, and flexible level editor that can be downloaded from https://www.mapeditor.org/.

Figure 7.1 – Editing a map with the Tiled map editor

The levels we create with Tiled are known as tile maps. Tile maps are very common in 2D game development as they allow us to create large maps or levels out of fixed-size tiles.

A tile map is like a sprite sheet, which we have used before in Chapter 4, Drawing and Animating Graphics. The data is stored in one large image, and we extract what we need into smaller components.

This is a very performant and memory-efficient way of creating maps larger than the physical screen size. If you were to try and make this with a very large image, the image would need to be loaded into memory, which may cause the game to crash or run very slowly.

Let's look at an example of some graphics from a tile map and how they might be used. The following example...