We have reached the end of this chapter, and we have conquered the majority of our game framework, as we can see in the following diagram:
We have created a game framework that would need only a few changes if we added 1 or 1,000 more enemies to our game. Some of the benefits of this use of reusable code and ScriptableObject is that it will benefit non-programmers, save time, and prevent collaborators from being bogged down in the code.
We have also made it so that if and when we want to add more EnemySpawner points, we can drag and drop more prefabs into our scene and update its ScriptableObject to change the enemy without coding in exact Vector3 locations.
We've covered other common Unity features including instantiating game objects such as enemies and player bullets.
In the next chapter, we will be covering the following scripts:
- ScoreManager: When an enemy is destroyed, the player will receive a score.
- ScenesManager: If the player dies, one life will be deducted; if the player loses all of their lives, the level will reset.
- Sounds: Our ships and bullets will also have added sounds.
Finally, we will be updating the overall structure of our code.