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

Learn how to create and program your very own Roguelike Dungeon Crawling 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 Roguelike Dungeon Crawling 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 create such game elements as:

  • Full top-down character movement with Dashing

  • Generating Procedural Levels

  • Full Weapon Collection & Switching System

  • Enemies with different movement and firing patterns

  • Multiple Characters & Character Switching

  • Shooting System

  • Complete Health System

  • Creating tile-based maps in Unity

  • Shop system

  • In-Game Maps

  • Boss Battles

  • And more. ...

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

Enroll now

What's inside

Learning objectives

  • Learn c#, a modern versatile programming language.
  • Understand the capabilities of 2d development in unity.
  • Develop strong and transferrable problem solving skills.
  • Gain an understanding of the game development process.
  • Learn how object oriented programming works in practice.

Syllabus

Intro to Scripting
Introduction
Setup
The Unity Layout
Read more
Project Setup
Setting Up Spritesheet
Controlling The Player
Creating The Player
Moving the Player
Hitting Solid Objects
Aiming The Gun
Switching Directions
Animating The Player
Limiting Player Movement
Shooting
Making Bullets
Shooting Bullets
Auto-Firing Bullets
Bullet Impact Effects
Making Enemies
Creating & Moving Enemy
CHALLENGE - ANIMATE THE ENEMY
Damaging Enemies
Death Splatters
CHALLENGE - ENEMY HURT EFFECTS
Making Enemies Fire
Enemy Bullets
Collision Layers
Shooting While In Range
Health & Damage
Player Health System
Setting Up Healthbar UI
Improving Healthbar appearance
Showing Death Screen
Adding Temporary Invincibility
Adding Static Dangers
Dashing & Smashing
Dashing
Animating The Dash
CHALLENGE - MAKE THE PLAYER INVINCIBLE WHILE DASHING
Breaking Boxes
Adding Broken Pieces
Moving Broken Pieces
Pickups
Assigning Sprite Layers
Automatically Assigning Sort Order
Creating Health Pickups
Dropping Items Randomly
Audio
Adding Music
Adding Sound Effects
CHALLENGE - ASSIGN SOUND EFFECTS
Fixing Object Interactions
Making Rooms
Making Rooms with Tilemaps
Making Tiles Solid
Setting up Multiple Rooms
Creating the Camera Controller
Entering Rooms
Making Doors
Clearing A Room
CHALLENGE - MAKE A SIMPLE LEVEL SEQUENCE
Level Flow
Completing A Level
Adding A Delay To Level Ending
Stopping Player Moving At Level End
Fading In & Out Of Levels
Menus
Creating Title Screen
Creating Victory Screen
Updating Death Screen
Adding A Pause Menu
Building Your Game
Generating Procedural Levels
Understanding Level Generation
Creating The Start Room
Moving The Generator
Generating More Rooms
Stopping Rooms Overlapping
Tracking Generated Rooms
Setting up Outlines for Connecting Rooms
Serializing Classes
Generate Room Outlines
Creating Outline Tilemaps
Creating Room Centers
Setting Outline Doors
Adding Centers to Generation
Making Generator Playable
More Enemies
Setting Up Different Enemies
Running Away Enemy
Wandering Enemy
Patrolling Enemy
CHALLENGE - MAKE MORE ROOM CENTERS WITH NEW ENEMIES
Money System
Adding Coin Tracking
Collecting Coins
CHALLENGE - ADD COINS TO UI
Making Coins Drop

Save this course

Save Learn To Create A Roguelike Game In Unity 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 Roguelike Game In Unity with these activities:
Review C# Fundamentals
Strengthen your C# foundation to better understand the scripting sections of the course.
Browse courses on C# Programming
Show steps
  • Review basic C# syntax and data types.
  • Practice writing simple C# programs.
  • Familiarize yourself with object-oriented programming concepts in C#.
Review 'C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development'
Deepen your understanding of C# with a comprehensive guide to the language and its applications.
Show steps
  • Read the introductory chapters on C# syntax and .NET Core.
  • Focus on chapters related to object-oriented programming.
  • Refer to the book when encountering unfamiliar C# concepts in the course.
Practice Unity Scripting Challenges
Reinforce your understanding of Unity scripting by completing coding challenges.
Show steps
  • Find online resources with Unity scripting challenges.
  • Attempt challenges related to player movement and object interaction.
  • Review solutions and identify areas for improvement.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Your Roguelike Development Journey
Solidify your learning by documenting your progress, challenges, and solutions throughout the course.
Show steps
  • Start a blog or journal to record your development process.
  • Document each milestone, including code snippets and explanations.
  • Reflect on challenges faced and solutions implemented.
Expand the Roguelike Game with New Features
Apply your knowledge by adding new features to the roguelike game, such as new enemy types, items, or level generation algorithms.
Show steps
  • Choose a new feature to implement.
  • Plan the implementation, breaking it down into smaller tasks.
  • Implement the feature, testing thoroughly along the way.
  • Document the new feature and its implementation.
Create a Portfolio Piece
Showcase your skills by creating a polished demo of your roguelike game to include in your portfolio.
Show steps
  • Refine the game's visuals and gameplay.
  • Create a short demo showcasing the game's key features.
  • Record a gameplay video and write a description of the project.
Review 'Game Programming Patterns'
Learn common game programming patterns to improve the structure and maintainability of your code.
Show steps
  • Read chapters related to commonly used patterns in game development.
  • Identify opportunities to apply these patterns to your roguelike game project.
  • Refactor your code to implement the chosen patterns.

Career center

Learners who complete Learn To Create A Roguelike Game In Unity will develop knowledge and skills that may be useful to these careers:
Game Developer
A game developer brings video game ideas to life, designing gameplay, writing code, and creating compelling user experiences. This course focused on creating a roguelike game in Unity provides a practical introduction to the field. You will learn to implement core game mechanics such as character controls, enemy AI, shooting systems, health systems, and level generation. You will also become familiar with industry-standard tools and workflows, which are essential for any aspiring game developer. By building a complete game, you will gain hands-on experience and a portfolio piece to showcase your abilities.
Unity Developer
A Unity developer specializes in using the Unity game engine to create interactive experiences, ranging from video games to simulations and augmented reality applications. This course emphasizes the practical application of Unity. By learning how to build a roguelike game, you will become proficient in using Unity's tools and features, including tilemaps, character controllers, physics, and user interfaces. Moreover, you will develop problem-solving skills that are directly applicable to Unity development projects, making you a valuable asset to any development team. Knowledge of Unity is critical to becoming a successful Unity developer.
Indie Game Developer
An independent game developer works autonomously, handling all aspects of game creation from design and programming to art and marketing. This course provides a comprehensive foundation for indie game development. You will learn to create gameplay mechanics, design levels, implement user interfaces, and even incorporate audio. The emphasis on procedural level generation is particularly valuable, as it allows you to create expansive and replayable game worlds, a key feature for roguelike games and many other indie titles. This makes it easier for an indie game developer to realize a project either individually or in a small team.
Gameplay Programmer
A gameplay programmer focuses on implementing the core mechanics of a video game, such as character movement, combat systems, and artificial intelligence. This course's deep dive into character movement with dashing, weapon collection, enemy AI, and shooting systems is extremely relevant. You will gain hands-on experience in translating game design ideas into functional code using C# and Unity. The course's emphasis on object-oriented programming and problem-solving will also help you develop the skills needed to tackle complex gameplay challenges, such as those faced by a gameplay programmer.
Technical Designer
Technical designers bridge the gap between design and programming, using scripting and visual tools to implement gameplay features and create interactive environments. The course content on level generation, enemy behavior, and weapon systems directly translates to the responsibilities of a technical designer. You will learn to use Unity's tilemap system to create and populate levels, implement enemy AI to create challenging encounters, and design weapon systems that provide players with a variety of tactical options. The skills gained in this course help build a foundation for this career.
Level Designer
Level designers are responsible for crafting engaging and challenging game environments. This course's focus on procedural level generation is incredibly valuable for level design. You will learn to use algorithms to create dynamic and varied levels, ensuring that each playthrough feels fresh and unique. You will also gain experience in designing level layouts, placing enemies, and creating environmental challenges. These skills translate directly to the design world, enabling you to create compelling and replayable experiences for players as a level designer.
Game Designer
A game designer conceptualizes and designs the gameplay, story, and overall experience of a video game. This course allows you to put your ideas into action. You can create gameplay mechanics, design levels, and implement user interfaces. The emphasis on procedural level generation is particularly beneficial, as it enables one to create expansive and replayable game worlds. You learn how to use Unity, which is important to learn. This is a creative and technical role that can benefit from insights from this course.
Tools Programmer
A tools programmer develops software and scripts that help game developers streamline their workflows and create content more efficiently. This course's exploration of procedural level generation provides a solid foundation for tools programming. By understanding how to generate content programmatically, you will be well-equipped to create tools that automate repetitive tasks, such as level creation, asset placement, and animation rigging. You may find the introduction to scripting and the use of C# especially helpful.
Quality Assurance Tester
A quality assurance tester thoroughly examines software and games to identify and document defects, ensuring a high-quality user experience. This course helps build a strong understanding of game mechanics, level design, and player interactions. By completing this course, you gain insight into the development process, allowing you to anticipate potential issues such as bugs, glitches, and design flaws. Understanding the intricacies of game development is crucial for a quality assurance tester.
Software Engineer
Software engineers design, develop, and test software applications. Whilst this is not a course in software engineering, the curriculum helps develop valuable skills in software engineering. The introduction to software engineering concepts such as object oriented programming provides a basic understanding. You will use coding to generate enemies, move characters, develop health systems, and more. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be suitable for a software engineer.
Software Developer
Software developers create applications. The game design in this course may prove useful. You will develop skills in C#, a popular language. This course is helpful as it shows one how to move characters and develop gaming environments. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be as suitable for a typical software developer role that is not game development oriented.
Mobile Application Developer
Mobile application developers create applications for mobile devices. The game design principles in this course may prove useful for mobile game development. You will develop skills in C#, a popular language. This course is valuable because it shows one how to design enemies, move characters, and develop gaming environments. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be as suitable for a typical mobile application developer role that is not game development oriented.
Web Developer
Web developers create websites. The game design in this course may prove useful. You will develop skills in C#, a popular language. This course is helpful as it shows one how to move characters and develop gaming environments. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be as suitable for a web developer role.
Data Engineer
Data engineers build data pipelines to enable analysis and reporting. The game design in this course may prove useful. You will develop skills in C#, a popular language. This course is helpful as it shows one how to move characters and develop gaming environments. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be as suitable for a data engineer role.
Data Scientist
Data scientists analyze reports to better develop insights. The game design in this course may prove useful. You will develop skills in C#, a popular language. This course is helpful as it shows one how to move characters and develop gaming environments. The course emphasizes the importance of building a complete game from start to finish. The course may be useful, but may not be as suitable for a data science role.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Learn To Create A Roguelike Game In Unity:

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 Roguelike Game In Unity.
Explores common design patterns used in game development. Understanding these patterns can help you write cleaner, more maintainable code. This book is particularly useful for improving the structure and organization of your roguelike game project, making it easier to add new features and fix bugs. It provides a deeper understanding of game architecture.
Provides a comprehensive guide to C# and .NET Core. It covers the fundamentals of C# programming, as well as more advanced topics such as cross-platform development. This book useful reference for understanding the C# concepts used in the course and for expanding your knowledge of C# beyond the scope of game development.

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