Programming and Game Design for DeckBuilding Games by TheCodingCult (aka Henrique de Carvalho)
Release date:2023, May
Duration:05 h 38 m
Author:Henrique de Carvalho
Skill level:Beginner
Language:English
Exercise files:Yes
This course is tailored for aspiring game developers eager to learn how to create card-building games similar to Slay the Spire and Magic: The Gathering. Throughout the course, you’ll acquire the technical skills necessary to build a game from scratch, focusing on programming, effects, targeting cards, and UI design.
What You Will Learn:
You’ll start with the basics of developing a card system, such as managing a deck, drawing, and shuffling cards. From there, you’ll progress to creating complex, modular systems for targeting and applying effects to enemy units!
Course Highlights:
- Building the Core Card System:
- Learn how to implement basic functions like creating a deck, drawing cards, and shuffling.
- Develop smooth card animations for actions like moving cards from hand to deck.
- Player Input and Interaction:
- Master player input mechanics, including using cards, skipping turns, and more.
- Targeting and Effect Systems:
- Design systems to target enemies, allies, or all units.
- Implement requirements for card use, such as energy costs.
- Create effect systems to deal damage, heal, or gain blocks.
- Game Flow Management:
- Develop a state machine to control the game’s flow—such as the maintenance phase, draw phase, and more.
- Modifier and Status Systems:
- Build modifier systems for status effects like “Vulnerable,” which increases the damage a unit takes.
By the end of this course, you’ll have a solid understanding of how to design and program card-building games and a working prototype of your own card game. Whether you’re aiming for a career in game development or want to build your own games for fun, this course provides a fantastic foundation to get started!
[Udemy] Programming and Game Design for DeckBuilding Games by TheCodingCult (aka Henrique de Carvalho)
01. Introduction
01. Introduction
02. Unity and Preparing the Environment
03. Text Editor
02. Setting up the Environment and UI
01. Creating the Project and Getting the Art
02. Creating the Card Prefab
03. Creating the Prefab Variants
04. Solving the Image Order Problem
05. Adding a Horizontal Layout
06. CardHolder
07. Creating the Deck
08. Moving the Cards
09. Rotating the Cards
10. Draw and Discard
11. Shuffling Cards back into the Deck
03. Beginning the Effect System
01. Using Interfaces
02. Using Different Child GameObjects
03. Discard After Playing
04. Inputs
01. Adding the Input System
02. Making the Card Selectable
03. Drag System
04. Drag System Pt. 2
05. Detecting When a Card is Used
06. Adding a Delay Between Card Movements
07. Automatically Shuffling
08. Effect When the Card is Used
05. Units, Effects and Targeting
01. Unit and Stats
02. Finding Sprites for the Units
03. CombatTester and Setting Initial Stats
04. Starting our Target System
05. ITarget
06. TargetPlayer
07. TargetAllEnemies
06. State Machine
01. StateMachine and State
02. Adding Functionality to the LoadState
03. Initializing Units
04. Units Queue and TurnBeginState
05. RecoveryState
06. Playing Cards in the Correct State
07. Ending Your Turn
08. Clicking Units
09. System for Playing Cards in Sequence
10. Adding the Possibility of Multiple Effects per Card
07. More Effects and Requirement System
01. TargetUnit
02. Visual Feedback for Pointing at an Unit
03. IPlayability
04. Spending Energy
05. Energy UI
06. Stats GetSets
07. Block Effect
08. Block Protecting From Damage
09. Victory and Loss Condition
10. Status Effect
11. Duration for Status Effects
12. Damage Modifier
13. Damage Modifier with Reference Type
14. Percentage Status Effect
15. Separating DoAttackDamage and TakeAttackDamage
16. Modifying Block Values
17. Mixing Stat Modifiers and the Percentage Effects
18. Changing ICardEffect to an Abstract Class
19. Applying Status Effects
20. Stacking
21. Disabling an Unit