2021. Pavel Rumayncev. Copying or distribution of the materials outside the website is strictly prohibited.
Basics of game architecture
1. What is Game Architecture?
2. Game architecture as a skill
3. Why game architecture is important
4. Vector School approach to game architecture
5. Archilense. Exercise 1
6. Archilense. Recommendations
7. The real power of Archilense
8. Archilense. Exercise 2
Vector School
The goal of Vector School and the lessons/courses it offers is to teach you how to create advanced and flexible architectures, instruct you in advanced game programming techniques in Unity, structure your code, and provide all the necessary knowledge to create games of any complexity.
Architecture and code design are the key to creating games of any complexity, and they are the knowledge that distinguishes a professional developer from a beginner.
Game architecture / Software architecture
1
Software Architecture - fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprise software elements, relations among them and properties of both element and relations.
2
Software Architecture - set of software elements, relations among them and properties of both.
Professional game developer
A professional game developer that has architectural skills, can analyze the game that he is going to develop and come up with the vision or conceptual model of the code architecture that he is going to create.
He sees the structure, elements, the properties of those elements and has an idea about how to connect those elements.
He can think about splitting the codebase into architectural layers such as visual layer, service layer, data layer.
Key design principles
When creating a class, always consider these four crucial aspects - the responsibilities of the class, states and behaviors, calls and notifications, and its contract.
It is very important to develop the skill of identifying visual and non-visual elements, as well as understanding that the responsibilities of the class and its contract are the main things a developer should think about during the planning and analysis stage.
Without preliminary analysis, you might spend several days or weeks writing code and end up creating such tangled code that you won't understand it yourself.
Encapsulation
Encapsulation - the idea of creating code structures that hide their values and state, preventing direct access in a way that could expose implementation details or break the object state.
During the creation of an element's contract, always emphasize good encapsulation.
The fewer public members a class has, the fewer connections that class can have with other classes. And that's precisely what makes the code simpler in terms of making changes. There's less risk of breaking the logic of other classes that depend on the one being modified.
A completely different situation arises when the contract of classes is too open - when a class has too many public members. Then, the number of dependencies between classes increases, and the code becomes more complicated. In such a situation, it's much more difficult to make changes to the code because there's a higher risk of breaking something in the functioning of classes that depend on the one we're modifying.
Reading materials
בשיעור הווידאו הזה אני חושף עקרונות חשובים ומורכבים וטכניקות מתקדמות שבהן משתמשים מקצוענים בכל יום. הבנת החומר עשויה להיות מורכבת עבור ג'וניורים ואפילו עבור מפתחים מנוסים. נדרש ניסיון רב על מנת להתפתח ולהבין באופן מלא. אני ישמח לעזור לכם לא רק להבין, אלא גם להסביר כיצד להשתמש בטכניקות אלה בפועל. זה יסייע לכם להתפתח כמפתחי משחקים מקצועיים.
תזמינו שיעור אישי איתי.