Fundamentals of Game Design and Programming

Learn to Use Godot Engine and GD Script Programming

Game Development4.4(47)4h 20m18 lectures2 sections

What you'll learn

  • Understand the basics of game design
  • Get to know the Godot engine interface and start a project
  • Design game elements and add them to the project
  • Learn the basics of programming in GD Script
  • Create the player scene and control it with the mouse
  • Shoot projectiles from the player
  • Create enemies, move them and make them appear at random
  • Add difficulty levels to the game
  • Animate characters and design the background
  • Add a Score and the start and end menus

About this course

This course teaches the fundamentals of game design and programming using the Godot engine and the GD Script language. You start by downloading the game assets and an introduction to game design, then an explanation of the program interface and starting a new project, designing the images and game elements and adding them to the project. After that you create a new player scene and learn the basics of programming in GD Script, conditional statements and functions. Then you program player control with the mouse and shooting projectiles, create the enemy character, move it, make projectiles destroy it and make enemies appear at random. You also add difficulty levels, design the game background, animate the characters, add a Score, and finish with a start menu and an end menu for the game. The course suits beginners and anyone who dreams of making their first game. You need no previous programming experience, because the lessons explain the basics of GD Script from the start. Afterwards you will be able to build a complete two-dimensional game with scenes, enemies, a score and menus, and develop your own idea using the same steps in the free Godot engine.

Expected outcomes

  • Comprehensive understanding of Godot engine tools for game design.
  • Mastering GD Script programming for interaction development.
  • Creating complete 2D games from scratch.
  • Designing and animating characters and enemies in the game.
  • Adding difficulty levels and start/end menus.
  • Developing interactive backgrounds and sounds to enhance player experience.

Learner reviews

These reviews are from learners who bought the content and completed at least 50% of it — there are no reviews from anyone who hasn't gone through the material.
4.4
★★★★☆
47 reviews
5★
21
4★
23
3★
3
2★
0
1★
0

    Course content

    1

    Basics of Game Design and Programming Using GoDot Engine

    17 lectures
    1. Introduction to Game DesignIntroduction to game design and the course path on the Godot engine: the design and programming skills needed, the Snake game as a simple example, and learning GDScript basics to make elements interactive.8:43
    2. Explaining the Program Interface and Starting a New ProjectCovers downloading the Godot engine and creating a new project, then tours the interface: the scene and nodes panel, navigating the workspace, the properties panel, and the play scene button.14:51
    3. Designing Images and Game Elements and Adding Them to the ProjectExplains the game idea (a cannon firing shells at enemies while protecting a house), then designs its images: cannon, shell, enemy, and house, and saves them in a folder inside the Godot project.12:44
    4. Creating a New Player SceneExplains creating the player scene in Godot: adding a Node2D and Sprite2D nodes for the cannon base and barrel images, assigning the textures, and running the scene to see the result.13:31
    5. Explaining the Basics of Programming in GD ScriptCovers GDScript programming basics: variables and functions, printing values to the output panel, and the difference between _ready, which runs once, and _physics_process, which runs continuously.16:20
    6. Conditional Statements and Functions in GD ScriptContinues GDScript basics by explaining if, elif, and else conditionals and defining and calling functions, and how conditions run based on comparing variable values.14:06
    7. Controlling the Player Using the MouseExplains programming mouse control of the cannon in Godot: making the barrel face the mouse, binding a mouse button to an action in the Input Map, and using a condition to run code when it is pressed.14:17
    8. Launching Projectiles from the PlayerExplains programming shell firing in Godot: creating the shell scene, instantiating it by code on mouse click, and making it spawn at the cannon muzzle through a dedicated node and travel in the aimed direction.24:19
    9. Creating and Moving Enemy CharactersExplains creating the enemy character in Godot: a separate scene that appears on the right and moves toward the cannon at a set speed, multiplying movement by delta for smoothness, then combining it with the player scene.19:48
    10. Enabling Enemy Kills with ProjectilesExplains programming collision between shell and enemy in Godot: detecting a body entering the enemy's area, hiding the shell, and decreasing the enemy's strength variable until it reaches zero and the enemy disappears.15:20
    11. Random Enemy AppearanceExplains making enemies spawn randomly in Godot: a counter that increases each frame, and once it passes a threshold a new enemy is created at a random position in a rectangle off-screen, then the counter resets.16:41
    12. Creating Difficulty Levels in the GameExplains controlling game difficulty in Godot with a Timer node: setting Wait Time, gradually shortening enemy spawn time by multiplying it by a ratio, and setting a minimum so difficulty does not rise endlessly.15:14
    13. Designing the Game BackgroundExplains designing the game background in Godot using a TileMap with two layers, one for grass and one for rocks, painting tiles randomly, and adjusting properties so the background displays clearly behind the elements.11:51
    14. Animating CharactersExplains animating characters in Godot: adding the enemy's sequential frames to SpriteFrames to create an animation, flipping the character to face left, and scaling down enemies and shells to fit the game.12:33
    15. Creating a Score in the GameExplains adding a score system to the Godot game: a Label to display the score and style its font, and a global variable in a Global script starting at zero that every script can access.16:49
    16. Creating the Game Start MenuExplains building the game's start menu in Godot: a new scene with the game title, a start button and an exit button with normal and pressed looks, and linking them to a script to start or quit the game.14:24
    17. Endgame List WorkExplains building the game-over menu in Godot: a loss screen with restart and exit buttons, showing the final score, triggering it when an enemy reaches the house through a collision area, then testing the full game.18:44
    2

    Accessories

    1 attachments
    1. Loading Game Assets

    Instructor

    Eng. Mustafa Abul-Fadl

    Eng. Mustafa Abul-Fadl

    An educational content creator and professional media buyer with expertise in video editing, graphic design, and embedded systems development.
    71.9K views18 courses

    Related courses