Summary
Games are a very special kind of app. They are based on displaying and moving sprites on the screen, depending on the time and the user interaction. That is why we spent most of this chapter explaining how we could easily display all the images in the most performant way and how to position and size them.
We also reviewed a common trick to position and size sprites relatively to the height and width of the device screen.
Despite not being designed for games specifically, Redux was used to store and distribute the sprite's data around the components in our app.
At a general level, we proved that React Native can be used to build performant games and, although it lacks game-specific tooling, we can produce a very readable code which means it should be easy to extend and maintain. In fact, some very easy extensions can be created at this stage to make the game more fun and playable: increase speed after passing a specific amount of obstacles, reduce or increase the gap size, show more...