Game developer on Unity - course RUB 71,172. from GeekBrains, training 11 months, Date: June 10, 2023.
Miscellaneous / / November 27, 2023
Basics of programming
The course is aimed at people with no programming experience. To start learning, it is enough to have computer skills at the level of the most ordinary user. All training will take place in the browser and you will not need to install additional software. You will learn what a program is, how it is executed, and get acquainted with the basic operations in programming. We will talk about basic data types, arrays, branching, loops and functions in accessible language. You will gain experience in solving simple but interesting problems, which will give you the basis for learning to solve much more serious problems.
Lesson 1. Program, variables and data types
After the lesson, you will have an idea of what a program is, that it consists of instructions and data, you will learn scalar data types in JS, you can write a program that multiplies two numbers entered by the user and prints result.
Lesson 2. Flowcharts and branches
After the lesson, you will have an idea of how to visualize algorithms using flowcharts, understand the work of comparison operators, understand how to use branching and what problems it solves
Lesson 3. Cycles
After this lesson, you will have an understanding of how to visualize cyclic algorithms using flowcharts, how to use loops, and what problems they solve.
Lesson 4. Functions
After the lesson, you will have an idea of what problems are solved by putting code into functions, and be able to create functions, including those that take arguments.
Lesson 5. Arrays
After the lesson, you will have an idea of what problem arrays solve, be able to create arrays, add and receive its elements.
Git. Basic course
Git Basics
13 videos will teach you the basics of working with the Git version control system. You'll learn why it's important in modern development. Learn the basic concepts: repository, commits, branches and tags. Master key operations: creating and cloning a repository, merging branches, querying change history, and much more. After training, you'll be ready to use Git to prepare homework assignments for programming courses in any language. Plus, you'll get closer to the interview, where several questions usually focus on version control.
Lesson 1. Introduction to Git
Lesson 2. Installing and Configuring Git
Lesson 3. Basic terminal commands
Lesson 4. Working with repositories in Git
Lesson 5. Repository File Management
Lesson 6. History of changes
Lesson 7. Working with repository branches
Lesson 8. Publishing a repository
Lesson 9. Branch merges
Lesson 10. Version management
Lesson 11. Creating a pull request
Lesson 12. Complex operations
Lesson 13. Working with Fork repositories
Basics of the C# language. 1 month.
Basic course
C# is a programming language whose knowledge helps you earn money. It is in demand in the development of games, web and Windows applications. The course will help beginners in programming solve practical problems using C#, and most importantly, think like a programmer. We will pay special attention to object-oriented programming (OOP), the principles of which often raise questions among beginners. You will consolidate all acquired knowledge in practice.
Lesson 1. Introduction. Basic data types. Console. Classes and methods.
What is the .NET Framework; Create a console application in VisualStudio. Variables. Data types and their conversion. We output and enter data through the console. First acquaintance with methods and classes.
Lesson 2. Control structures
We control the progress of the program. We use a procedural approach to writing programs. Let's get acquainted with recursion.
Lesson 3. Methods. From structures to objects. Exceptions
Methods; recursion; structures; from structures to objects; static fields and methods; exceptions;
Lesson 4. Arrays. Text files
From objects to arrays. From arrays to “complex” problems. Text files
Lesson 5. Characters, strings, regular expressions
Characters and strings; immutable strings; StringBuilder, StringReader and StringWriter; regular expressions; practice.
Lesson 6. Delegates, files, collections
Delegates; organization of the input-output system; working with the file system; collections; practice.
Lesson 7. Introduction to Windows Forms
From console application to Windows Forms; events and their handlers; class Form; Let's create the first application.
Lesson 8. Programming “like an adult”
About reflection; what is XML; serialization and deserialization; We are creating a question editor for the game “Believe it or not.”
Introducing Unity. 1 month.
Introducing Unity
The course introduces the Unity ecosystem for creating 2D and 3D games. During the classes, you will strengthen your programming skills in C#, master the basic tools of the Unity editor and approaches used in the development of single-player games. At the end of the course, you will understand how most of the current game mechanics work and how to implement them in practice.
Lesson 1. Introduction to Unity
Unity as an ecosystem. Unity development history. Areas of application. Creating a new project. Editor interface. Game objects, components. Scene navigation. The concept of prefab. Hotkeys. Build the project. Asset store. Examples of finished projects.
Lesson 2. Creating the first game scene
Creating your first game from components, sprites and scripts.
Lesson 3. Introduction to vectors and creating game logic
Distance calculation, directions, triggers and collisions
Lesson 4. Creation of artificial intelligence
Introduction to the NavMesh system, working with NavMesh Agent and baking a navigation mesh.
Lesson 5. Physics-based motion and deferred functions
Classes Mathf, Random, Invoke. Coroutines, RigidBody AddForce, Physics RayCast
Lesson 6. Animation and Mecanim
Legacy animation system. Character animation based on Mecanim.
Lesson 7. Interface development
Objects and components for user interface development: Canvas, Canvas Scaler, Graphic Raycaster, Rect Transform, Text, Image, Raw Image, Button, Toggle, Toggle Group, Slider, Scroll View, Scroll Rect, Scroll Bar, Dropdown, Input Field. Event System. Event Trigger.
Lesson 8. Audio and Particle System
Mixer, reverberation zones, TextMesh Pro, effects creation.
3D game development. 1 month.
3D game development
The course will help you “pump up” the visual implementation of your 3D project in Unity. You will learn what graphic pipelines are and how to use them. Learn how to create landscapes, debug frames, apply shaders, optimize materials, lighting, animation and GUI. To help your game shine with graphics, you'll learn how to post-process game scenes.
Lesson 1. Landscape creation
In this lesson: 1. Let's get acquainted with Terrain and its tools. 2. Let's learn how to create wind zones, water, sky (Skybox), fog effect. 3. Let's figure out how the built-in tree editor works.
Lesson 2. GUI programming interface
In this lesson: We will learn about the old interface system and how it is used today. We will also learn how to write game logic with just one MonoBehaviour, while successfully applying the “one class - one responsibility” programming principle.
Lesson 3. Working with materials, types of graphic pipelines
In this lesson you will learn what lighting models there are, what normal maps are and how to use different cards, realistic images in games are achieved without extremely expensive operations for the video card and processor. You will also learn how to bake light maps into texture atlases to save expensive calculations of light and shadows, which are calculated every frame in real time.
Lesson 4. Animations and Blend-trees
In this lesson you will learn what avatars are for 3D models and why they are needed, what bones are for characters, what the main types of skeletons are (Humanoid, Generic) and how they differ. Learn to work with Blend Trees and use different types of blending.
Lesson 5. Working with IK Animation and creating a Ragdoll
In this lesson you will learn how to work with inverse kinematics of character bones through character avatar models, mix different animation layers using an avatar mask, for example one set of animations for the torso, another for faces. You will also learn how to make a Ragdoll (simulation of realistic physics of the human body in free fall).
Lesson 6. Working and optimizing light in Unity
In this lesson, you will learn what lighting and reflection probes are, what types of rendering there are, and how they differ. Learn to understand the lighting settings on stage in more depth and select the most optimal approach to optimizing the scene.
Lesson 7. Post-processing of the scene
In this lesson you will learn about effects and optimization. Post-processing is the process of applying full-screen filters and effects to the camera's image buffer before it is displayed on screen. It can dramatically improve the visuals of your project in a short setup time. Post-processing effects can be used to simulate the physical properties of a camera or film, such as artificial glow, depth of field, chromatic aberration, or color correction.
Lesson 8. Debugging a game project
Rendering Statistics. Profiler. Debugging. Quality Settings. Optimization: Frustum Culling, Occlusion Culling, textures and materials, lighting and shadows, scripts. Physical components: Join family, Cloth component.
Basics of C# in Unity. 6 weeks.
C# Basics in Unity
The course introduces the basics of object-oriented programming, MVC architecture, and the capabilities of the C# language, which will be useful to you for developing games and applications in Unity. You'll learn the necessary algorithms and data structures, how to use events and handle exceptions, how to save and encrypt data, and then use it again in the game. To consolidate your knowledge in practice, you will implement a mini-map and radar in your game, and also learn how to create screenshots of the game screen using the game itself.
Lesson 1. OOP Basics in Unity
In this lesson: 1. You will learn what a class and structure are and how they differ from an object. 2. You will understand what a class and structure consists of. 3. Find out what OOP is based on. 4. Get acquainted with the features of the C# language.
Lesson 2. Interfaces and Generics
In this lesson: 1. You will learn what an interface is. 2. Let's look at standard interfaces. 3. Let's learn to write our own. 4. Learn what generalizations are. 5. Let's look at indexers. 6. Get acquainted with the features of the C# language.
Lesson 3. Delegates and events. Exceptions
In this lesson: 1. You will learn what delegates are. 2. Let's analyze and learn how to use events. 3. Let's learn to work with an exceptional situation.
Lesson 4. Consultation with a teacher
Lesson 5. MVC architecture
In this lesson: 1. You will learn what MVC architecture is. 2. Let's learn how to load prefabs from resources.
Lesson 6. Consultation with a teacher
Lesson 7. Basics of data structures, linq queries. Extension Methods
In this lesson: 1. You will learn what a data structure is. 2. Let's learn to use Linq expressions. 3. Get to know the basic algorithms. 4. Let's look at extension methods. 5. Get acquainted with the features of the C# language.
Lesson 8. Saving data. Minimap
In this lesson: 1. Let's learn how to save data in different ways. 2. Let's learn how to encrypt data. 3. Get to know the Repository pattern. 4. Let's add a mini map and radar to the game. 5. Let's learn how to create a ScreenShot of a game screen.
Lesson 9. Working with the Editor class
In this lesson: 1. Let's get acquainted with the editor extension. 2. Let's learn how to use attributes and create your own.
Lesson 10. Consultation with a teacher
Lesson 11. Additional features of the C# language
In this lesson: 1. Let's learn to use tuples. 2. Get acquainted with the features of the C# language.
Architecture and design patterns in C#. 6 weeks.
Architecture and Design Patterns in C#
The course will help you evaluate your project through the eyes of a professional C# developer and create clean code that you are not ashamed to show to your colleagues. You will learn to build connections between classes and modules, avoid writing unnecessary “bicycles” and find adequate technological solutions for your tasks. After the course, you will be ready to participate in the design of new features together with other programmers.
Lesson 1. Introduction to Patterns. What it is. Patterns and antipatterns
In this lesson: 1. Get acquainted with the concepts of pattern and antipattern. 2. Find out what mistakes novice developers make.
Lesson 2. Basic Templates
In this lesson: 1. Let's learn the basic principles of program code design.
Lesson 3. Generative Patterns (Factory and Pool)
In this lesson: 1. Let's find out why factories are needed and where to use them. 2. Let's learn how to reuse objects using the object pool pattern.
Lesson 4. Consultation with a teacher
Lesson 5. Generative Patterns (Multi/Singleton)
In this lesson: 1. Let's get acquainted with generative patterns.
Lesson 6. Structural patterns
Adapter. Bridge. Linker. Decorator. Facade. Opportunist. Mediator.
Lesson 7. Consultation with a teacher
Lesson 8. Behavioral patterns (Chain, Team, Mediator)
Chain of responsibilities. Team. Interpreter. Iterator. Mediator. The keeper.
Lesson 9. Behavioral Patterns (Observer, State, Strategy)
NullObject. Observer. State. Strategy. Template method. Visitor.
Lesson 10. Behavioral patterns (Visitors, Guardian, Iterator)
MVVM pattern. SwitchPattern. TryParse. Repository
Lesson 11. Consultation with a teacher
Team game development. 3 months.
Writing a graduation project
The three-month workshop will give you experience in team game development using Unity. Together with other students, you will implement your final project, the concept and design document for which you prepared in the third quarter. You will improve your communication skills and understanding of the work process, learn to distribute functions and responsibilities in a team, and use the strengths of each participant. This is an important stage in your development in the profession.
Lesson 1. Meeting the team, formulating the idea.
Why do you need to soberly assess your strengths? What should the project description be? Division into roles in the project. Creation of a development team. What is Trello. What is MVP.
Lesson 2. 1st iteration, discussion of work
What is Story Point? How Scrum differs from Kanban What is poker planning. What are iterations? How to meet deadlines.
Lesson 3. 2nd iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 4. 3rd iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 5. 4th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 6. 5th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 7. 6th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 8. 7th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 9. 8th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction.
Lesson 10. 9th iteration, discussion of work
Review of the current iteration. Trello review. Correction of the team's development direction. What types of publishers and investors are there? What to ask from a publisher. How to defend your project to a publisher or investor.
Lesson 11. Preparation for project defense.
Review of the current iteration. Trello review. Correction of the team's development direction. Project defense review.
Lesson 12. Project protection.
Review of the current iteration. Trello review. Correction of the team's development direction. Project defense review.