This document lists new content, changes, and fixes in each release.
This major update brings a massive FTL-like tactical space game tutorial series with 22 new lessons.
Other fixes in the simulation game series:
- Make
power_direction
a public var in 07.placing-items-and-fixing-their-look
and 11.battery-entity
.
- Fix wrong path to
EntityPlacer.gd
in 07.placing-items-and-fixing-their-look
.
- Fix custom project setting instructions due to a change in Godot 3.3.3 in
07.placing-items-and-fixing-their-look
.
This major update brings the Tower Defense tutorial series with 27 new lessons.
As usual, the update's free for anyone who owns 2D Secrets.
- Fix code bug in
10.chest-entity
where get_inventory()
would crash the game when consuming fuel.
- Fix code bug in
10.putting-items-in-inventory
that only picked up some of the items when a panel was almost full.
- Fix code bug in
02.the-information-tooltip-part-1
where holding an item did not clear the tooltip when leaving a panel.
- Fix code bug in
11.inventory-slots-for-specific-items
where swapping items allowed any item to be put in a filtered inventory panel.
- Fix the wrong image being used in
02.limiting-vision-with-lights
.
- Fix typo in
06.creating-items-with-crafting-recipes
.
- Fix code bug where
rand_range()
was used for region indices, leading to sprites not being used. In:
11.rocks-sticks-and-debug
.
07.requiring-tools-to-mine
.
08.trees-ore-and-mining-feedback
.
- Rename
GUI._is_open
property to is_open
.
- Remove unused
_get_pickup_count()
function, update images in 08.trees-ore-and-mining-feedback
.
- Remove outdated sentence in
09.dropping-and-picking-up
.
- Fix node hierarchy in a screenshot in
03.initial-setup
.
- Fix a typo in
11.battery-entity
.
- Make instruction to use a script explicit in
11.battery-entity
.
- Fix typo in
06.creating-items-with-crafting-recipes
.
Simulation series (all 3 chapters):
- All classes and scenes now have an explicit path with their directory, to know where to save and find them.
Simulation crafting series:
- Fix typos in
03.the-information-tooltip-part-2
.
- Fix two typos in
04.designing-the-crafting-gui
.
This update brings a bunch of fixes and minor improvements.
- Add two missing setter functions in a code listing in
20.status-effects
.
- Write about inherited scenes and sharing nodes in battler scenes in
21.applying-status-effects
.
- Remove duplicated instruction to delete a node in
02.the-action-menu
.
- Add instruction to assign a scene using the inspector in
03.selecting-a-target
.
- Add gif animation for the selected animation in
08.battler-and-hud-selection
.
- Rename an outdated variable in
10.power-paths-and-updates
.
- Fixed typo in
01.finite-state-machine
.
- Fixed a typo in
01.actions-button
.
- Fixed a typo in
03.player-cursor
.
- Fixed a typo in
09.animated-scoring-sprites
.
- Added missing two lines of code in the code reference in
07.active-turn-queue
.
This new release brings the rhythm game series, with 20 new lessons, for a total of about 140!
- Fixed the code reference in
09.dropping-and-picking-up
that showed both the old "drop" action and the new one.
- Added missing multiplication by time modifier in the deconstruct timer in
08.trees-ore-and-mining-feedback
.
- Removed typo in a comment in
10.putting-items-in-inventory
.
- Fixed a typo in a comment in
06.game-board-and-flood-fill
.
- Fixed a code bug in
06.creating-items-with-crafting-recipes
where it consumed an item from every inventory slot that had the ingredient it needed instead of stopping once finished.
- Fix duplicate text in
06.creating-items-with-crafting-recipes
.
- Use an enum as an export type hint in
12.01.implementing-formulas
and update corresponding explanation.
- New lesson: the Strategy pattern
- Fixed a code bug in
09.power-system
that could cause power sources to draw more power than they can produce and power receivers to receive negative power.
- Add explanations about
yield
and the completed
built-in signal in 14.taking-and-inflicting-damage
.
- Add a note to play the project's main scene to test changes in
14.taking-and-inflicting-damage
.
- Complete a code comment in
14.taking-and-inflicting-damage
.
- Add a step when creating new battlers in
15.adding-base-animations
.
This major content update brings the third and last chapter in the Simulation game series!
Through its 18 lessons, you'll learn about crafting, creating and using tools, mining, machine automation, and UI polish.
- Added the third chapter with 18 new lessons.
- Fixed a code bug typo in
05.item-stacks-and-mouse-drag-preview
and 06.the-inventory-panel
that still showed a label even when the item had only 1 item.
- Fix comment typos in
06.the-inventory-panel
so that the comments match what the code is doing.
- Fix a code bug in
10.power-paths-and-updates
that added a power receiver to power paths multiple times if it had wires on multiple sides.
- Fix a code bug that causes crashes due to a change in Godot 3.2.4 in
06.the-inventory-panel
by replacing null checks with is_instance_valid()
.
- New lesson: the Adapter pattern.
- Simplified two ternary expressions that could use boolean expressions instead.
- Simplified a ternary expression that could use a boolean expression instead.
This is a small content update to address two of your requests regarding the visual novel series (more to come), and to fix some typos and other issues.
- New lesson:
10.refining-animations
.
- New lesson:
11.the-skip-button
.
- Remove condition from a code listing in
04.displaying-characters
.
- Fix two typos in
09.sequencing-scenes
.
- Fix visual artifacts with character animation happening when pressing Enter fast and repeatedly in
04.displaying-characters
.
- Update the code to use the power direction on power movers in
10.power-paths-and-updates
.
- Updated the
start-project-2
to fix a bug causing batteries not to charge.
- Fix a typo in code comment for
Library.gd
that refers to a dictionary instead of a directory.
New visual novel tutorial series!
This series covers all the foundations of a visual novel engine or dialogue system. It teaches the foundations and techniques you can apply to any game.
- Fixed a typo in a script name in the code reference at the end of
05.entity-tracker-events
.
- Fix incorrect function name and move function from
Hit
class to AttackAction
in 13.attack-actions
.
- Fixed the
Grid.clamp()
function that would allow coordinates one unit too high.
- Fixed a typo in the final code example in
06.game-board-and-flood-fill
.
- Fixed typos in
01.finite-state-machine
.
- Updated code in
01.finite-state-machine
and added and tested player movement code demo without states.
New Simulation game UI and inventory series!
In it, you'll achieve the following:
- Creating a complete inventory system as seen in Minecraft and Factorio. You can select items, stack them, swap them, split stacks, and place them in the game world.
- Coding a quick item bar to select items with the mouse or keyboard shortcuts. The quick-bar automatically jumps to the inventory window to reduce the distance to assign items to shortcuts when opening it.
- Dropping items on the floor and looting them, which places them in the most appropriate item stack or a new slot.
There's one more chapter coming in the simulation game series dedicated to crafting and rounding out the demo.
- Added an assignment and its solution:
08.CHALLENGE-the-battler-hud
.
- Added an assignment and its solution:
08.CHALLENGE-moving-to-units.md
.
- Fixed a typo in file name in
04.engine-entity
.
- Rewrote
01.finite-state-machine
, adding more details and improved code.
- Fixed mixed tabs and spaces in code indents in
01.finite-state-machine
This little content update brings one new design pattern guide, as well as a bunch of fixes and improvements.
- New guide about the Entity-Component-System (ECS) pattern.
- Added missing
expire()
function definition in 20.status-effects
.
- Added instructions to position the UIActionMenu in
02.the-action-menu
.
- Fixed typo in
04.turn-bar
.
- Changed
ProgressBar
into TextureProgress
in 05.life-bar
.
- Fixed call to
initialize()
instead of setup()
in 07.the-battler-hud
.
- Fixed typos in
10.damage-and-miss-labels
.
- Swapped order of the last two lessons on the website.
- Fix 3 pictures showing as filenames instead of pictures in
01.grid
.
- Add missing variable definition and idle animation in
02.the-unit
.
- Add missing condition and timer property change in
03.player-cursor
.
- Fixed typo in class name.
- Fixed instruction saying to create a
Node2D
instead of a BlueprintEntity
in lesson 04.engine-entity
.
- Clarified instruction about instantiating battlers in
07.active-turn-queue
.
- Added missing signal definitions and updated code reference in
14.taking-and-inflicting-damage
.
- Added section about creating unique battler scenes in
15.adding-base-animations
.
- Added missing call to
emit_signal()
in the code reference in lesson 17.queueing-player-turns
.
- Renamed
BattlerAI._is_health_*()
's rate
argument to ratio
in 18.ai-controlled-battlers
.
- Fixed typo in
02.the-unit
.
- Fixed misplaced text inside a code block in
02.the-unit
.
- Added missing instructions about the selected animation in
02.the-unit
.
New Simulation game series inspired by Factorio.
The first chapter and its 12 lessons cover:
- Basics of working with isometric graphics in Godot.
- Entity Component System (ECS) design pattern.
- Grid-based object placement and recollection.
- Power (electricity) management system and powering machines connected to an engine with wires.
And some more. It'll get more content in a future release.
New Design patterns in Godot chapter. Its first release comes with two guides:
- Introduction to design patterns.
- The State pattern (Finite State Machines).
We have more planned for future updates, just as with the best practices series.
New mini-tutorial by Pigdev: Visibility 2D nodes.
Other change: moved the Events bus singleton pattern page to the new Design Pattern series.
New Tactical-RPG grid-based movement series. It covers:
- Grid-based movement.
- Cursor to navigate the map and select a unit.
- Displays the unit's walkable area.
- Displays the unit's path preview.
- The user can validate or cancel the movement.
- Units move smoothly to the target location.
Added a best practices chapter with:
- Recommended practices with signals.
- A guide about the Events bus singleton.
- Tips and guidelines to write clean code.
- A guide about savegames and how to save data in Godot.
We'll keep adding content to this chapter based on your requests.
- Added missing pictures in
04.the-demos-code-structure
.
- Added a diagram and explanations for the code structure in
00.intro
.
This release improves the JRPG series based on the feedback we got from you, and improves the introduction too.
- Added the open-source projects' license terms in the introduction and link to all projects on our GitHub.
- Rewrote the early-access page and added contact information, so you have it handy.
- Added credits with the list of backers.
- Added feedback form to the course.
- Added explanations about when or why to use a resource and write a nicer introduction in
08.base-stats
- Added code to play the die animation when an enemy dies in lesson
16.coding-the-BattlerAnim
.
- Added a code diagram in the introduction and explanations about composition over inheritance and code planning.
- Wrote a breakdown of how the game demo plays and clarified the lesson about prototyping.
- Reordered the first few lessons.
- Added instructions about creating the
BattlerUIData
resource that stores a battler's display name and icon.
- Added an index.html file to the downloadable version of the course.
Fixes and improvements in the JRPG series:
- Improved explanations in lesson
06.the-battler
, added more details and a simplified UML graph. Rewrote an unclear sentence.
- Added code to deactivate a battler when their health depletes and two extra notes about using signals and code duplication. That's in lesson
08.base-stats
.
- Added missing method
Battler.get_ai()
in lesson 19.ai-choices
.
- Renamed a signal callback in the JRPG UI series, in lesson
09.combat-result-panel
.
This update adds the JRPG combat user interface series:
- Building a menu from a character's combat actions.
- Selecting targets.
- Designing a user interface displaying each character's life and energy and showing which character is active.
This update brings two fixes to the JRPG combat series:
- Fix incorrect comparisons in
_is_health_below()
and _is_health_above()
in lesson 18.ai-controlled-battlers.md
.
- Fix using
get_tree()
as a placeholder in AttackAction.gd
instead of Engine.get_main_loop()
.
- Address an issue in the turn queue lesson with
yield()
calls causing linting errors.
- Added instructions to download the offline and DRM-free version of the course on Mavenseed.
This first release brings the JRPG combat core series, which covers the following topics:
- Managing an active time battle with time slowing down on the player's turn.
- Coding combat actions using the Command programming pattern.
- Implementing turn-based AI.
- Sequencing battler attacks with simple animations.
- Winning and defeat conditions.
- A stat system with base and final stats, showing support for buffs and debuffs.
- Status effects, applying buffs, or dealing damage periodically.
You will also find five mini-tutorials:
- Lighting with normal maps
- Limiting vision with lights
- Character customization
- Game settings menu
- Camera zoom
These tutorials are short and self-contained. You can follow them in any order. school.gdquest.com - 0.3.5-2024-11-18T20:36:29.840Z-
Lesson Q&A
Use this space for questions related to what you're learning. For any other type of support (website, learning platform, payments, etc...) please get in touch using the contact form.