Godot 2D Secrets: Index

Table of contents

Project Files

  1. Download

01.Introduction

  1. Changelog: new content in the course
  2. Credits
  3. How to ask your questions
  4. Open-source projects

02.Jrpg Combat Core

  1. Introduction
  2. Designing a new game
  3. The design process for this project
  4. Overview of the project’s code structure
  5. Using resources for data in Godot
  6. Creating the Battler
  7. The active turn queue
  8. Character base stats
  9. Stat bonuses and penalties
  10. Challenge: stat multipliers
  11. Solution: stat multipliers
  12. Actions with the command pattern
  13. Designing damage and hit formulas
  14. Implementing the damage formulas
  15. Challenge: exponential formulas
  16. Solution: exponential formulas
  17. Creating attack actions
  18. Taking and inflicting damage
  19. Designing base animations
  20. Coding the BattlerAnim class
  21. Queueing player turns
  22. AI-controlled battlers
  23. Letting the AI choose an action and targets
  24. Status effects
  25. Applying status effects
  26. Annex 1: an alternative stats system

03.Jrpg Combat Ui

  1. The user interface
  2. Designing the action button
  3. The action menu
  4. Selecting a target
  5. The turn bar
  6. The life bar
  7. The energy bar
  8. The Battler’s Heads-Up Display (HUD)
  9. Challenge: redesigning the battler’s HUD
  10. Solution: redesigning the battler’s HUD
  11. Battler and HUD selection
  12. Combat result panel
  13. Spawning damage and miss labels

04.Tactical Rpg Movement

  1. Tactical RPG movement
  2. The Grid
  3. Creating the Unit
  4. The player’s cursor
  5. Pathfinding and path drawing
  6. Drawing the path
  7. The flood fill algorithm
  8. Unit selection and cursor interaction
  9. Challenge: Moving to target units
  10. Solution: moving to units

05.Simulation Builder

  1. Introduction
  2. Project Overview
  3. Challenges with 2D angled graphics
  4. Project setup
  5. Creating the Stirling engine
  6. Implementing the Events singleton and EntityTracker
  7. The EntityPlacer
  8. Deconstructing entities
  9. Wiring entities
  10. The Power System
  11. Sending power from sources to receivers
  12. The battery entity

06.Simulation Builder Ui

  1. Introduction and overview
  2. Creating a GUI theme in Godot
  3. Building the inventory system
  4. Rewriting the entity library
  5. Item Stacks and Mouse Drag Preview
  6. Coding the inventory slots
  7. Placing items and fixing their look in the inventory
  8. The quick item bar
  9. Dropping and picking up entities
  10. Putting ground items in the inventory
  11. Adding entities to pick up

07.Simulation Builder Craft

  1. Introduction and overview
  2. Creating an information tooltip, part 1
  3. Creating an information tooltip, part 2
  4. Designing the crafting GUI
  5. Scripting crafting recipes
  6. Creating items with crafting recipes
  7. Requiring tools to deconstruct items
  8. Adding trees, ore, and mining feedback
  9. Adding special GUIs to machines
  10. Creating a chest
  11. Inventory slots for specific items
  12. Designing the Stirling engine’s GUI
  13. Making the engine burn fuel
  14. Coding the work system
  15. Creating a smelting furnace
  16. Crafting the Furnace GUI
  17. Smelting ingots with the furnace
  18. Smelting with an electric furnace

08.Visual Novel

  1. Introduction
  2. The text box and text display
  3. Controling text display with code
  4. Displaying characters
  5. The resource database
  6. The scene player
  7. Scene fade animations
  8. Player choices
  9. Sequencing scenes
  10. Refining controls and animation
  11. The Skip button

09.Rhythm Game

  1. Introduction
  2. Overview of the demo’s structure
  3. Synchronizing Beats
  4. The Event Bus
  5. The HitBeat
  6. Spawning HitBeats
  7. Adding user interface during play
  8. Adding scoring and timing
  9. Animated scoring sprites
  10. The animated ring
  11. Structuring HitBeats
  12. Creating patterns
  13. The track selection menu
  14. Generating the tracklist
  15. The menu’s touch input
  16. Scaling and fading track tiles
  17. Creating the end screen
  18. The roller mechanic
  19. Managing the roller score
  20. Adding rollers to patterns

10.Tower Defense

  1. Introduction
  2. Project overview
  3. Dealing and Taking Damage
  4. Creating the Tower’s Weapon
  5. Dealing Damage with Projectiles
  6. Visualizing the Weapon’s Attack Range
  7. Creating Towers
  8. Placing Towers in the Game
  9. Creating the Player’s Main Building
  10. Creating the Enemies
  11. Enemy Waves
  12. Designing a Level
  13. Creating an Event System
  14. Finding the path to the base
  15. Coding the Level Logic
  16. Putting It All Together
  17. Handling Tower Transactions
  18. Designing the User Interface
  19. Creating the Game’s Main Loop
  20. Win and Lose Conditions
  21. Expanding the Game
  22. Designing New Enemies
  23. Using the Events System
  24. Adding Level Progression
  25. Upgrading Towers
  26. Designing the Upgrades Shop
  27. Listing Upgrades For Sale

11.Tactical Space Combat

  1. Introduction
  2. Project Overview
  3. Project Setup
  4. The ships’ template
  5. Drawing Rooms
  6. Units
  7. Units Player UI
  8. Player Room Feedback
  9. Units Movement
  10. Handling player input
  11. Door and unit Interaction
  12. The Enemy Ship Game World
  13. Projectile-based weapons
  14. Completing the AI Projectile Weapon
  15. Transferring Projectiles Between Viewports
  16. The Laser Weapon System
  17. Player UI
  18. Player Weapons UI
  19. Weapons and Hitpoints
  20. Shields
  21. Hazards
  22. Room Types and Modifiers
  23. Visual Improvements

Best Practices

  1. Best practices with signals
  2. Code cleanliness and readability tips
  3. How do I choose a save format for my game?

Design Patterns

  1. Design patterns in Godot
  2. The State pattern
  3. The Events bus singleton
  4. Entity Component System in Godot
  5. The mediator pattern
  6. The Adapter pattern
  7. The Strategy pattern

Mini Tutorials

  1. Lighting with 2D normal maps
  2. Limited player vision with lights
  3. Character Customization
  4. Game settings menu
  5. Zooming with the mouse wheel
  6. Visibility 2D nodes

The End

  1. Share your feedback