Week 3 - Architecture, Performance, and Games
- What is software architecture & how do you think about it in relation to making a game in Unity?
Software architecture is the organization of code. When making a game in Unity, you have to keep the construction and organization of your code in mind, and cleaning it up facilitates an easier time overall when making later changes. So, just... make your code not a disaster. Don't build something that'll fall over, I guess.
- What is your primary goal when prototyping, and how does that conflict with "best practices" for software architecture?
When prototyping, the goal is to crank out a workable, playable game as quickly as possible. Best practices for software architecture might want you to take your time, clean up your code, and focus on having a smooth, well-structure
- What is decoupling, and why is it essential to software architecture?
Separating pieces of code in a way that allows you to understand and think about either side without needing to worry about the other. It is essential to software architecture because simplifying what you have to know into smaller bites lets you work on parts of your code without needed as much knowledge.
- Present an example of your own code and explain how you could apply one of the concepts found in the chapter (decoupling, flexibility, simplicity, abstraction, etc.
Well, here's my code! I could probably have just set an x value for the camera to move towards, and when it reaches that, just switch to a different camera as opposed to all that currentPos and moveSpeed stuff. I mean, that's basically what this code is-- it just requires you to go into the inspector and fiddle with things until it's okay. I could also probably have just... not nested if statements.