We may earn an affiliate commission when you visit our partners.
James Doyle

Learn how to create and program your very own card combat game using Unity, an industry-standard game development program used by large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

Read more

Learn how to create and program your very own card combat game using Unity, an industry-standard game development program used by large gaming studios and indie developers across the world.

In this course you won’t just be learning programming concepts, but tying these concepts to real game development uses. You will have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete.

This course has been designed to be easily understandable to everyone, so whether you’re a complete beginner, an artist looking to expand their game development range or a programmer interested in understanding game design, this course will help you gain a greater understanding of development.

At the end of this course you will have developed the ability to understand such game elements as:

  • A Turn-Based Card Battling System

  • Placing Cards on a 3D Board

  • Holding & Highlighting a hand of Cards

  • Mana Point System For Cards

  • Damaging Player & Enemies

  • Audio systems

  • Enemy AI with variable playstyles

  • Battle Select System

  • and much more...

The course also includes a complete version of the project to use for your own reference to ensure everything in your game works as it should.

Start learning today and let me help you become a game developer.

Enroll now

What's inside

Syllabus

Getting Started
Introduction
Project Assets
Setting Up A New URP Project
Read more
Unity Editor Layout
Layouts
Laying Out Our Scene
Making A Card
Finishing The Card Layout
Cards
Creating Our First Script
Making The Card Script Work
Creating A Scriptable Object
Loading Data From The Scriptable Object
Holding Hands
Setting Up Our Hand
Setting Card Positions In Hand
Preventing Overlapping Cards
Moving Cards Smoothly
Raising Cards While Hovering
Pick & Place
Selecting Cards
Returning A Card To Hand
Creating Card Placement Areas
Placing A Card On The Board
Removing Card From Hand
Mana System
Spending Mana
Showing Mana On UI
Displaying A Low Mana Warning
Decks
Creating A Deck
Drawing A Card
Moving Card To Hand
Showing A Physical Deck
Click To Draw Cards
Drawing Cards At Start
Turns System
Setting Up The Turn Order
Limiting Actions To The Player's Turn
Ending The Player's Turn
Refilling The Mana Pool
Mana Pool Growth
Drawing Cards Each Turn
Doing Damage
Creating Enemy Cards
Setting Up Player Card Attacking
Damaging Cards
Handling Defeated Cards
Animating Card Actions
Making The Animations Work
Making Enemies Attack
Damaging Player Overall Health
CHALLENGE - Damaging Enemy Health
Damage Display
Showing Health on UI
Creating A Damage Indicator
Showing Damage Indicator
Creating AI
Setting Up Enemy Actions
Simple Enemy Card Placement
Setting Up Multiple AI
Creating A Virtual Hand (Of Cards)
CHALLENGE - Handling Enemy Mana
Playing Cards From the Hand
Playing Multiple Cards & Adding To Hand
Creating A Defensive AI
Creating An Attacking AI
Completing Battles
Ending The Battle
Emptying The Player's Hand
Setting Up The Battle End Screen
Showing The Result Screen
Displaying Win Or Lose
Menus, Menus, Menus!
Creating A Main Menu
Making The Main Menu Work
Setting Up Different Battles
Creating The Battle Select Menu
Making The Battle End Screen Work
Creating A Pause Screen
Making The Pause Screen Work
Deciding Who Goes First
Audio
Creating An Audio System
Keeping Audio Active Between Scenes
Spawning The Audio System
Switching Background Tracks
Adding Sound Effects System
Playing Sound Effects
Completing The Course
Building The Game
Next Steps
Complete Project Files

Save this course

Save Learn To Create a Card Combat Game With Unity & C# to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn To Create a Card Combat Game With Unity & C# with these activities:
Review C# Fundamentals
Solidify your understanding of C# syntax and programming concepts before diving into game development.
Show steps
  • Review basic C# syntax and data types.
  • Practice writing simple C# programs.
  • Familiarize yourself with object-oriented programming concepts in C#.
Brush Up on Unity Editor Basics
Reacquaint yourself with the Unity editor interface and basic functionalities to streamline your game development process.
Browse courses on Unity Editor
Show steps
  • Explore the Unity editor layout and different windows.
  • Practice creating and manipulating game objects in the scene.
  • Learn how to import and manage assets in Unity.
Prototype a Simple Card Game Mechanic
Experiment with a simplified card game mechanic to reinforce your understanding of the course material.
Show steps
  • Design a basic card game mechanic with limited functionality.
  • Implement the mechanic in Unity using C# scripting.
  • Test and refine the mechanic based on your observations.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Card Game Development Journey
Create a blog or video series documenting your progress and challenges while developing your card combat game.
Show steps
  • Choose a platform for documenting your journey (blog, video, etc.).
  • Regularly document your progress, challenges, and solutions.
  • Share your content with the course community for feedback.
Review Game Programming Patterns
Learn common design patterns used in game development to improve the structure and maintainability of your code.
Show steps
  • Read a chapter on a relevant game programming pattern.
  • Identify how the pattern can be applied to your card game project.
  • Implement the pattern in your code and observe the results.
Optimize Enemy AI Playstyles
Refine the enemy AI in your card game to create more challenging and engaging gameplay experiences.
Show steps
  • Analyze the existing enemy AI playstyles and identify areas for improvement.
  • Implement new AI behaviors or strategies to make the enemies more challenging.
  • Test the updated AI against different player strategies and adjust accordingly.
Review Unity 2021 Cookbook
Reference a cookbook for practical solutions to common Unity development challenges.
Show steps
  • Identify a specific challenge you're facing in your card game project.
  • Search for a relevant recipe in the Unity Cookbook.
  • Adapt the recipe to your project and test the results.

Career center

Learners who complete Learn To Create a Card Combat Game With Unity & C# will develop knowledge and skills that may be useful to these careers:
Game Developer
A Game Developer brings video game concepts to life. A solid understanding of game mechanics, level design, and programming languages is vital for this role. This course where you learn to create a card combat game using Unity and C# can provide key skills for aspiring game developers. The course's focus on practical application, turn based systems, mana, damage and artificial intelligence helps build a foundation for building games. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Learning how to implement features like turn-based combat, card systems, and AI opponents can provide a distinct advantage when seeking a job.
Indie Game Developer
An Indie Game Developer works on a small team or as an individual to create and publish their own games. This requires a broad skillset, including game design, programming, art, and marketing. This course where you learn to create a card combat game provides a strong foundation in game development. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. The course covers essential coding and game design aspects applicable to many indie projects. By the end of the course you will have developed the ability to understand such game elements as mana and turn based systems, audio systems, and enemy artificial intelligence.
AI Programmer
An Artificial Intelligence Programmer designs and implements the behavior of non-player characters in a game. A strong background in mathematics and algorithms is required to simulate believable opponents. This course where you learn to create a card combat game using unity and c# can be helpful for aspiring AI programmers. The course includes a section on creating enemy AI with variable styles. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Learning how to program AI in a game environment can provide a taste for a role with AI. It also helps to have a strong bachelor's degree and potentially a master's degree.
Game Designer
A Game Designer conceptualizes and designs the gameplay, rules, and mechanics of a video game. They create documentation outlining the user experience, story, and game systems. This course where you learn to create a card combat game using Unity and C# can prove valuable for aspiring designers. The course introduces you to the process of game design hands on. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. The course helps you understand such game elements as turn based card battling systems, mana point systems, audio systems and enemy artificial intelligence.
Mobile Game Developer
A Mobile Game Developer specializes in creating games for smartphones and tablets. They have a deep understanding of mobile platforms, touch controls, and performance optimization. This course where you learn to create a card combat game using Unity and C# can be beneficial for those looking to enter the mobile gaming market. Unity is a popular engine for mobile development, and C# is a versatile language. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Mastering these technologies can prove valuable in a career as a mobile game developer.
Gameplay Programmer
A Gameplay Programmer specializes in implementing the rules, mechanics, and interactive elements of a game. They work closely with designers and artists to translate their visions into functional gameplay systems. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring gameplay programmers. The hands-on experience gained through this course with turn based combat, mana, and card systems can be invaluable. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. It is one thing to know the theory of game design, but another to bring it to life.
Tools Programmer
A Tools Programmer develops software and scripts that help game developers create content more efficiently. They might create custom editors, automated build processes, or debugging tools. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring tools programmers. The course offers opportunities to pick up scripting skills in C# when creating a game. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. The knowledge acquired from the course can be transferable when building tools to enhance game development workflows.
UI/UX Designer
A User Interface and User Experience Designer creates intuitive and engaging interfaces for video games. They focus on usability and accessibility to ensure a positive player experience. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring UI/UX designers. The course covers creating and displaying UI elements such as mana and health on screen. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Understanding how to implement your designs in a game engine is an important part of the user experience.
Level Designer
A Level Designer is responsible for creating the environments and layouts in a game. They work closely with artists and designers to build engaging and visually appealing levels. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring level designers. The course focuses on game mechanics, turn based systems and card placement. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. You will also be exposed to Unity, which many level designers use to build their worlds.
Animator
An Animator creates the movements of characters, objects, and special effects in a game. They use software to rig models and create realistic or stylized animations. This course where you learn to create a card combat game using Unity and C# can be helpful for animators. The course includes a section on animating card actions making the animations work. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Understanding how animations are coded can help animators better work with programmers and designers.
Technical Artist
A Technical Artist bridges the gap between art and programming. They develop tools and workflows to improve the art creation process. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring technical artists. The course provides exposure to both art and coding. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. You can learn how to integrate art assets into a game engine and optimize them for performance.
Augmented Reality Developer
An Augmented Reality Developer overlays digital content onto the real world through smartphones, tablets, or headsets. This requires a strong understanding of computer vision, tracking, and mobile development. This course where you learn to create a card combat game uses Unity and C#. Unity is a common engine used in AR development. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Skills such as touch input, 3d space programming, audio, and knowledge of the Unity engine can be useful when developing Augmented Reality.
Virtual Reality Developer
A Virtual Reality Developer creates immersive experiences for virtual reality platforms. This requires a strong understanding of 3D graphics, spatial audio, and user interaction. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring virtual reality developers. Unity is a popular engine for VR development, and the course provides a basic understanding of the engine. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Learning how to create games in Unity provides skills that helps in VR development, such as spatial audio and 3d design.
Software Engineer
A Software Engineer applies engineering principles to design, develop, test, and maintain software applications. They work on a wide range of projects from web applications to operating systems. This course where you learn to create a card combat game using Unity and C# may be useful for aspiring software engineers. The course provides practical experience with C#, a widely used language in the industry. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. Coding a game involves creating, debugging, and testing software.
Quality Assurance Tester
A Quality Assurance Tester identifies bugs and defects in a game before release. Testers play through the game repeatedly, trying to break it in various ways to find issues. This course where you learn to create a card combat game with unity and c# may be useful. You will be able to know the ins and outs of a game, allowing you to break the game more effectively. You will also have access to a course forum where you can discuss the topics covered in the course as well as the next steps to take once the course is complete. The course provides an understanding of the game development process. It is often the case that the better the understanding of a program the easier it is to find bugs.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn To Create a Card Combat Game With Unity & C#.
Provides practical solutions to common problems encountered while developing games in Unity. It covers a wide range of topics, including scripting, animation, UI design, and audio implementation. The recipes in this book can help you overcome technical challenges and improve the overall quality of your card combat game. This book useful reference tool for quickly finding solutions to specific problems.
Explores common design patterns used in game development. It provides practical solutions to recurring problems, such as managing game state, handling input, and optimizing performance. While not specific to card games, the patterns discussed can be applied to improve the structure and maintainability of your code. This book is more valuable as additional reading to expand your knowledge of software design.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser