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

Controlling the volume

Fixing the volume of the music and sound effects is very easy and only requires a few small changes. Let's take a look:

  1. Open the main.dart file. In the onLoad function, where we added the call to play the background music, change this line to pass the volume parameter:
    await FlameAudio.bgm.play('music/music.mp3',
      volume: 0.1);

Here we set the music volume to 0.1, keeping it low so we can hear the sound effects better. The volume parameter can be any value between 0.0 and 1.0 (0.0 mutes the sound of the music or sound effect completely, whereas 1.0 plays the sound at full volume).

  1. Open the george.dart file and let's update the calls to play each sound effect to use the volume parameter. In the onCollision function, update the enemy dying sound effect like this:
    FlameAudio.play('sounds/enemy_dies.wav', volume: 1.0);
  2. In the update function, change the two calls to play the running sound effect, and...