In this course, we will start with a blank project and start by learning the basics of a third person character and camera controller popular in modern action adventure games. From there we will add the essential elements that are common to most games such as menus, settings, music, saving, and loading. Next we will add an event system capable of producing complex branching dialogues and cut-scenes complete with animation and camera movements. Then we will add an inventory system which will allow the player to pick up money and items, see them in an inventory menu, drop, use, or equip their items, and trade them with NPCs. Lastly, we will allow characters to engage in combat; attacking with weapons, blocking with shields, dodging, shooting projectiles, taking damage, and dying.
In this course, we will start with a blank project and start by learning the basics of a third person character and camera controller popular in modern action adventure games. From there we will add the essential elements that are common to most games such as menus, settings, music, saving, and loading. Next we will add an event system capable of producing complex branching dialogues and cut-scenes complete with animation and camera movements. Then we will add an inventory system which will allow the player to pick up money and items, see them in an inventory menu, drop, use, or equip their items, and trade them with NPCs. Lastly, we will allow characters to engage in combat; attacking with weapons, blocking with shields, dodging, shooting projectiles, taking damage, and dying.
Join our discord server to work on this course alongside your peers. Click the website link in my profile to join.
You'll also learn useful skills for working with the Godot game engine, organizing, and designing your projects to be more scalable. You will be learning how to code with GDscript, with everything explained in detail. Our scripts will be written to be highly customizable and reusable. All of the project files will also be available on GitHub if you need to review the project as it was after completing each lesson. These videos were recorded using Godot version 4.3.
This course contains:
Introduction to 3D Game DevelopmentGame Development EssentialsDialogue & EventsInventory & ShopsDynamic Combat System
If you've already purchased any of these courses, please ask me for a discount on this course.
The assets used in this course are from KayKit's Adventurers and Dungeon Remasters packs along with Basic GUI bundle made by Penzilla, and music composed by Eric the Funny Baron. The inventory icons were made by Shikashi. All are available to download for free on itch. Coins sound effects were made by Valenspire on FreeSound.
Learn how to set up a basic 3D scene in Godot, as well as how meshes, materials, cameras, and light sources interact with each other to produce a scene.
Learn how input events are used to trigger actions in our game, and how scripts are used to add behaviors to nodes.
Learn how to use 2-dimensional input controls to move a character through 3-dimensional space.
Learn how to import and implement 3D character models into the Godot engine.
Animate the character walking at variable speeds with realistic locomotion physics.
Learn how to rotate a character model to face in the same direction they are moving, either instantaneously or gradually over time.
Learn how to animate jumping through a sequence of separate animations, using a state machine to control how and when to transition between animations.
Learn how to adjust gravity, or how it affects your character and how they jump. As well as how much control the player has over the character in midair.
Learn how to implement third person character controls.
Learn how to build a 3D level with imported assets using a grid map.
Pause your game and build a menu on a canvas complete with buttons. Learn how to connect signals to script functions.
Build a title scene for your game and connect it to the game scene, then connect the game scene back to the title scene through the pause menu.
Transition smoothly between scenes by fading to black. Learn how to use tweens to gradually change properties over time and await signals.
Learn about classes and inheritance while passing information about game settings and player progression between different scenes.
Combine what you learned in the previous 2 lessons to create an autoloaded node for background music that fades volume in and out.
Learn how to use more types of Control nodes, nesting containers, and emit custom signals to build a settings menu accessible from any scene.
Detect when the player exits the level, fade to black, and unload the current level. Learn about abstraction and debug warnings.
Use arrays to store transitions between levels, iterate through the array, position the character in the new level and rotate them to face the desired direction.
Use Singletons to Save and Load both game settings and player progress through your game.
Wrapping everything up by adding a credits scene with variable scrolling speed.
Create a dialog box for your game that displays a line of dialogue to the player.
Display longer sequences of dialogue from a single speaker without closing the dialog box, complete with animated typing at variable speeds and letting the player skip the typing animation.
Synchronize dialogue with other game scene objects through the use of an event manager.
Apply the composite pattern to make anything in your game intractable with a button press.
Creating branching dialogue trees by connecting signals to a match statement.
Use progress flags, allowing the player to progress through your game using the event system.
Add camera angles, panning, and track movements to turn dialogue into cut-scenes.
Animate characters during interaction and dialogue events.
Move characters around the scene during events using markers and simple stage directions telling them to walk or run.
Make event scripts easier to write & edit, standardize common functions and nest events inside each other.
Use global signals to connect a collision with a stack of coins to the player's progress data and updating the UI all automatically. Use Tweens to hide UI elements when they are not needed.
Make the simple act of picking up coins more satisfying for the player with visual and audio effects.
Detect when items are around the player to be picked up, figure out which one is nearest to the player, and add it to their inventory at the press of a button.
Build an inventory menu that removes player control without pausing the game.
Initialize the player's inventory and add items as they are picked up, either as individual items or in stacks, and display information about selected items in the inventory menu.
Drop or use items from the inventory menu taking into consideration both PC and controller inputs.
Equip items from the player's inventory to the player character through the inventory menu.
Allow players to buy and sell items with an NPC shop.
What you should have in your project before starting this section and what will be covered.
Use a lock on button to reposition the camera behind the player character, determine which enemies are visible, and which one is the closest to lock on to.
Change the behaviour of the player character and camera while locked on to a target.
Buffer inputs and blend upper body action animations with lower body movement animations.
Change character's attack animations based on what type of weapon they have equipped and apply different collision masks to their hit boxes based on who is holding the weapon.
Add hurt boxes to characters, use collision masks to detect when a weapon makes contact, apply damage based on the weapon used, react to the strength and directionality of the attack, and track health using a gauge.
Create blended, omnidirectional dodging animations complete with i-frames, and wait until characters complete a combat action before performing another.
Reduce the damage of attacks coming from in front of the character while blocking with a shield. Allow actions to interrupt other actions and automatically return to the original action.
Load ranged weapons with ammunition to fire straight ahead or at a target, hitting either enemies or the environment, and cleaning up old projectiles.
Control enemies with AI scripts that can detect the player character, navigate around obstacles, and engage in armed combat.
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.
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.