C++ 3D MULTIPLAYER GAME FROM SCRATCH // LIVE TUTORIAL

The Cherno · Intermediate ·🛠️ AI Tools & Apps ·1y ago

Key Takeaways

Builds a C++ 3D multiplayer game from scratch using the Cubed game engine

Original Description

Hostinger's New Year's Resolutions sale is NOW ON! Use coupon code CHERNO to get an additional 10% discount ► https://hostinger.com/cherno Patreon ► https://patreon.com/thecherno Instagram ► https://instagram.com/thecherno Twitter ► https://twitter.com/thecherno Discord ► https://discord.gg/thecherno 🔗 LINKS Cubed ► https://github.com/TheCherno/Cubed Walnut (dev branch) ► https://github.com/StudioCherno/Walnut/tree/dev Git ► https://git-scm.com/downloads Fork (Git client) ► https://git-fork.com/ Hazel ► https://hazelengine.com 🕹️ Play our latest game FREE (made in Hazel!) ► https://studiocherno.itch.io/dichotomy 🌏 Need web hosting? ► https://hostinger.com/cherno 📚 CHAPTERS 00:00 - Intro + FAQ 06:28 - Project Setup (Git, Walnut, submodules, VPS) 14:51 - Build system setup (Premake) 16:26 - Client and Headless Server project setup 29:12 - Building and running our projects 35:56 - Setting up our client as a game 38:02 - Preliminary rendering 43:36 - Application layers 48:05 - Player movement 1:02:05 - Connecting to a server using UI 1:14:48 - Server application 1:19:32 - Setting up the Server to send/receive data 1:25:26 - Client/Server connection 1:27:08 - Sending data between the Client and Server 1:46:53 - Managing multiple connected players on the Server 1:56:20 - Multiple players on Client 1:59:01 - Deploying and running our Server on a Linux VPS 2:05:56 - Building our Headless Server on Linux 2:17:23 - Running our Server and playing our “game” 2:19:51 - Resolving domain names to IP addresses 💰 Links to stuff I use: ⌨ Keyboard ► https://geni.us/T2J7 🐭 Mouse ► https://geni.us/BuY7 💻 Monitors ► https://geni.us/wZFSwSK This video is sponsored by Hostinger.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from The Cherno · The Cherno · 0 of 60

← Previous Next →
1 3D Game Programming - Episode 1 - Window
3D Game Programming - Episode 1 - Window
The Cherno
2 3D Game Programming - Episode 2 - Game Loop
3D Game Programming - Episode 2 - Game Loop
The Cherno
3 3D Game Programming - Episode 3 - Arrays
3D Game Programming - Episode 3 - Arrays
The Cherno
4 3D Game Programming - Episode 4 - Drawing Pixels!
3D Game Programming - Episode 4 - Drawing Pixels!
The Cherno
5 3D Game Programming - Episode 4.5 - How Rendering Works
3D Game Programming - Episode 4.5 - How Rendering Works
The Cherno
6 3D Game Programming - Episode 5 - Playing with Pixels!
3D Game Programming - Episode 5 - Playing with Pixels!
The Cherno
7 3D Game Programming - Episode 6 - Performance Boosting
3D Game Programming - Episode 6 - Performance Boosting
The Cherno
8 3D Game Programming - Episode 7 - FPS Counter
3D Game Programming - Episode 7 - FPS Counter
The Cherno
9 3D Game Programming - Episode 8 - Alpha Support and More
3D Game Programming - Episode 8 - Alpha Support and More
The Cherno
10 3D Game Programming - Episode 9 - Beginning 3D
3D Game Programming - Episode 9 - Beginning 3D
The Cherno
11 3D Game Programming - Episode 10 - Floors and Animation
3D Game Programming - Episode 10 - Floors and Animation
The Cherno
12 3D Game Programming - Episode 11 - Rotation
3D Game Programming - Episode 11 - Rotation
The Cherno
13 3D Game Programming - Episode 12 - User Input
3D Game Programming - Episode 12 - User Input
The Cherno
14 3D Game Programming - Episode 13 - Render Distance Limiter!
3D Game Programming - Episode 13 - Render Distance Limiter!
The Cherno
15 3D Game Programming - Episode 14 - Basic Mouse Movement
3D Game Programming - Episode 14 - Basic Mouse Movement
The Cherno
16 3D Game Programming - Episode 15 - Textures + More!
3D Game Programming - Episode 15 - Textures + More!
The Cherno
17 3D Game Programming - Episode 16 - Walking, Crouching, Sprinting + More
3D Game Programming - Episode 16 - Walking, Crouching, Sprinting + More
The Cherno
18 3D Game Programming - Episode 16.5 - Exporting Runnable Jars
3D Game Programming - Episode 16.5 - Exporting Runnable Jars
The Cherno
19 3D Game Programming - Episode 17 - Small Adjustments + Birthday!
3D Game Programming - Episode 17 - Small Adjustments + Birthday!
The Cherno
20 3D Game Programming - Episode 17.5 - Creating an Applet
3D Game Programming - Episode 17.5 - Creating an Applet
The Cherno
21 3D Game Programming - Episode 18 - The Beginning of Walls
3D Game Programming - Episode 18 - The Beginning of Walls
The Cherno
22 3D Game Programming - Episode 18.1 - A Few More Things
3D Game Programming - Episode 18.1 - A Few More Things
The Cherno
23 Episode 18.5 - Creating an EXE File in Java
Episode 18.5 - Creating an EXE File in Java
The Cherno
24 3D Game Programming - Episode 19 - Rendering Walls
3D Game Programming - Episode 19 - Rendering Walls
The Cherno
25 3D Game Programming - Episode 20 - Continuing Walls, Fixing Bugs, and Managing Crashes
3D Game Programming - Episode 20 - Continuing Walls, Fixing Bugs, and Managing Crashes
The Cherno
26 3D Game Programming - Episode 21 - Texturing Walls, Fixing Clipping, and Fixing the Mouse
3D Game Programming - Episode 21 - Texturing Walls, Fixing Clipping, and Fixing the Mouse
The Cherno
27 3D Game Programming - Episode 22 - Random Level Generator + Properly Fixing Clipping
3D Game Programming - Episode 22 - Random Level Generator + Properly Fixing Clipping
The Cherno
28 3D Game Programming - Episode 23 - Graphical User Interface (GUI) Launcher
3D Game Programming - Episode 23 - Graphical User Interface (GUI) Launcher
The Cherno
29 3D Game Programming - Episode 24 - Making Our Launcher Work
3D Game Programming - Episode 24 - Making Our Launcher Work
The Cherno
30 3D Game Programming - Episode 25 - Writing and Reading Files
3D Game Programming - Episode 25 - Writing and Reading Files
The Cherno
31 3D Game Programming - Episode 26 - Custom Resolutions
3D Game Programming - Episode 26 - Custom Resolutions
The Cherno
32 3D Game Programming - Episode 27 - Decorating the Launcher
3D Game Programming - Episode 27 - Decorating the Launcher
The Cherno
33 3D Game Programming - Episode 28 - Continuing our Custom Launcher!
3D Game Programming - Episode 28 - Continuing our Custom Launcher!
The Cherno
34 3D Game Programming - Episode 29 - Launching The Game
3D Game Programming - Episode 29 - Launching The Game
The Cherno
35 3D Game Programming - Episode 30 - Colour Processing In-Depth
3D Game Programming - Episode 30 - Colour Processing In-Depth
The Cherno
36 3D Game Programming - Episode 31 - Sprites!
3D Game Programming - Episode 31 - Sprites!
The Cherno
37 3D Game Programming - Episode 32 - Sprite Mapping
3D Game Programming - Episode 32 - Sprite Mapping
The Cherno
38 3D Game Programming - Episode 33 - High Resolution Rendering
3D Game Programming - Episode 33 - High Resolution Rendering
The Cherno
39 3D Game Programming - Episode 34 - Entities
3D Game Programming - Episode 34 - Entities
The Cherno
40 Genesis - My Game for Ludum Dare 24
Genesis - My Game for Ludum Dare 24
The Cherno
41 Vlog + Ludum Dare Results
Vlog + Ludum Dare Results
The Cherno
42 Game Programming - Episode 1 - Resolution
Game Programming - Episode 1 - Resolution
The Cherno
43 Game Programming - Episode 2 - Threads
Game Programming - Episode 2 - Threads
The Cherno
44 Game Programming - Episode 3 - Game Loop
Game Programming - Episode 3 - Game Loop
The Cherno
45 Game Programming - Episode 4 - Window
Game Programming - Episode 4 - Window
The Cherno
46 Episode 5 - Buffer Strategy
Episode 5 - Buffer Strategy
The Cherno
47 Game Programming - Episode 6 - Graphics Initialized
Game Programming - Episode 6 - Graphics Initialized
The Cherno
48 Game Programming - Episode 7 - Buffered Image and Rasters
Game Programming - Episode 7 - Buffered Image and Rasters
The Cherno
49 Game Programming - Episode 8 - The Screen Class
Game Programming - Episode 8 - The Screen Class
The Cherno
50 Game Programming - Episode 9 - Rendering Pixels
Game Programming - Episode 9 - Rendering Pixels
The Cherno
51 Game Programming - Episode 10 - Clearing the Screen
Game Programming - Episode 10 - Clearing the Screen
The Cherno
52 Game Programming - Episode 11 - "Out of Bounds, Baby!"
Game Programming - Episode 11 - "Out of Bounds, Baby!"
The Cherno
53 Game Programming - Episode 12 - Negative Bounds
Game Programming - Episode 12 - Negative Bounds
The Cherno
54 Game Programming - Episode 13 - Timer
Game Programming - Episode 13 - Timer
The Cherno
55 Game Programming - Episode 14 - FPS Counter
Game Programming - Episode 14 - FPS Counter
The Cherno
56 Episode 15 - Tiles
Episode 15 - Tiles
The Cherno
57 Game Programming - Episode 16 - The Map
Game Programming - Episode 16 - The Map
The Cherno
58 The Walls 2 - Minecraft PvP Survival Map
The Walls 2 - Minecraft PvP Survival Map
The Cherno
59 Game Programming - Episode 17 - Key Input
Game Programming - Episode 17 - Key Input
The Cherno
60 Game Programming - Episode 18 - Controlling The Map
Game Programming - Episode 18 - Controlling The Map
The Cherno

Related Reads

📰
The no-code AI business stack that earns $5k/month on autopilot
Learn how to build a no-code AI business stack that earns $5k/month on autopilot, leveraging interconnected AI tools for content creation, customer payment processing, and more
Dev.to AI
📰
GitHub’s April Changelog Exposes the Private-Repo Cost of Instant Reviews
GitHub's April changelog reveals that private-repo reviews now consume AI credits and Actions minutes, affecting automatic review rules
Medium · AI
📰
AI Did Not Kill Freelancing. It Changed What Clients Actually Pay For
Discover how AI has changed the freelancing landscape and what clients now pay for, to stay ahead in the industry
Dev.to · Alcora
📰
25 Best AI Tools in 2026 to Boost Productivity, Create Content & Make Money Online
Discover 25 AI tools to boost productivity, create content, and make money online in 2026
Medium · Startup

Chapters (20)

Intro + FAQ
6:28 Project Setup (Git, Walnut, submodules, VPS)
14:51 Build system setup (Premake)
16:26 Client and Headless Server project setup
29:12 Building and running our projects
35:56 Setting up our client as a game
38:02 Preliminary rendering
43:36 Application layers
48:05 Player movement
1:02:05 Connecting to a server using UI
1:14:48 Server application
1:19:32 Setting up the Server to send/receive data
1:25:26 Client/Server connection
1:27:08 Sending data between the Client and Server
1:46:53 Managing multiple connected players on the Server
1:56:20 Multiple players on Client
1:59:01 Deploying and running our Server on a Linux VPS
2:05:56 Building our Headless Server on Linux
2:17:23 Running our Server and playing our “game”
2:19:51 Resolving domain names to IP addresses
Up next
How I Use AI to Write Facebook Ad Scripts That Actually Scale
Nick Theriot
Watch →