Bitmasks are a very useful way to compress multiple boolean flags in a single variable. It can reduce memory usage and operations on bits are basically as fast as they can get. In practice, any time you want to have multiple flags describing something in your application, a bitmask could be the right tool for the job.
Field of View algorithm can be used to create multiple game features. It can determine which tiles should be visible to the player, or which tiles should be lit starting from some light source. You could even use the same calculations when animating explosions.
ECS (Entity Component System) is a great architectural pattern that is perfect for building medium to big games, that offers some advantages over traditional OOP (Object Oriented Programming). In short, when using ECS, every game object consists of Entity - unique ID, multiple Components that hold data, and Systems that operate on and manipulate components. This separation allows for much easier implementation of independent features than big objects built with inheritance.