Unreal Engine 5 - Gameplay Ability System - Top Down RPG
Create a multiplayer RPG with Unreal Engine's Gameplay Ability System (GAS)!
Create a multiplayer RPG with Unreal Engine's Gameplay Ability System (GAS)!
This is the most comprehensive Unreal Engine course available. If you want to learn how to architect a fully-functional RPG game, this course will give you the ability to do so with an expandable code base, architected with AAA quality code. If you've ever wondered where to draw the line between C++ and Blueprints, this is the course for you. If you've ever wanted to create an RPG complete with a stats system, abilities, leveling up, spells, attributes, menus, all while keeping your code base clean and following best practices, this is the course for you. If you want to step up your Unreal Engine development capabilities and better understand the inner workings of the engine, this course is for you. If you have plans to make your own serious game with interconnecting systems, involving attributes, abilities, level ups, enemies and AI, and coded for multiplayer, this is the course for you!
In this course, we will create a top-down RPG style game, filled with systems architected using Unreal Engine's built-in Gameplay Ability System (GAS). This is where you will learn how to architect a shipped game, and code it expertly so it can be easily expanded, upgraded, and maintained. We follow SOLID coding principles, and balance the Blueprint/C++ ratio in a way that AAA shipped games do, such as Fortnite. My experience with AAA shipped game code, as well as consultations with industry veteran developers has allowed me to reveal to you the way a real shipped game's code base looks like. If you've ever wondered how much of a game can be kept in Blueprint versus C++, look no further. This course is the answer.
NOTE: This course involves programming in C++, which involves the use of an Integrated Development Environment (IDE) such as Visual Studio, Rider, or VSCode. The IDE used in this course by me will be Rider, but this IDE is not a requirement for students to follow the course. You can use any IDE of your choice.
The assets in this game project were made specifically for this course, and will be provided in an asset pack. This includes:
Characters, including Aura, the main character, as well as enemy characters including Goblin Warriors, Goblin Rangers, a Goblin Shaman, Red and Black Demons, the Ghoul, and a Shroom.
A modular dungeon pack that can be pieced together to make basic dungeons
A waypoint shrine and obelisks
Particle Niagara System Effects, including explosions, level up effects, slingshot rocks, hit impacts, electricity beams, fireballs, fire bolts, flames, stars for stun effects, and more!
Sound effects for enemies, footsteps, spells, and more!
Textures for the HUD, including high-quality buttons, frames, dynamically-animated spell globes, progress bars, XP bar, and more!
Full animation sets for Aura and all enemies
Much more!
In this course, we will be covering the following topics:
Setting up a Top-Down Project from scratch
Enemy and item selection with outline effects
Proper use of OOP and inheritance to create a character class hierarchy
Intro to the Gameplay Ability System and the core classes that comprise it
Custom Gameplay Ability System Components and Attribute Sets, and how to replicate Attributes
All important settings for all GAS classes and components
How to use Attributes for player stats, including Primary Attributes:
Strength (increases physical damage)
Intelligence (increases magical damage)
Resilience (increases Armor and Armor Penetration)
Vigor (increases Max Health)
Secondary Attributes, based off of primary attributes and other custom variables:
Armor (reduces damage taken, improves Block Chance)
Armor Penetration (ignores percentage of enemy Armor, increases Critical Hit Chance)
Block Chance (change to cut incoming damage in half)
Critical Hit Chance (chance to double damage plus critical hit bonus)
Critical Hit Damage (bonus damage added when a critical hit is scored)
Critical Hit Resistance (reduces critical hit chance of attacking enemies)
Health Regeneration (amount of Health restored every 1 second)
Mana Regeneration (amount of Mana restored every 1 second)
Max Health (maximum amount of Health obtainable)
Max Mana (maximum amount of Mana obtainable)
Vital Attributes - things like Health and Mana, which are dependent on all the other attributes
Gameplay Effects - classes in the GAS system used to apply changes to attributes
Gameplay Tags - an essential part of GAS, which allows us to identify qualities, attributes, abilities, character classes, and any other thing we can imagine
Game UI - how to handle complex UI in an RPG game efficiently, in an organized, modular, and scalable manner. We cover different UI paradigms, from MVC (Model View Controller) and MVVM (Model View ViewModel, using Unreal Engine's new ViewModel feature)
Full Attribute and Spell Menus, with upgrade abilities, spell trees, locked spell levels, spell upgrades by ability level, and more
Attributes - how to use Gameplay Attributes to represent player stats, and incorporate them into the gameplay mechanics by creating an Effect Application pipeline, allowing for calculations and results caused by phenomena in the game, such as combat damage
Gameplay Abilities - the heart of GAS. We create all manner of types of gameplay abilities to handle the casting of spells, handling important capabilities of the player character and enemy AI, and how to configure different abilities to suit your needs.
Different RPG Classes - we implement different character RPG classes including the Ranger, Warrior, and Elementalist, and do so in an easily-scalable manner so you can have any number of character class types in your game
Damage and Combat - we implement a full RPG style combat system with different damage types, damage resistances, and debuffs corresponding to damage types, and encode these calculations into our damage pipeline. All attributes, damage types, resistances and debuffs are functional in this game.
All combat mechanics are displayed in some form of visual feedback to the player. This includes floating text for damage, changing color based on custom criteria, floating text to inform of critical hits, blocked hits, and critical blocked hits. We also implement knockback and stun mechanics in response to lightning damage, incapacitating the character/enemy, as well as fire debuffs, where characters are set ablaze and take fire damage while burning.
Enemy AI - We implement the enemy behavior using Unreal Engine Behavior Trees and the Environment Query system (EQS) to provide customized behavior for the Ranged, Warrior, and Elementalist enemy types.
Enemies can cast spells and summon AI minions
Fading geometry when it gets in the way of the camera for a top-down game
Ability Cost and Cooldown (spells spend Attribute resources - in this game, spells cost Mana)
Fully functional HUD with Equipped Spells, displaying spell cooldown timers, and experience (XP)
The ability to assign Abilities to different inputs in the spell menu (assign FireBolt to the 1 key and Electrocute to the Left Mouse Button, swap them back, etc.)
Experience and Level-Up System - We craft an experience system, awarding XP for eliminating enemies, and leveling up when reaching XP thresholds for various abilities. XP and Level are displayed in the HUD, and Level Up messages and effects are as well. Leveling up is associated with gaining Attribute Points and Spell Points, which can be used to upgrade Attributes and Spell abilities in the Attribute and Spell Menus respectively, as well as topping off Health and Mana upon Leveling Up. (Basically, you will see enough examples of how to use this system that you'll be able to expand it with any functionality you want for your own games)
Passive Spells - Spells that you can equip which remain active while they are equipped.
A variety of Offensive Spells, showcasing different examples and features of GAS, including FireBolt, Electrocute, Arcane Shards, and FireBlast.
Saving Progress and Level Transitions
Intermediate/Advanced Unreal Engine topics, including custom Async Tasks, Ability Tasks, Blueprint Function Libraries, Asset Managers, Singletons (and why these are only good for a VERY select few cases), custom Gameplay Effect Contexts, Net Serialization, Struct Ops Type Traits, C++ Lambdas, game mechanics algorithms, and oh, so much more.
How to choose which functionality should go into C++ versus Blueprint - This is one of the most valuable lessons, and is taught all throughout the course. Students often ask me "which functionality should go in C++ versus in Blueprint?" This course is my answer. This is a serious-scale project foundation with over 100 hours of video, and no filler. The project is architected with approximately 50% Blueprints and 50% C++. I show you which functionality should be on the C++ side, which functionality is more appropriate for Blueprints, and why.
SOLID Coding Principles and code architecture - We keep our code base clean in this project. Another question I often get is "Is this best coding practice?" This course is my answer to this question. This is an example of code you would see in a AAA game, shipped to millions of players. Maintaining clean and modular code is essential to a serious game project that needs to be scalable, expandable, modular, maintainable, testable, performant, and efficient. This course will show you how.
This is not a beginner course. I expect you to already understand the C++ programming language and have at least created one Unreal Engine C++ project.
This course is my best course yet, and I'm very proud to bring you the Unreal Engine 5 - Gameplay Ability System - Top Down RPG course, the result of nearly a year of painstaking development, research, consultation with professionals, and asset creation. After taking this course, you will understand Unreal Engine far better than the average developer, and you'll be empowered to create your own well-architected projects, large and small, and you'll bring value to your team, your company, your solo venture, and anyone/anything else you grace with your skillset.
Join the course, and invest in the biggest leap of your game development career.
Stephen Ulibarri, founder of the Druid Mechanics Game Developer Community
This course project is created in Unreal Engine version 5.2. Updates are periodically added to ensure compatibility with newer engine versions.
Khu vực Câu hỏi thường gặp trống
Jetbrains Rider - Now Free for Non-Commercial Use!
Project Creation
Setting up Version Control (Optional)
The Base Character Class
Player and Enemy Characters
Character Blueprint Setup
Animation Blueprints
Enhanced Input
Aura Player Controller
Movement Input
Game Mode
Enemy Interface
Highlight Enemies
Post Process Highlight
Section 2 Quiz
Gameplay Effects
Effect Actor Improved
Instant Gameplay Effects
Duration Gameplay Effects
Periodic Gameplay Effects
Effect Stacking
Infinite Gameplay Effects
Instant and Duration Application Policy
Infinite Effect Application and Removal
PreAttributeChange
PostGameplayEffectExecute
Curve Tables for Scalable Floats
Section 6 Quiz
Gameplay Tags
Creating Gameplay Tags in the Editor
Creating Gameplay Tags from Data Tables
Adding Gameplay Tags to Gameplay Effects
Apply Gameplay Tags with Effects
Gameplay Effect Delegates
Get All Asset Tags
Broadcasting Effect Asset Tags
UI Widget Data Table
Retrieving Rows from Data Tables
Broadcasting Data Table Rows
Message Widget
Animating the Message Widget
Replacing Callbacks with Lambdas
Ghost Globe
Properly Clamping Attributes
Section 7 Quiz
Initialize Attributes from a Data Table
Initialize Attributes with Gameplay Effects
Attribute Based Modifiers
Modifier Order of Operations
Modifier Coefficients
Secondary Attributes
Derived Attributes
Custom Calculations
Player Level and Combat Interface
Modifier Magnitude Calculations
Initializing Vital Attributes
Section 8 Quiz
Initialize Attributes from a Data Table
Initialize Attributes with Gameplay Effects
Attribute Based Modifiers
Modifier Order of Operations
Modifier Coefficients
Secondary Attributes
Derived Attributes
Custom Calculations
Player Level and Combat Interface
Modifier Magnitude Calculations
Initializing Vital Attributes
Section 8 Quiz
Attribute Menu - Game Plan
Attribute Menu - Framed Value
Attribute Menu - Text Value Row
Attribute Menu - Text Value Button Row
Attribute Menu - Construction
Button Widget
Wide Button Widget
Opening the Attribute Menu
Closing the Attribute Menu
Plan for Displaying Attribute Data
Gameplay Tags Singleton
Aura Asset Manager
Native Gameplay Tags
Attribute Info Data Asset
Attribute Menu Widget Controller
Aura Ability System Blueprint Library
Constructing the Attribute Menu Widget Controller
Attribute Info Delegate
Widget Attribute Tags
Mapping Tags to Attributes
Responding to Attribute Changes
Section 9 Quiz
Attribute Menu - Game Plan
Attribute Menu - Framed Value
Attribute Menu - Text Value Row
Attribute Menu - Text Value Button Row
Attribute Menu - Construction
Button Widget
Wide Button Widget
Opening the Attribute Menu
Closing the Attribute Menu
Plan for Displaying Attribute Data
Gameplay Tags Singleton
Aura Asset Manager
Native Gameplay Tags
Attribute Info Data Asset
Attribute Menu Widget Controller
Aura Ability System Blueprint Library
Constructing the Attribute Menu Widget Controller
Attribute Info Delegate
Widget Attribute Tags
Mapping Tags to Attributes
Responding to Attribute Changes
Section 9 Quiz
Gameplay Abilities
Granting Abilities
Settings on Gameplay Abilities
Input Config Data Asset
Aura Input Component
Callbacks for Ability Input
Activating Abilities
Click To Move
Setting Up Click to Move
Setting Up Auto Running
Implementing Auto Running
Code Clean Up
Aura Projectile
Aura Projectile Spell
Spawning Projectiles
Section 10 Quiz
Ability Tasks
Sending Gameplay Events
Spawn FireBolt from Event
Custom Ability Tasks
Target Data
Send Mouse Cursor Data
Receiving Target Data
Prediction in GAS
Orienting the Projectile
Motion Warping
Projectile Impact
Projectile Collision Channel
Projectile Gameplay Effect
Enemy Health Bar
Ghost Bar
Section 11 Quiz
Meta Attributes
Damage Meta Attribute
Set By Caller Magnitude
Ability Damage
Enemy Hit React
Activating the Enemy Hit React Ability
Enemy Death
Dissolve Effect
Floating Text Widget
Showing Damage Text
Execution Calculations
Damage Execution Calculation
ExecCalcs - Capturing Attributes
Implementing Block Chance
Implementing Armor and Armor Penetration
Damage Calculation Coefficients
Implementing Critical Hits
Section 13 Quiz
Meta Attributes
Damage Meta Attribute
Set By Caller Magnitude
Ability Damage
Enemy Hit React
Activating the Enemy Hit React Ability
Enemy Death
Dissolve Effect
Floating Text Widget
Showing Damage Text
Execution Calculations
Damage Execution Calculation
ExecCalcs - Capturing Attributes
Implementing Block Chance
Implementing Armor and Armor Penetration
Damage Calculation Coefficients
Implementing Critical Hits
Section 13 Quiz
The Gameplay Effect Context
Custom Gameplay Effect Context
NetSerialize
Implementing Net Serialize
Struct Ops Type Traits
Aura Ability System Globals
Using a Custom Effect Context
Floating Text Color
Hit Message
Damage Types
Mapping Damage Types to Resistances
Resistance Attributes
Resistance Damage Reduction
Multiplayer Test
Section 14 Quiz
The Gameplay Effect Context
Custom Gameplay Effect Context
NetSerialize
Implementing Net Serialize
Struct Ops Type Traits
Aura Ability System Globals
Using a Custom Effect Context
Floating Text Color
Hit Message
Damage Types
Mapping Damage Types to Resistances
Resistance Attributes
Resistance Damage Reduction
Multiplayer Test
Section 14 Quiz
Enemy AI Setup
AI Controller Blackboard and Behavior Tree
Behavior Tree Service
Blackboard Keys
Finding the Nearest Player
AI and Effect Actors
Behavior Tree Decorators
Attack Behavior Tree Task
Find New Location Around Target
Environment Query System
Environment Queries
EQS Tests
Distance Test
Using EQS Queries in Behavior Trees
Section 15 Quiz
Enemy AI Setup
AI Controller Blackboard and Behavior Tree
Behavior Tree Service
Blackboard Keys
Finding the Nearest Player
AI and Effect Actors
Behavior Tree Decorators
Attack Behavior Tree Task
Find New Location Around Target
Environment Query System
Environment Queries
EQS Tests
Distance Test
Using EQS Queries in Behavior Trees
Section 15 Quiz
Goblin Spear - Sound Notifies
Impact Effects
Melee Impact Gameplay Cue
Montage and Socket Tags
Goblin Spear - Hurt and Death Sounds
Goblin Slingshot - Sound Notifies
Rock Impact Effects
Goblin Shaman - Sound Notifies
Ghoul - Sound Notifies
Ghoul - Swipe Trail
Demon Blueprint
Demon Melee Attack
Demon Ranged Attack
Demon - Sound Notifies
Demon - Dissolve Effect
Shaman Summon Locations
Async Spawn Times
Summoning Particle Effect
Select Minion Class at Random
Minion Summon Montage
Minion Count
Elementalist Behavior Tree
Elementalist Attack Task
Decrementing Minion Count
Adding Juice with Tweening
Enemies Final Polish
Section 19 Quiz
Goblin Spear - Sound Notifies
Impact Effects
Melee Impact Gameplay Cue
Montage and Socket Tags
Goblin Spear - Hurt and Death Sounds
Goblin Slingshot - Sound Notifies
Rock Impact Effects
Goblin Shaman - Sound Notifies
Ghoul - Sound Notifies
Ghoul - Swipe Trail
Demon Blueprint
Demon Melee Attack
Demon Ranged Attack
Demon - Sound Notifies
Demon - Dissolve Effect
Shaman Summon Locations
Async Spawn Times
Summoning Particle Effect
Select Minion Class at Random
Minion Summon Montage
Minion Count
Elementalist Behavior Tree
Elementalist Attack Task
Decrementing Minion Count
Adding Juice with Tweening
Enemies Final Polish
Section 19 Quiz
Health Mana Spells Widget
Spell Globe
Adding Spell Globes
XP Bar
Ability Info Data Asset
Initialize Overlay Startup Abilities
For Each Ability Delegate
Binding Widget Events to the Ability Info Delegate
Gameplay Ability Cost
Gameplay Ability Cooldown
Cooldown Async Task
Cooldown Tags in Ability Info
Showing Cooldown Time in the HUD
Modeling Mode
Section 21 Quiz
Health Mana Spells Widget
Spell Globe
Adding Spell Globes
XP Bar
Ability Info Data Asset
Initialize Overlay Startup Abilities
For Each Ability Delegate
Binding Widget Events to the Ability Info Delegate
Gameplay Ability Cost
Gameplay Ability Cooldown
Cooldown Async Task
Cooldown Tags in Ability Info
Showing Cooldown Time in the HUD
Modeling Mode
Section 21 Quiz
Experience and Leveling Up
Level Up Info Data Asset
Adding XP to the Player State
Listening for XP Changes
Awarding XP Game Plan
XP Reward for Enemies
Incoming XP Meta Attribute
Passively Listening for Events
Sending XP Events
Showing XP in the HUD
Level Up Interface Function
Leveling Up
Showing Level in the HUD
Level Up Niagara System
Level Up HUD Message
Section 22 Quiz
Spell Menu Design
Spell Globe Button
Offensive Spell Tree
Passive Spell Tree
Equipped Spell Row
Spell Menu Widget
Spell Description Box
Spell Menu Button
Spell Menu Widget Controller
Constructing the Spell Menu Widget Controller
Equipped Row Button
Ability Status and Type
Showing Abilities in the Spell Tree
Ability Level Requirement
Update Ability Statuses
Updating Status in the Spell Menu
Show Spell Points
Selecting Icons
Deselecting Icons
Spell Menu Buttons
Selected Ability
Spending Spell Points
Rich Text Blocks
Spell Descriptions
FireBolt Description
Cost and Cooldown in Spell Description
Self Deselect
Equipped Spell Row Animations
Ability Types
Equipping Abilities
Updating the Overlay When Equipping Abilities
Globe Reassigned
Unbinding Delegates
Section 24 Quiz
Spell Menu Design
Spell Globe Button
Offensive Spell Tree
Passive Spell Tree
Equipped Spell Row
Spell Menu Widget
Spell Description Box
Spell Menu Button
Spell Menu Widget Controller
Constructing the Spell Menu Widget Controller
Equipped Row Button
Ability Status and Type
Showing Abilities in the Spell Tree
Ability Level Requirement
Update Ability Statuses
Updating Status in the Spell Menu
Show Spell Points
Selecting Icons
Deselecting Icons
Spell Menu Buttons
Selected Ability
Spending Spell Points
Rich Text Blocks
Spell Descriptions
FireBolt Description
Cost and Cooldown in Spell Description
Self Deselect
Equipped Spell Row Animations
Ability Types
Equipping Abilities
Updating the Overlay When Equipping Abilities
Globe Reassigned
Unbinding Delegates
Section 24 Quiz
Debuff Tags
Debuff Parameters
Damage Effect Params Struct
Using Damage Effect Params
Determining Debuff
Debuff Info in the Effect Context
Debuff in the Attribute Set
Dynamic Gameplay Effects
Debuff Niagara Component
Death Impulse Magnitude
Death Impulse in the Effect Context
Handling Death Impulse
Knockback
Section 25 Quiz
Debuff Tags
Debuff Parameters
Damage Effect Params Struct
Using Damage Effect Params
Determining Debuff
Debuff Info in the Effect Context
Debuff in the Attribute Set
Dynamic Gameplay Effects
Debuff Niagara Component
Death Impulse Magnitude
Death Impulse in the Effect Context
Handling Death Impulse
Knockback
Section 25 Quiz
FireBolt Projectile Spread
Spawning Multiple Projectiles
Homing Projectiles
Click Niagara System
Invoke Replicated Event
Aura Beam Spell
Electrocute Montage
Player Block Tags
GameplayCue Notify Paths
Gameplay Cue Notify Actor
Electrocute Looping Sound
Target Trace Channel
First Trace Target
Additional Targets
Shock Loop Cues on Additional Targets
Electrocute Cost Cooldown and Damage
Applying Electrocute Cost and Damage
Electrocute Polish
Explode Dem FireBoltz
Stun
Stun Niagara System
Shock Loop Animations
Section 26 Quiz
FireBolt Projectile Spread
Spawning Multiple Projectiles
Homing Projectiles
Click Niagara System
Invoke Replicated Event
Aura Beam Spell
Electrocute Montage
Player Block Tags
GameplayCue Notify Paths
Gameplay Cue Notify Actor
Electrocute Looping Sound
Target Trace Channel
First Trace Target
Additional Targets
Shock Loop Cues on Additional Targets
Electrocute Cost Cooldown and Damage
Applying Electrocute Cost and Damage
Electrocute Polish
Explode Dem FireBoltz
Stun
Stun Niagara System
Shock Loop Animations
Section 26 Quiz
Magic Circle
Spawning Magic Circles
Magic Circle Interface Functions
Arcane Shards Spell
Wait Input Press
Anti Aliasing and Moving Decals
Point Collection
Async Point Locations
Gameplay Cue Notify Burst
Arcane Shards Montage
Radial Damage Parameters
Setting Radial Damage Parameters
Radial Damage with Falloff
Tying Radial Damage All Together
Ignore Enemies while Magic Circle Active
Knockback Force and Death Impulse Overrides
Spell Descriptions
Arcane Shards Cost and Cooldown
Section 28 Quiz
Magic Circle
Spawning Magic Circles
Magic Circle Interface Functions
Arcane Shards Spell
Wait Input Press
Anti Aliasing and Moving Decals
Point Collection
Async Point Locations
Gameplay Cue Notify Burst
Arcane Shards Montage
Radial Damage Parameters
Setting Radial Damage Parameters
Radial Damage with Falloff
Tying Radial Damage All Together
Ignore Enemies while Magic Circle Active
Knockback Force and Death Impulse Overrides
Spell Descriptions
Arcane Shards Cost and Cooldown
Section 28 Quiz
Saving Progress
Main Menu
Play and Quit Buttons
Vacant Load Slot
Enter Name Load Slot
Taken Load Slot
Load Menu
MVVM
Changes Needed for 5.3+
View Model Class
Constructing a View Model
Load Slot View Model
Switching the Widget Switcher
Save Game Object
Binding Variables to ViewModels
Load Slot Status
Enabling the Select Slot Button
Enabling Play and Delete Buttons
Are You Sure Widget
Deleting a Slot
Map Name Field Notify
Saving the Map Name
Traveling to the Saved Map
Section 30 Quiz
Choosing the Player Start
Setting the Default Player Start
Save the Player Start Tag
Checkpoints
Interface Function for Saving Progress
Saving Player Data
Loading Player Data
Initializing Attributes From Disk
Showing Player Level in Load Screen
Saving Abilities
Notes on this lecture
Loading Abilities
Data Structures for Saving Data
Saving World State
Loading World State
Section 31 Quiz
Different Highlight Colors
Highlight Interface
Targeting Status
Highlighting Non-Enemies
Set Move-To Location
Beacons
Map Entrance
Dungeon Stair Entrance
Dungeon Entrance Blueprints
Polish Menu
Spawn Volumes
Player Death
Loot Tiers
Loot Effects
Loot Drop Curve
Pickup Sounds
Quit Button
Section 32 Quiz
Knowledge of the C++ Programming Language
Fundamentals of Unreal Engine C++ - have at least created one Unreal Engine C++ project
Unreal Engine's Gameplay Ability System
Multiplayer Gameplay Mechanics
Creation of a full RPG with Combat, Experience and Level Ups, Enemies, Spells, Menus, Game Saving, and much more
SOLID coding principles and AAA quality code architecture
How to determine which code goes in Blueprints and which code goes in C++ for optimal performance in a shipped game
Scalable, modular, maintainable, and expandable code that can serve as the foundation for any serious game
All core features of the Gameplay Ability System
Code debugging tools and practices
1.0
0 Học viên
105 Khóa học
1252 Đánh giá
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
Xem chi tiết