🎮

Making a Game with Godot (GODO)

Jul 7, 2024

Making a Game with Godot (GODO)

Introduction

  • Speaker's Background: 14+ years in video game development
  • Godot: Beginner-friendly, open-source, free engine
  • Game Ideas: Suitable for various game types (FPS, 2D platformer, etc.)
  • Installation:
    • Visit godotengine.org
    • Download the latest version
    • Unzip and remember location

Getting Started

  1. Opening Godot:
    • Cancel examle projects
    • Create a new project
    • Name it (e.g., "First Game")
    • Set location
    • Create folder (e.g., "First Game")
  2. Project Setup:
    • Sponsored by Zena Academy for Godot 4 courses
    • Basic game with player, enemies, platforms, coins
    • Concepts transfer from 2D to 3D
    • GD Script:
      • Godot's scripting language
      • Simple yet powerful
      • Next video focuses on GD Script

Assets and Importing

  • Assets Needed: Sprites, models, textures, sounds
  • Downloading Assets: Custom-made bundle available
  • Importing Assets:
    • Unzip and organize into folders (assets, scripts, scenes)
    • Drag and drop assets into Godot
  • File System Window: Manage game files

Creating the Game World

  • Nodes: Building blocks of the game
  • Scenes: Reusable packages of nodes
  • Scene Tree: Hierarchical structure (e.g., root node, child nodes)
  • Setup Player Character (Player 1.0):
    • Create a new 2D scene
    • Add character elements: CharacterBody2D, AnimatedSprite2D, etc.
    • Set idle animation using a sprite sheet
    • Fine-tune sprite and collider
  • Creating Ground and Camera:
    • Add static body and collider for the ground
    • Create camera to follow player
    • Adjust camera settings for better view

Programming Basics

  • Movement Script:
    • Using template for basic player movement
    • Script editing for speed and jump
  • Tilemap for Level Creation:
    • Add and configure tilemap
    • Paint levels using tilesets
    • Configure physics layers for collisions

Adding Game Elements

  1. Moving Platforms:
    • Create animatable body and set as platform
    • Add animation for movement
    • Make some platforms static, some moving
    • Camera follows player smoothly
  2. Collectible Coins:
    • Create coin scene with animated sprite
    • Add collision detection (area2D)
    • Add script to track collision and update score
  3. Kill Zones:
    • Reusable kill zones for danger areas
    • Update script to restart game on collision

Game World Expansion

  • Organizing Game Elements:
    • Categorize nodes for better management
    • Add new sections to level
    • Adjust camera limits

Adding Enemies

  • Creating Enemy:
    • Create slime enemy using reusable kill zone elements
    • Script movement: change direction upon collision
  • Animation and Sprite Handling for Enemies:
    • Adding animatable sprite and setting collision shape
  • Player Death:
    • Smoother death sequence (e.g., slow motion)
    • Disabled collider on death
    • Time delay before restarting game

Player Enhancements (Player 2.0)

  • Better Movement and Animation:
    • Fine-tuning input actions
    • Adding jump and run animations
    • Script updates to handle input and animations

Text and UI Elements

  • Adding Text Labels:
    • Create in-world text labels using label nodes
    • Update fonts for better appearance
  • Score Display:
    • Game manager for tracking score
    • Update score label through script

Audio Integration

  • Adding Music and Sound Effects:
    • Configure audio stream player for background music
    • Auto-load settings for persistent music
    • Add pickup sound for coins
  • Using Animation Player for Sound Management:
    • Efficiently managing sounds and timing via animation

Final Steps and Exporting

  1. Exporting Game:
    • Download export templates
    • Setup for Windows desktop build
  2. Shared Game:
    • Compile and save game to desktop
    • Ensure everything works before sharing

Conclusion

  • Further Learning:
    • Expand the level, add new elements, enhance effects and sound
    • Explore more complex features
  • Zena Academy:
    • Additional resources for learning Godot, Python, Unity, etc.

Notes Summary: Great introduction to making a game with Godot covering everything from installation to exporting, with a focus on understanding nodes, scenes, scripts, and basic gameplay elements.