We may earn an affiliate commission when you visit our partners.
Course image
Jean Vermeersch

In this course you will learn how to create a procedurally generated 2D Roguelike similar to games like Nuclear Throne or Enter the gungeon. We will use an algorithm called random walker that we will use to create automatically new levels: everytime we will load our level a new one will be automatically generated, which open the gate for infinite levels. We will learn how to place our player, groups of enemies and exit inside it, as well as instancing ammunitions when our enemy dies. We will also create from scratch a player with typical roguelike movement and shooting mechanic like having the rotation of our player and his gun based on the position of the mouse, we will learn how to configure a mouse icon that is animated, how to create enemies that can patrol randomly and chase you once you’ve been detected, and way much more.

Read more

In this course you will learn how to create a procedurally generated 2D Roguelike similar to games like Nuclear Throne or Enter the gungeon. We will use an algorithm called random walker that we will use to create automatically new levels: everytime we will load our level a new one will be automatically generated, which open the gate for infinite levels. We will learn how to place our player, groups of enemies and exit inside it, as well as instancing ammunitions when our enemy dies. We will also create from scratch a player with typical roguelike movement and shooting mechanic like having the rotation of our player and his gun based on the position of the mouse, we will learn how to configure a mouse icon that is animated, how to create enemies that can patrol randomly and chase you once you’ve been detected, and way much more.

Here is a list of the things we will learn together:

  • Generating procedurally a level that is autotiled with terrains and collisions shape

  • Rotating the gun and the player toward the mouse position

  • Instancing enemies inside the border of our generated level

  • Having our enemy chasing us

  • Being able to collect ammo by looting them inside our level

  • Having a countdown that restart the level when reaching zero

  • Creating shader to damage the player

  • Having screen shake when the bullet explode

  • Having a player life system

  • Having an exit portal that we need to find to continue playing the game

I’ve been enjoying making this new course as I am fascinated by procedural generation, and I hope that this course will be the right entry gate for you if you want to go deeper into that segment of programming that is rarely taught in a way that is complete and accessible for beginner programmer.

The asset will be provided with this course, so you just have to enroll and start coding.

So thank you for reading this and considering buying this course, and I’ll see you in the first lecture.

Enroll now

What's inside

Learning objectives

  • Learn the fundamentals of godot 4
  • Learn how to create a procedural generation algorithm
  • You will learn the fundamentals mechanics of a 2d roguelike game
  • You will build a prototype that you will be able to sale

Syllabus

Creating the player and the shooting mechanic
Setting up godot, importing our sprites and creating the main level
Creating the player and its animations
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a practical introduction to procedural generation, a powerful technique for creating dynamic and replayable game levels, which is often a complex topic for beginners
Uses Godot 4, a free and open-source game engine that is gaining popularity for its ease of use and powerful features, making it accessible to indie developers
Focuses on creating a 2D Roguelike, a popular genre that allows developers to learn core game mechanics and procedural generation techniques in a manageable scope
Covers essential game development concepts such as player movement, shooting mechanics, enemy AI, and UI design, providing a solid foundation for aspiring game developers
Includes creating shaders to damage the player, which may require some basic math and programming knowledge, but offers a visually engaging way to learn shader programming
Teaches how to control the mouse cursor with a game controller, which may require additional hardware and setup, but expands the game's accessibility and control options

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Create roguelike in godot 4

According to learners, this course offers a practical and enjoyable way to learn Godot 4 by building a complete 2D Roguelike game. Many found it a solid introduction to procedural generation and key game mechanics. While the overall reception is largely positive, some reviewers noted that the pacing can be fast and might require some prior programming background, suggesting it may not be ideal for absolute coding beginners. The inclusion of provided assets was frequently highlighted as helpful, allowing students to focus on the coding aspects. Building a finished game prototype is a significant draw.
Core topic, explained reasonably well.
"The section on procedural generation was challenging but ultimately rewarding."
"Good explanation of the random walker algorithm used for level generation."
"Understanding the procedural generation part required some focus, but it's a key takeaway from the course."
Helpful ready-to-use game assets.
"The provided assets were great and saved a lot of time."
"Nice to have all the sprites and sounds ready for use."
"Using the included assets allowed me to focus purely on the code and mechanics."
Covers essential Godot 4 features well.
"Great introduction into Godot 4, teaching the core mechanics and structure."
"Learned many of the fundamentals needed to start making games in Godot 4."
"The course gives a good overview of the Godot 4 engine capabilities relevant to 2D games."
Build a fun, complete game project.
"It's a fantastic course that shows you step by step on how to build a complete roguelike game."
"Building a finished game was incredibly motivating and solidified my learning."
"I really enjoyed following along and making a functional game prototype by the end."
Pacing may be fast; some prior coding helps.
"Sometimes the pacing felt a bit fast, especially in later sections."
"Definitely helps if you have some prior programming experience before starting."
"Might be a bit challenging for someone with absolutely zero coding background."

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 Create a procedurally generated 2D Roguelike in Godot 4 with these activities:
Review Godot 4 Fundamentals
Reinforce your understanding of the Godot 4 engine before diving into procedural generation. This will make the course material easier to grasp.
Browse courses on Godot 4
Show steps
  • Review the Godot 4 documentation.
  • Complete a basic Godot 4 tutorial.
  • Practice creating simple scenes and scripts.
Read 'Godot Engine Game Development Projects'
Gain a broader understanding of game development in Godot through practical projects. This will help you adapt the course's techniques to other game types.
Show steps
  • Obtain a copy of 'Godot Engine Game Development Projects'.
  • Work through the projects related to 2D games.
  • Experiment with modifying the projects.
Prototype a Simple 2D Game
Solidify your understanding of Godot and 2D game development by creating a small, self-directed project. This will help you apply the course's concepts in a practical setting.
Show steps
  • Choose a simple game concept.
  • Create basic player movement and mechanics.
  • Implement simple enemy AI.
  • Add basic win/lose conditions.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Random Walker Algorithm
Reinforce your understanding of the random walker algorithm by implementing it repeatedly with variations. This will help you internalize the core concepts.
Show steps
  • Implement the basic random walker algorithm.
  • Experiment with different step sizes.
  • Add constraints to the walker's movement.
  • Visualize the walker's path.
Document Your Procedural Generation Process
Deepen your understanding by explaining the procedural generation process in your own words. This will force you to think critically about the underlying concepts.
Show steps
  • Create a blog post or video tutorial.
  • Explain the random walker algorithm.
  • Describe how you implemented it in Godot.
  • Share your insights and challenges.
Contribute to a Godot Roguelike Project
Apply your knowledge and collaborate with others by contributing to an open-source roguelike project in Godot. This will expose you to real-world development practices.
Show steps
  • Find an open-source Godot roguelike project.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
  • Respond to feedback from the maintainers.
Expand the Roguelike with New Features
Extend the course project by adding new features such as new enemy types, items, or level generation algorithms. This will challenge you to apply your knowledge creatively.
Show steps
  • Brainstorm new features for your roguelike.
  • Implement the chosen features in Godot.
  • Test and debug your new features.
  • Document your changes.

Career center

Learners who complete Create a procedurally generated 2D Roguelike in Godot 4 will develop knowledge and skills that may be useful to these careers:
Hobbyist Game Developer
A hobbyist game developer creates games for personal enjoyment and learning. This course is perfect for a hobbyist game developer who wants to create their first 2D Roguelike game. The course provides a step by step guide to building a complete game, covering essential aspects, such as player control, level generation, enemy AI, and visual effects. The course's emphasis on making the content accessible for beginner programmers makes it ideal for those just starting out in game development. As a hobbyist game developer, you can start selling right away.
Indie Game Developer
An independent game developer works on their own or in a small team to create and publish video games. This course is ideal for an indie game developer who wants to learn the fundamentals of creating a complete 2D Roguelike game. As an indie game developer, one needs to handle many aspects of game development. The procedural generation techniques taught in the course allow for creating infinite levels, a key feature for replayability. The course also covers essential mechanics such as player control, enemy AI, and user interface design, providing all the tools needed to develop a polished game.
Game Developer
A game developer designs and codes video games for various platforms. This course's focus on procedurally generated 2D Roguelikes directly aligns with the skills needed to create engaging and replayable game experiences. The course covers core game mechanics, level generation, player control, enemy AI, and visual effects. Learning to implement a random walker algorithm for level design equips a game developer with a powerful tool for creating dynamic and varied game environments. One looking to become a game developer also benefits from learning to create player animations, aiming and shooting mechanics, and enemy behaviors.
Procedural Content Generator
A procedural content generator develops algorithms and tools to automatically create game content, such as levels, environments, and characters. This course is highly relevant as it focuses on implementing a random walker algorithm to generate 2D Roguelike levels. The course's learning objectives directly address the core skills required for procedural content generation, including level design and placement of game elements like players, enemies, and exits.
Gameplay Programmer
A gameplay programmer focuses on implementing the interactive elements of a video game, such as player controls, enemy AI, and game mechanics. This course provides practical experience in developing these elements within a 2D Roguelike game. Here, a gameplay programmer learns to create player movement, shooting mechanics, enemy chasing behavior, and collision detection. Knowledge of using state machines for animation also helps a gameplay programmer create responsive and engaging gameplay experiences.
Level Designer
A level designer creates the environments and layouts in which video game action takes place. This course directly contributes to the skill set of a level designer interested in procedural generation. The level designer learns to implement a random walker algorithm to create varied and dynamic levels automatically. The course also covers how to place key game elements, such as players, enemies, and exits, within the generated levels. Additional skills such as creating tilemaps and tilesets are valuable for level designers.
Technical Artist
A technical artist bridges the gap between art and programming in game development. This course provides a foundation for a technical artist by exploring visual effects, procedural content generation, and game engine integration. The course's emphasis on using shaders to damage the player and creating screen shake effects are directly applicable to creating visually appealing and immersive game experiences. The skill of procedurally generating levels with terrains and collision shapes also enables a technical artist to optimize level design workflows.
Game Designer
A game designer conceptualizes and designs the gameplay, rules, and mechanics of a video game. This course provides valuable insights into the design considerations for creating a compelling 2D Roguelike. The designer will learn how procedural generation can be used to create replayable and challenging levels. The course covers the implementation of essential game mechanics, so the game designer can see how these mechanics are used by players and respond accordingly.
AI Programmer
An AI programmer designs and implements artificial intelligence systems for video games, controlling the behavior of non-player characters. This course may be useful as it covers the creation of enemy AI, including random patrolling and chasing behaviors. Learning how to implement a scent trail system for enemy tracking could allow an AI programmer to create more sophisticated and realistic AI opponents. The course also teaches how to import enemies into the level and place them randomly.
Tools Programmer
A tools programmer develops software and scripts to aid in the game development process, often focusing on content creation and workflow optimization. This course may be useful by providing insights into how procedural generation algorithms can be used to automate level design. A tools programmer may find the techniques taught can be adapted to create tools for level designers, enabling them to rapidly prototype and iterate on game environments.
Simulation Developer
A simulation developer creates software that simulates real world systems and scenarios. This course may be useful because the procedural generation techniques could be applied to create dynamic and varied simulation environments. While the course focuses on game development, the underlying principles of procedural generation and agent based systems could be adapted to create realistic simulations in various domains, such as urban planning or traffic management.
Creative Coder
A creative coder uses programming as a medium for artistic expression and interactive installations. This course may be useful by providing a practical introduction to procedural generation, which can be used to create dynamic and visually interesting art installations. Learning how to generate levels, create animations, and implement visual effects can allow a creative coder to create interactive art pieces for the public.
Virtual Reality Developer
A virtual reality developer creates immersive experiences using virtual reality technology. This course may be useful for a virtual reality developer by offering insights into procedural generation and game mechanics. While the course focuses on 2D games, understanding how to create dynamic and interactive environments are transferable VR development. One might adapt the procedural generation techniques to create unique VR worlds.
Augmented Reality Developer
An augmented reality developer creates applications that blend digital content with the real world. This course may be useful because the game mechanics and user interface design principles taught can be applied to augmented reality applications. While the course focuses on 2D Roguelike games, the underlying concepts of player interaction, real time feedback, and visual effects can be adapted to create engaging augmented reality experiences.
Software Engineer
A software engineer will be able to design, develop, and test software systems. This course emphasizes fundamental programming principles within the context of game development, so it may be useful. By learning how to create procedurally generated levels, implement game mechanics, and manage game states, one could apply these skills to various software engineering projects. This course may also help one to learn how to use version control effectively.

Featured in The Course Notes

This course is mentioned in our blog, The Course Notes. Read one article that features Create a procedurally generated 2D Roguelike in Godot 4:

Reading list

We've selected one 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 Create a procedurally generated 2D Roguelike in Godot 4.
Provides a project-based approach to learning Godot. It covers a variety of game genres and mechanics, offering practical examples that complement the course's procedural generation focus. While not directly about roguelikes, it builds a strong foundation in Godot's systems. It is useful as additional reading to expand your knowledge of Godot.

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