Create A Procedurally Generated 2D Roguelike In Godot 4

Posted By: ELK1nG

Create A Procedurally Generated 2D Roguelike In Godot 4
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.99 GB | Duration: 4h 56m

Learn how to make game like Nuclear Throne or Enter the gungeon using Godot 4.2

What you'll learn

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

Requirements

A bit of programming knowledge is needed (knowing function, variable, etc), but I'll teach you the rest

Description

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 shapeRotating the gun and the player toward the mouse positionInstancing enemies inside the border of our generated levelHaving our enemy chasing usBeing able to collect ammo by looting them inside our levelHaving a countdown that restart the level when reaching zeroCreating shader to damage the playerHaving screen shake when the bullet explodeHaving a player life systemHaving an exit portal that we need to find to continue playing the gameI’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!

Overview

Section 1: Creating the player and the shooting mechanic

Lecture 1 Setting up godot, importing our sprites and creating the main level

Lecture 2 Creating the player and its animations

Lecture 3 Player movement

Lecture 4 Creating the gun

Lecture 5 Aiming the direction of the player to the mouse cursor

Lecture 6 Creating the projectiles and coding the shooting mechanic

Lecture 7 Animating the mouse cursor and changing it to a target icon

Lecture 8 Setting up the death animation with state machine & hazards

Lecture 9 Fixing the up and down animation of the player

Lecture 10 Creating the GUI and displaying the amount of health and ammo

Lecture 11 Running out of ammo

Section 2: Procedural generation and creating enemy

Lecture 12 Creating the tilemap & tileset

Lecture 13 Coding the procedural generation algorithm

Lecture 14 Generating our level using the walker

Lecture 15 Setting the collision shape of our tilemap and collision layer

Lecture 16 Setting up the Ysort of our level

Lecture 17 Placing the player in our procedurally generated level

Lecture 18 Creating and placing an exit + ysort of the mouse cursor

Lecture 19 Creating a second tilemap for the floor + place randomly cosmetics tile

Lecture 20 Creating the enemy animations

Lecture 21 Coding the enemy movement

Lecture 22 Importing enemies in the level and placing them randomly

Lecture 23 Killing the enemies and instance an explosion scene

Lecture 24 Adding the explosion to the bullet

Lecture 25 Creating an ammo pickup and looting the ammo when enemies dies

Lecture 26 Create a scent trail

Lecture 27 Making our enemy chase the player through the scent trail

Lecture 28 Shaders to get hurt and killing the player or the enemy

Section 3: Screen shake, Countdown timer, Controls, Bug fixing

Lecture 29 Creating a screen shake when a bullet explode

Lecture 30 Creating a countdown timer that restart the level if it reaches zero

Lecture 31 Controlling the mouse cursor with the right joystick of a game controller

Lecture 32 Bug fixing

This course is targeted first for intermediate programmer but is accessible to beginner looking to learn more how works procedural generation