
Set up Godot 4 for SeaQuest, download the engine and assets, import them into a 2D animated sprite, and configure a 16 by 9 window with nearest texture filtering.
Configure the Godot 4 input map to enable player movement by creating actions for move right, move left, move up, and move down, binding them to arrow keys and WASD.
Learn to implement smart player movement in Godot 4 using a velocity vector, delta time, and input actions for left, right, up, and down, with diagonal normalization for consistent speed.
Flip the player sprite horizontally based on velocity.x to reflect movement direction, using an if-else and velocity checks in Godot 4, and ensure it doesn't flip when velocity is zero.
Explore the Godot 4 scene tree, including base nodes, node 2D, sprites, and area 2D. Learn how transform and z-index handle position and layering, and how scenes enable Pac-Man components.
Create a player bullet scene as an animated sprite, import a two-frame sprite sheet, set the animation to play once at 20 fps with autoplay on load, and center sprite.
Move a player bullet in Godot 4 for a retro Atari style 2D SeaQuest, using velocity and delta in physics process to update global position.
Design and code a retro atari style 2d game shooting mechanic in Godot 4 by binding spacebar to a shoot action, instantiating a bullet scene at the player's global position.
Learn to implement a reload delay in Godot 4 by using a timer node, signals, and onready references to control shooting rate and prevent bullet spam.
Flip bullets when the player faces left by checking flip h and setting negative x velocity, then delete off-screen bullets with visible on screen notifier 2D and screen exited signal.
Offset bullets from the player's front using a defined bullets_offset and direction-aware logic, then introduce random bullet spread and proper rotation handling for consistent movement and ready for enemy encounters.
Add a shark enemy in Godot 4 as an animated sprite, with a four-frame sheet, and script smooth horizontal movement using physics process and a sine wave for bobbing.
Implement collision detection in Godot 4 by adding an Area2D hitbox, connecting area entered signals to the shark, and destroying bullets via get_parent().free to trigger shark death.
Organize Godot 4 scenes by making the hitbox the scene root (area 2d), tagging with the player bullet group, and updating scripts and signals for robust collision handling.
In Godot 4, spawn sharks using a marker 2D enemy spawner, a timer, and signals; preload, instance, and position them, then clean up off-screen sharks with a visible on-screen notifier.
Fix enemy spawning direction in Godot 4 by using a shared spawner script with a per object facing left flag, flip direction, and randFRange for timing.
Learn to redesign a centralized enemy spawner in Godot 4 for SeaQuest, using one timer, left/right spawn points, random point selection, dynamic get_node access, and instanced sharks with direction flip.
Learn to spawn multiple enemies at once in Godot 4 using a for loop and a spawn enemy function, enhancing the enemy spawner and testing with visible points.
Learn how arrays work in Godot 4, including defining arrays, zero-based indexing, retrieving values by index, and using for loops to iterate over numbers and strings.
Finish the enemy spawning system in Godot 4 by using arrays and for loops to manage spawn points, add random offsets and sine-wave movement, and reset each wave.
Design and code a retro atari style 2D game in Godot 4 by creating a person scene with area 2D, animated sprite, and collision detection to save crew.
Add a dedicated spawn person timer to spawn multiple people, instantiate the person scene at random spawn points, and flip direction for proper on-screen movement.
Learn how singletons provide a global, accessible variable to track saved divers across scenes, simplifying data sharing between the player and UI and reducing dependency issues.
Create and use a global singleton in Godot 4 by autoloading a Globals.gd script, storing persistent data like saved people count across scenes.
Create a seven-icon crew progress UI in Godot 4 for SeaQuest, using sprite 2D, sprite sheets, and export variables to update textures as players collect crew.
Create a game events singleton in Godot 4, emit a custom signal when a person is collected, and connect it to the user interface to update counts without per-frame checks.
Explore how Godot orders nodes in the scene tree, use a canvas layer to keep the user interface above all elements, and control z-index to render bullets above the player.
Design and code an oxygen system that depletes over time, syncing a texture progress bar in the user interface with a global oxygen level using delta in process for consistency.
Refactor the player's code into dedicated functions for movement, direction, shooting, and oxygen management, paving the way for a state-machine driven behavior and clearer, more maintainable Godot 4 gameplay.
Implement a player state machine that enables movement and shooting in the default state, and refills oxygen via an invisible area 2D zone based on crew count.
Switch the player's oxygen state in Godot 4 by emitting full crew oxygen refill or less people oxygen refill signals from the oxygen zone and updating the player's state accordingly.
Implement an oxygen refueling mechanic using a state machine to switch to refilling. Manage full crew versus partial crew refills and prevent movement during the refill.
Set up a dynamic water background with a mesh instance 2D and a quad mesh, then apply a shader to animate waves and adjust color layers for depth.
In Godot 4, design and code a retro Atari-style 2d game by tweaking the environment color palette, adjusting enemy spawns, and adopting viewport rendering for a pixel art look.
Clamp the player's x and y positions in Godot 4 using clamp to stay within min and max bounds, keeping the player on screen and at the oxygen refill point.
Unload crew with a 0.15 second timer, emit update signals to refresh the user interface, and refactor to an oxygen refill flow for full versus partial crews in Godot 4.
Add a label under the oxygen bar, set text to oxygen, and center a custom eight-pixel font with a five-pixel outline, anti-aliasing off.
Design and implement a camera 2d system that follows the player's y position via a signal from a game events singleton, using lerp smoothing and height clamps.
Design and code a points system using a global singleton to track current points, display them in a UI label, and update via signals from sharks and people.
Fix a disappearing enemy bug in Godot 4 by replacing the visibility notifier with boundary checks using global screen bounds, destroying sharks and people only when off-screen beyond set limits.
Establish a global game_over signal to trigger the game over screen when the shark hits, oxygen runs out, or refilling with the full tank, and wire the player to respond.
Overlay a full-screen game over screen using a UI node and centered labels. Connect a game over signal to reveal it and update the score text with a 'score' prefix.
Implement a half-second delay before the game over screen using a one-shot timer, then enable restart by pressing space to reload the current scene.
Learn how to reset global variables in Godot 4 by using a singleton and a game over script, ensuring points, oxygen level, and saved people reset when you restart.
Add and display a high score on the game over screen by duplicating the score label, creating a global high score, and updating it when current points exceed it.
This lecture shows pausing all on-screen enemies during oxygen refills or death, then unpausing them when resumed, using a game event signal and a state machine.
Learn to pause the enemy spawner in Godot 4 by wiring a pause signal to stop and restart spawn timers, preventing enemies from spawning during pauses and resuming after unpause.
Migrate your game's state machines to enums, replacing string states with a states enum to improve readability, debugging, and engine suggestions for the player, sharks, and saved people.
Learn to use flashing textures to alert the player, turning crew sprites white when fully staffed and flashing the player during oxygen refills with a dedicated flash animation.
Learn to implement a smoothly animated oxygen bar in Godot 4 using a Node 2D, center-origin scaling, and multi-stage alerts with lerp, rounding, and clean UI anchoring.
Learn to flash the oxygen bar white in Godot 4 by using the modulate color to override rgb values and a 0.1 second timer that reverts to default.
Build a global sound manager singleton that automatically creates and plays audio stream players, assigns sounds, and removes them after finishing, with random pitch between 0.8 and 1.2.
Load and play sounds across all game objects, including death, oxygen full, oxygen alert, save, and game over, and ensure player bullets can kill people to trigger sounds.
Add a ground texture to the bottom of your Godot 4 game, position it precisely, and raise its z-index so bullets render beneath it, enriching the scene with immersive decorations.
Create an object piece scene to spawn shark and player fragments, assign velocity and rotation, and use animation player with autoplay and cue free function to destroy pieces after animation.
Learn to split enemies and the player into pieces by instantiating object piece scenes, using a piece count and for loops to spawn and position them.
learn to design and code point value popups in Godot 4 for a retro 2d game, instancing dynamic popups on enemy death and saves with animation and auto destruction.
Enable backwards movement while shooting in Godot 4 by preventing direction changes. Use an is_shooting flag to keep facing direction and bullet direction while shooting.
Master rotating the player with movement in Godot 4 by using velocity x to set a left-right rotation and velocity y for up-down rotation, smoothed with lerp.
Fix the issue that lets you collect people after crew is full. Add a condition to only collect when the crew count is below seven, updating the person collision check.
Build a retro Atari style 2D game in Godot 4 using a global kill all enemies event and signal emission when the full crew refills oxygen.
Export your Godot 4 SeaQuest game to Windows, Linux, and HTML, set full screen, embed the PC file, and publish on itch.io for browser play.
Introducing a comprehensive Godot 4 course! This course is going to teach you everything you need to know about Godot 4 and get you ready to make your own games.
Over 60 engaging videos await you, packed with invaluable insights and hands-on tutorials
Dive into 13 hours of content meticulously crafted to make you a Godot Engine expert
In this course, you'll embark on a journey to master Godot's best practices and harness powerful systems that will supercharge your game development:
Discover the custom-built Global Game State for seamless game management
Harness the Game Event Management System for organized, event-driven gameplay
Whether you're a seasoned programmer or new to coding, we've got you covered. My explanations are tailored to ensure everyone can learn and succeed.
Learn the fundamentals of game design
Master GDScript programming - no prior experience necessary
The centerpiece of this course is a modern twist on the classic Atari 2600 game, SeaQuest, designed by the legendary Steve Cartwright in 1983. Get ready for a "retro remake" like no other! While we draw inspiration from the original, we'll explore exciting new directions in game design.
The ultimate goal is to liberate you from the confines of "tutorial hell." We've all been there, endlessly watching others create games without reaching that milestone ourselves. It's time to change your learning strategy.
Following tutorials and courses is just the beginning. We'll teach you to dissect game mechanics and systems, leveraging online resources to solve problems independently. When you've mastered this skill, you'll have the power to create your own games from scratch.
By the end of this course, you won't just have a completed game; you'll have the knowledge and confidence to craft your own video games.
Enroll now and start creating your own games today!