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

Detecting tile collisions

So far in our game, we have used component-level collision detection to detect collisions between George and the coins and enemies. When you are working with map levels, you will generally add other objects on the map that act as barriers, such as water, buildings, or trees. As the player navigates around maps with these types of items, we want to ensure that neither George nor enemies walk through these objects.

In the Understanding map navigation section, we removed the ScreenCollidable component to allow the enemies to freely move around the map, but now the enemies and George can wander off the map.

In this section, we are going to add a water barrier that will go around the map. We will check for collisions to prevent both George and the enemies from being able to leave the map. We will read the map locations of the water from an object layer and create new Water components. We will make these components collidable and add these to the game so that...