
Start a Godot pirate trading game by creating a new project and scene, then set up cash and firm name labels and attach a GDScript to update them.
Learn how to manage a list of cities in Godot, display the current city on a label, and use button signals to move between ports and update the city index.
Explore representing products with dictionaries in Godot, including keys for name and price range, compare to lists, and discuss limitations and the shift toward objects and classes for city-specific pricing.
Refactor the game to use city objects instead of a string list by creating a city scene, adding a city name and warehouse flag, and instantiating cities in code.
Create product objects in Godot by defining a product scene with name, price, and max price, then instantiate them using a constructor that accepts data.
Create city product data structures using the dot design pattern to manage pricing by city, linking city and product with a city-specific price.
Create a Godot product panel to visually display city products, linking data to UI and updating names and prices in real time.
Review how the data architecture supports cities and products with per-city prices, the product panel and its initialization, and dependency injection and random price updates at ports.
Refactor the game data by using dictionaries to represent cities and products for easier loading and prototyping, and implement a single depart from city method with indices.
Learn how Godot uses custom signals to decouple objects and update port arrivals, triggering price updates, sounds, and messages while connecting city products to the main game object.
Refactor your Godot game by using static methods to move city and product creation out of the main, and apply signals to decouple objects for cleaner architecture.
Implement the buy method by wiring the buy button to the main, fetch the entered quantity from the product panel, update the ship hold, and refresh the UI.
Finish implementing the buy products method by calculating total cost (price times quantity), verifying cash, updating cash and UI, and refactoring to move the price update signal to the product.
implement a sell mechanism by wiring a sell button, validating the quantity against the ship hold, updating the ship hold and cash, and refreshing the UI after each sale.
Prototype a simple pirate battle by instantiating the pirate battle panel, randomizing pirates with strength and cannons, and wiring fight and run actions.
Learn to extend a Godot pirate battle prototype by adding player ship health, a max health, and a sink check, with an updated UI and robust damage handling.
Implement a game over screen with restart, improve visuals using the defiant font via font data, and drive city visibility with a simple at port and at sea state machine.
Add explosions to pirate battles in Godot by creating an audio stream player, loading a cannon sound resource, and triggering explosion playback during combat.
select a random pirate to hit, trigger an explosion, and remove the sinking ship with a timed visibility, creating a dynamic pirate battle in Godot.
Use Godot's animation player and animation tree to craft a sink ship animation that toggles explosion and flame visibility and scales the fire for dramatic battle visuals.
Learn to call the AnimationPlayer from GDScript to trigger a sinking ship animation, manage keyframes, scale, visibility, and audio, and integrate a random pirate attack.
Learn to load city and product data from csv files into in-game dictionaries, converting numeric fields to booleans and enabling external configuration and data-driven gameplay.
UPDATE - Source is now 3.4 compatible!
THIS COURSE GETS YOU FROM BEGINNER TO ADVANCED AS FAST AS POSSIBLE
This was designed to be a fast based course. Instead of bumping up the hours of the course, this course is designed to get you into advanced topics quickly. We start out with very beginning topics so even a new programmer can use this course, but we waste no time getting into advanced Godot topics. I'm aware that many students search for courses with lots of hours in the hopes of equating it to more material. You will often find those courses will spend exhaustive time on basics and editor tools that are available in the community or on YouTube.
THIS COURSE FOCUSES ON GAME ARCHITECTURE AND DESIGN
While we begin with simple programming concepts the course continually refactors and improves the game architecture as new functionality is added. Learn how to create a sophisticated game architecture that involves products, cities, prices that can change by city, buying/selling, and of course a prototype of a pirate battle. Learn to use signals decouple objects and refine your game design.
LEARN PROTOTYPING AND REFACTORING SKILLS
This course follows the process you would use in real world iterative game design. We build simple prototypes that we can get up and running quickly. Then as we better define our gameplay we refactor and implement improved game architecture so we can add more features. The result is a course that will help you with any game you wish to build out. Finding the right balance between rapid progress and prototyping and creating a solid game architecture you can build on is a key to successful game design.
FOR STUDENTS THAT DON'T WANT TO TAKE A 30 HOUR COURSE TO LEARN ADVANCED TOPICS
There are a lot of great courses on here but long 30 hour courses are not for everyone. Instead of lectures that spend a lot of time in theory, explaining the course itself, or exhaustively covering basic features you will find in other courses... this course just jumps in and starts building a fun Pirate Trading Game like Taipan. We start with very simple features like variables, creating functions, and using basic signals. But we quickly move right into the meat & potatoes of what it takes to make a solid game architecture.
LEARN TO SEPARATE YOUR DATA OBJECTS FROM USER INTERFACE - And when it may not be worth the time
This course takes a practical approach to building game prototypes. That said, there is a time when you must refine your game architecture and work to improve the design patterns you are using to build up your game. In this course we learn how to use signals, static methods, and dependency injection techniques to encapsulate your data making it easier to create far more robust game architectures. We also explore when it useful to break some of the rules in the interest of brevity and creating a working prototype.
This course teaches you the skills you need so you can build games in a way that suits your own development style.
CONSIDER MY IDLE TYCOON COURSE IF YOU ARE NEW TO GAME ARCHITECTURE AND DESIGN
My other Godot course, Idle Business Tycoon course has a bit more simple game design and is likely more suitable to absolute beginners.
See the power of Godot first hand
You will see quickly why so many game developers are looking to Godot for their indie game projects. We create the project, the scene and begin scripting in the very first lecture! By the second lecture we are using lists to manage our cities. By the third lecture we are already using objects and building up a complex game architecture.
The engine is particularly well suited for games that are interface intensive. There are many user controls and they are very easy to script.
If you have ever wanted to learn Godot and enjoy pirate trading games like Taipan you are in luck. This course walks you through the design of making a Pirate Trading Game prototype from scratch. Step-by-Step.