
We outline the decisions to make before you start coding in this quick introduction to the section, noting you can skip ahead if you prefer.
Define the core player experience with player experience design and ensure every choice from fast stylish cops and robbers action to an electro swing soundtrack reinforces that feeling.
Explore assets in a multiplayer-first Godot project, review 2D graphics, hdr skies, textures, fonts, music, SFX, and models, and organize folders by single concepts for scalable development.
Learn to create a network in Godot by running host and client instances that connect to server and exchange data, using a networked multiplayer node, the remote keyword, and APC.
Create a save file in the Godot user folder by storing a player dictionary (name, car color, audio settings) as JSON, with a singleton for cross-scene access.
Create a playable vehicle prototype in Godot, building a white-box level with CSG geometry and implementing an input-driven drive system using keyboard and controller.
Master vehicle wheel parameters and speed control to improve car handling in the Godot course. Tune suspension, radius, friction, and damping to balance grip, stability, and response.
This lecture demonstrates adding a remote player to a local game instance, spawning multiple cars, and handling lobby-to-world transitions with host-only start and IPC load world.
Demonstrates driving locally and remotely in a Godot scene by syncing host and client inputs, updating server state, and handling cameras, physics, and latency for a shared world.
Explore procedural generation to build a grid-based city layout with a recursive tree algorithm, placing tiles, walls, and clutter like traffic cones, cars, and billboards.
Learn to manipulate a grid map as a single object of x, y, z cells, fill it with tiles, and randomly populate the map at runtime—without procedural generation.
generate a perfect maze using a recursive backtracking algorithm in Godot, turning tiles into a grid map with walls removed to connect cells.
Erase walls to convert a maze-like grid map into a city-like layout by randomly removing a fraction of walls, constraining edge bounds, and tweaking spacing.
Import buildings and fix collision shapes, align pavement materials, and update the mesh library. Randomly place and rotate buildings on the grid, preserving road connections.
Control skyscraper spawn by assigning a per-tile percentage in the grid map script. Rename tiles and update the mesh library to align the order with intended buildings.
Coordinate networked city generation by letting the host control map creation while clients generate identical maps using IPC calls and synchronized placement of map cells.
Pause the Godot game until all players are ready, track ready players locally on the host, and broadcast via a game state group with remote procedure calls to start together.
Design and implement a map border by building a surrounding CSG box wall, resizable to tile size and count, with collision enabled and synchronized across hosts.
Prepare props for the city by building a parked cars scene in Godot, including mesh instances, collision shapes, physics setup, unique materials, and placement for map generation.
Place parked cars on road tiles by building a road tile list from the grid map, selecting random positions, and spawning them with correct rotations.
Learn to create billboards in Godot using CSG combine, build a billboard system that randomly selects materials from a textures folder, and spawn multiple props with simple collision.
Explore how to create interactive fire hydrants in Godot by spawning water particles, detecting player contact, and applying a hydraulic push to the car for dramatic physics.
Create a modular scaffolding prop in Godot using rigid bodies and cylinder collisions. Implement multiple pipe sound effects with random playback on collision to avoid repetition.
Split the city into four neighborhoods in Godot by assigning buildings to quadrants based on x and z coordinates, featuring factory, shops, and unique buildings.
Track plaza tiles and building rotations to place cafes on designated tiles, then spawn cafe props with correct position and rotation in the grid map.
Drift a zeppelin across a procedural city by building a simple mesh prop, animating its movement with keyframes, and adding flashing red and green lights via emission spatial material.
Learn to implement team-based gameplay in Godot, with cops and robbers, asymmetrical roles, different cars, and networked lobby integration using collision layers.
Create a minimap using a second camera rendered through a viewport container, allowing multiple cameras and a zoom that scales with player speed, while handling layering and GUI layout.
Learn to implement grid references on a Godot mini map by updating a label with x and z coordinates using stepify to snap values for readable display.
Develop a money delivery system in Godot by turning beacons into goals for a host–client gameplay loop. Enable networked money transfer, update cash, and spawn goals with an object spawner.
Spawn money on contact, letting either team pick it up to add to their current total. Cops cannot drop money and keep what they grab, while criminals may drop cash.
Learn to build an in-game announcements system in Godot that displays who delivered money and how much, with a fade-in label synchronized across all players.
Create a cop siren mechanic in Godot Getaway. Build a siren node with red and blue lights, 3D doppler audio, and an input toggle for cops only to enable arrests.
Set up a criminal detection area around the cop car, display arrest progress on a texture billboard, and allow arrests only when the siren is on, up to 750.
enable player customization with car color options and persistent audio and graphics settings, while building a 2d-3d lobby using godot's viewport, pivot, and art deco 3d elements.
Enhance the lobby by redesigning team selection with an item list UI, a pivot-tween animation, and signals to synchronize cop and criminal modes, plus theme and sound polish.
Learn how to apply a brand new spatial material to a car in Godot, update its color from lobby choices, and sync that color across the network for all players.
Persist the selected paint color across play sessions in Godot by updating the save data, setting a default color, and applying the color through the color picker.
Add variable city sizes to the lobby with a themed option menu to resize the city. Host synchronizes city size to set the grid map width and height via network.
Learn to implement map seeds in Godot, letting players enter a phrase to generate a deterministic map via string-to-integer hashing, with options for random maps or replaying a seed.
Learn how to assign three music tracks to create four neighborhood soundscapes in Godot, enable auto play, and apply a phaser and other effects for distinct audio.
Create a centered audio options popup in Godot with master, SFX, and music volume sliders configured to decibel ranges, toggled by Escape, and wired to update settings via signals.
Including code adapted from Bastiaan Olij's Youtube channel - https://www.youtube.com/channel/UCrbLJYzJjDf2p-vJC011lYw
Create a nighttime environment in Godot by adding a new environment with a panorama sky, importing textures, and adjusting ambient lighting and shadows; plan a daytime version with host selection.
Host selects an environment in the lobby, propagates the choice to all players, and synchronizes time of day and lighting for a unified view.
Create a car exhaust particle system in Godot that reacts to speed, adjusting lifetime and emission via a speed-driven script, using a sphere mesh, transparent material, and simplex noise texture.
Explore how to apply distance fade to textures in Godot to reduce flickering on railings by tweaking the material's distance fade settings, using the minimum and maximum distance values.
Design a general in-game options menu in Godot, then build audio and video submenus using vbox, hbox, and center containers, texture rects, and a gooey default theme.
Place and connect options and video menus in lobby and world, wire button signals, and save and apply settings like reflections, fog, depth of field, and far distance in Godot.
Enhance the Godot Getaway lobby by implementing host vs client UI, neon player name, dynamic fonts, and environment presets, updating city name and color while wiring join and ready controls.
Explore Godot getaway, featuring Mikey's blender assets, a new 3-D city with glowing windows, cop and criminal cars, basic networking, and playful stunts.
Learn intermediate Godot techniques as we make an online multiplayer car game in a procedurally generated 3D city! We'll use GDScript to make a cops-and-robbers game set to a bouncy electro-swing soundtrack using custom made assets from Blender and Ardour.
In this course, we'll be focusing on making a single, large project rather than a bunch of smaller ones. Our focus will be as much on that game development pipeline as the techniques we'll be using, and we'll simulate what it takes to make a small scale indie game from scratch.
Some of the things we'll cover include;
Fast 3D gameplay
Online multiplayer using direct connection over IP
Team play (cops vs robbers)
A procedurally generated city
Creating city neighbourhoods
Procedurally placed props (like lamp posts, traffic cones, parked cars, etc)
VehicleBody physics
Beacons that respond to the music
Simple player customisation that’s persistent between plays
A 1930's inspired aesthetic
What's Godot?
Godot is a Free and Open Source game engine that we absolutely love. Yann has already taught a popular and well reviewed course on it on Udemy and both of us really enjoy working with it. It's available on Windows, Mac and Linux, has separate 2D and 3D pipelines and is generally awesome.
The course will be written in Godot's native GDScript, which is based on python. GDScript is a dynamic language that's powerful, versatile and quick to work in.