
Set up a 2D roguelite level generation workflow in Godot 4.4 by creating a scene with a 32x32 ground tile map layer, a camera, and a tile set.
Export variables in a Godot 4.4 2D project to power a procedural world generator, including max_iteration, custom_viewport_size, step_size, ground_chance, ground_tile, borders, and a workers array.
Explore creating a procedural generation walker algorithm in Godot 4.4 by implementing multiple walkers on a tilemap, resetting simulation with input, and managing boundaries, ground tiles, and iterations.
Generate a background with collision by configuring a background tile map and physic layer, computing grid size from the viewport and tile size, and placing tiles.
Enable instant procedural generation of 2d roguelite levels in Godot by implementing create_level_instant, adding a generation toggle, and updating iteration control and background filling.
Create the background terrain by importing and configuring a tile set, painting terrain with a bitmask, and saving a terrain resource for procedural generation in Godot 4.4.
Create a procedurally generated 2D roguelite in Godot 4.4 by integrating the background terrain with the generator, building a viewport-driven grid, filling empty cells, and applying terrain to the background.
Create a reusable player scene and a player handler to instantiate the player at the leftmost tile in a procedurally generated level, using signals to coordinate ground generation and placement.
Place an exit in a procedurally generated 2D roguelite level using Godot 4.4, at the rightmost ground tile or at the spot maximizing distance from the player.
Create an object handler in Godot 4.4 to place ammo, enemies, energy ball, and misc objects on a procedurally generated 2D roguelite level, excluding the exit tile.
Build a generic place_object_type function in Godot 4.4 to place colored, sized objects with names. Apply it to ammo, enemies, and energy in a procedurally generated level.
Create the player node in Godot 4.4, add collision shapes, sprites, a shadow, and an animation pipeline. Define idle, move, dodge, and melee attack animations to support top-down gameplay.
Teaches 2D player movement in Godot 4.4 roguelite projects, exporting max_speed and min_speed, reading input with get_vector, updating velocity, and using move_and_slide for smooth movement.
Animate a 2d roguelite player in Godot 4.4 by looping move and idle animations, flipping the sprite by velocity, and tuning sliding with a minimum speed in physics processing.
Instantiate the player scene into the level in Godot 4.4, swap to the proper player scene, ensure collision works, adjust scale, and attach a camera for the 2D roguelite setup.
Set the z index and enable y sort to ensure proper layering, then attach a 2d camera that follows the player with left, top, right, bottom limits and a viewport.
Fix depth in Godot 4.4 roguelite games by adjusting tile set collision shapes, physics layers, and z-index ordering so the player passes behind or in front of tiles.
Create a gun node in Godot 4.4, attach a sprite and spawn point, and define a base gun class to share rotation toward the mouse, fire rate, and bullets.
Learn to rotate the gun around the player toward the mouse in Godot 4.4 using exported axis, base rotation offset, and flip y offset, with mouse tracking and group checks.
Flip the gun sprite based on the cursor direction in Godot 4.4 by controlling the sprite 2D scale and offset to face left or right.
Flip the player toward the mouse in a procedurally generated 2D roguelite using Godot 4.4. Update the sprite 2D orientation based on mouse x position to align the gun.
Create a bullet scene in Godot 4.4 with a 2D area, collision shape, and sprite, then script speed, direction, damage, and connect an on-screen notifier to destroy off screen.
Configure a gun script in Godot 4.4 with fire rate, bullet speed, and damage. Implement a reusable _fire function that spawns bullets at a spawn point with proper direction.
Create a custom mouse cursor in Godot 4.4 by adding an animated target cursor as an Area2D, and toggle its visibility and mouse mode based on the gun point.
Create a global gun state via a singleton script. Toggle gun visibility with the middle mouse and shoot with the left mouse, while keeping the target cursor always on top.
Prevent shooting when the gun is not visible by gating the shoot action with a global gun equipped flag. Practice toggling visibility and preparing for a melee attack next.
Create a sword attack by using an is_attacking boolean and triggering the animation on shoot input when the gun point is not visible. Reset_state at animation end.
Create and activate a sword collision shape in Godot 4.4 by adding a 2D area and collider, enabling it during attack frames, and adjusting layers and groups for accurate collisions.
Develop a global health system and a GUI overlay in Godot 4.4, displaying life icons in rows with eight per line and a 16-pixel spacing.
Integrate the health system with the player, play the death animation when health reaches zero, emit a dead signal, and restart or reset the procedurally generated level.
Create a spike trap in Godot 4.4 for a procedurally generated 2D roguelite, including sprite, animation, and collision setup, and implement a damage script that harms the player when touched.
Learn to place spike traps in procedurally generated levels using the object handler, instantiate enemies, center them on tiles, and randomize enemy types, with collision and damage basics.
Add an ammo system, enforce shooting only when ammo is above zero, and decrement ammo after each shot. Display the current ammo in the GUI with a label and sprite.
Create an ammo scene in Godot 4.4, a 2D area with a circle collision, animated sprite, and a script that spawns ammo via the object handler and updates global ammo.
Create an exit scene in Godot 4.4 with a collision area and animated sprite, place it in a procedurally generated level, and wire restart signals.
Implement a screen shake for shooting in Godot by adding a shake script to the camera, using a timer to control duration, with intensity and dampening, triggered from the gun.
Create and trigger explosion effects for bullets and tile collisions, instantiate explosions via a packed scene, and hide the gun on player death.
Learn to destroy objects with a sword slash by wiring a spike trap to detect the swell entering an area, using groups and layers, then explore adding more weapons.
Refactor the weapon system to shoot three bullets using a gun ID and per-category bullets, with angle-based rotations, spawn positions, speed, and damage in Godot 4.4.
Create a triple shotgun by adding a gun node, loading the gun script, wiring a sprite 2D with a spawn point, and attaching the bullet scene in Godot 4.4.
Create a bouncing bullet scene in Godot 4.4 by adding a new area2d bullet with a circle collider, purple sprite, and an on-screen notifier to delete off-screen bullets.
Implement a bouncing bullet in Godot 4.4 by exporting tweakable speed, damage, max bounce, and lifetime; detect walls, bounce using normals, and despawn off-screen.
Create a single bounce gun in Godot 4.4 by building a 2D gun scene with a spawn point and a bouncing bullet, and implement simple gun logic for future variants.
Create the triple bounce gun in Godot 4.4 by defining a spawn point, assign bounce bullet, and implement a three-bullet spread with angles 0, 30, and -30, plus camera shake.
Create a rocket launcher in Godot 4.4, attach a sprite, define a spawn point, and script a rocket that travels toward the mouse.
Create a rocket scene by adding area 2d, sprite 2d, collision shape, and visible on screen notifier 2d; rename the animation player to anim, and prepare a bullet script.
Create a godot 4.4 rocket script with speed, damage, and lifetime exports. Bind collision and screen signals, then move the rocket to follow the mouse with rotation, despawning on exit.
Create gun item scenes to pickup by building a 2D item node with sprite, area collider, and animation frames, then script pickup logic to grant the weapon on player collision.
Instantiate weapons in levels using an object handler, export weapon count, manage weapon scenes, and place instances at available positions to create randomized, trackable gun pickups.
Create and code a gun inventory node in Godot 4.4 to collect, equip, and cycle through weapons using input actions, signals, and an exported weapons array.
Create a bridge function to pick up weapons, add them to the inventory, and swap to new guns via a weapon change signal, including instantiation and cycling.
Expand the roguelite by adding a visual inventory showing collected weapons, integrate enemy prototypes, and add sound effects, while refining procedural generation and the weapon system for a solid base.
Download and install Godot 4+, create a 2D roguelike project, import sprites, and build the main level as a 2D scene, organizing assets into levels and scene folders.
Create a playable Godot 4 player by adding a character body 2D with collision shape, a sprite sheet, animation player for idle and walk, plus a hit box and camera.
Implement 2D player movement in Godot 4 using a gdscript script, exporting speed, and get_vector input, then move_and_slide with basic animation and sprite flipping.
In Godot 4, create a gun system with a gun handler and sprite, rotate gun toward the mouse using global mouse position, and flip the sprite at a 90-degree threshold.
Align the player's orientation to the mouse cursor in a Godot 4 2D roguelike, flipping the sprite as needed and laying groundwork for the upcoming shooting mechanic.
Develop a 2D roguelike shooting system in Godot 4 by creating a bullet scene, instantiating bullets from the player, moving them with speed and direction, and deleting offscreen bullets.
Create a custom animated mouse cursor in Godot 4 for a roguelike, hide the system cursor, and drive a dedicated mouse icon scene with an area 2D and animation.
Implement a death animation and a state machine in Godot 4 for a 2D roguelike. Switch between move and dead states, handle hazards, and reload the scene after death.
Fix the up and down player animation by checking the y-axis input and applying the move animation in Godot 4, enabling consistent movement, shooting, and early ammo and lives management.
Create a canvas layer overlay to display health hearts and ammo, driven by player data, with dynamic heart frames and ammo updates on shoot.
Learn to constrain shooting by ammo, prevent firing when ammo reaches zero, and set up future ammo refill to add stress and engagement as you prepare for procedural world generation.
Create the tile map and tile set in Godot 4, configure terrain with auto tiles, and paint the terrain as a precursor to a procedural carving algorithm.
Develop a walker-based procedural generation algorithm in Godot 4, using a border, random directions, and a step history to generate and place rooms, including start and end rooms for roguelike.
Join the walker to generate levels in a Godot 4 tile map, constrain within borders, update and clear cells, and generate new layouts with the spacebar.
Set up the tile map's collision shapes by painting a physical layer on selected tiles, assign collision layers for the player and bullets, and test in the scene.
Enable y sort on the main level and tile map, adjust z index and sprite 2D ordering to ensure rendering for random player spawning and future instancing.
Save the player as its own scene, preload it, and instance it in first generated room to set its position on the 16 unit grid. Press spacebar to regenerate level.
Create and place a procedurally generated exit in a Godot 4 2d roguelike, using area 2d, sprite 2d, animation player, and collision shapes, then instantiate the exit away from the player.
Duplicate the tilemap to create a ground layer, rename it ground, then add a pavement layer and use scattering to place cosmetic tiles randomly.
Create an enemy in Godot 4 by adding a 2D sprite, collision shapes, and a hitbox area; configure a sprite sheet and build right, down, left, and up looping animations.
Code enemy movement in Godot 4 for a procedurally generated 2D roguelike, using velocity and speed, with a timer that randomly changes right, left, up, or down every two seconds.
Instantiate enemies from a preloaded enemy scene, assign random positions with the tilemap pick_random within the level border, and spawn multiple foes using a for loop with y-sort and collisions.
Master killing enemies in a Godot 4 2D roguelike by using area enter with a bullet group to trigger an explosion scene, animate it, and remove the enemy.
Learn to instance an explosion scene into a bullet, using a preload reference and the bullet’s global position, spawn the explosion, and remove the bullet while keeping the explosion active.
Implement a loot system that spawns ammo when enemies die, using an ammo scene with Area2D detection, collision shapes, and an exportable ammo amount added to the player's ammo.
Build a scent trail in Godot 4 by spawning small trail segments behind the player with an area 2D and timer, guiding enemies along the path.
Create a chase state where enemies detect the player via a scent trail using a dedicated area 2D, group detection, and velocity-based movement in Godot 4.
Implement enemy damage and visual feedback in a Godot 4 2D roguelike by detecting hits, reducing health, and flashing the player with a shader.
Implement a responsive screen shake for explosions by auto-loading a global camera reference and triggering a configurable shake with intensity, duration, and dampening during bullet explosions.
Create a countdown timer in Godot 4 that restarts the level when time runs out, displaying a clean, zero-decimal countdown and reloading the current scene on timeout.
Learn to control the mouse cursor with the right joystick on a game controller in Godot 4, including input actions, direction calculation, and mouse warping for precise aiming.
Identify and fix bugs in a Godot 4 roguelike, addressing scene reload pauses, death animation glitches, and ammo not clearing after reload with a timer.
** THIS COURSE HAS BEEN RECENTLY UPDATED for GODOT 4.4**
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!