Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Game Programming - Building Realm of the Mad God from Scratch in Java

The Cherno via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn to build a complete 2D game from scratch in Java through this comprehensive video series that recreates a game similar to Realm of the Mad God. Master fundamental game development concepts including graphics rendering, game loops, input handling, and advanced features like AI pathfinding and multiplayer networking. Explore essential topics such as buffer strategies, sprite sheets, tile-based maps, collision detection, particle systems, and user interface design. Develop skills in procedural level generation, entity frameworks, animation systems, and projectile mechanics while implementing sophisticated features like A* pathfinding algorithms for AI behavior. Progress through 126 detailed episodes covering everything from basic window creation and pixel rendering to complex systems like serialization for multiplayer functionality, sprite rotation, and advanced collision detection methods.

Syllabus

Game Programming - Episode 1 - Resolution
Game Programming - Episode 2 - Threads
Game Programming - Episode 3 - Game Loop
Game Programming - Episode 4 - Window
Episode 5 - Buffer Strategy
Game Programming - Episode 6 - Graphics Initialized
Game Programming - Episode 7 - Buffered Image and Rasters
Game Programming - Episode 8 - The Screen Class
Game Programming - Episode 9 - Rendering Pixels
Game Programming - Episode 10 - Clearing the Screen
Game Programming - Episode 11 - "Out of Bounds, Baby!"
Game Programming - Episode 12 - Negative Bounds
Game Programming - Episode 13 - Timer
Game Programming - Episode 14 - FPS Counter
Episode 15 - Tiles
Game Programming - Episode 16 - The Map
Game Programming - Episode 17 - Key Input
Game Programming - Episode 18 - Controlling The Map
Game Programming - Episode 19 - Sprite Sheets
Game Programming - Episode 20 - Sprites
Game Programming - Episode 21 - Creating Sprites
Episode 22 - Drawing Sprites
Game Programming - Episode 23 - Moving Logic
Game Programming - Episode 24 - Level Class Overview
Game Programming - Episode 25 - Random Level Basis
Game Programming - Episode 26 - The Tile Class
Episode 27 - Creating Tiles
Game Programming - Episode 28 - Offsets
Game Programming - Episode 29 - The Render Tile Method
Episode 30 - Rendering Tiles
Game Programming - Episode 31 - Rendering Corner Pins
Game Programming - Episode 32 - Getting Tiles
Episode 33 - The Void Tile
Game Programming - Episode 34 - Setting Offsets
Game Programming - Episode 35 - Level Render
Game Programming - Episode 36 - Rendering the Level!
Game Programming - Episode 37 - Handling Map Bounds
Game Programming - Episode 38 - Procedural Rendering
Game Programming - Episode 39 - Entity Framework
Game Programming - Episode 40 - Mob Framework
Game Programming - Episode 41 - Player
Game Programming - Episode 42 - The Move Method
Game Programming - Episode 43 - Player Input
Game Programming - Episode 44 - Moving Properly
Game Programming - Episode 45 - Player Graphics
Game Programming - Episode 46 - Finishing Player Graphics
Game Programming - Episode 47 - 32 Size Sprites
Game Programming - Episode 48 - Player Direction Animation
Game Programming - Episode 49 - Flipping Sprites
Game Programming - Episode 50 - Animating Sprites
Game Programming - Episode 51 - More Map Creation
Game Programming - Episode 52 - Loading Level Files
Game Programming - Episode 53 - Pixels to Tiles
Game Programming - Episode 54 - Making Levels
Game Programming - Episode 55 - A Bad Way to Map Tiles
Game Programming - Episode 56 - Getting Tiles the Right Way
Game Programming - Episode 57 - Player Spawns
Game Programming - Episode 58 - Spawn Level Assets
Game Programming - Episode 59 - Defining / Creating Spawn Level Tiles
Game Programming - Episode 60 - Building the Spawn Level
Game Programming - Episode 61 - Launching the Spawn Level
Game Programming - Episode 62 - Tile Coordinate Class
Game Programming - Episode 63 - Collision Detection
Episode 64 - Collision Response: Sliding
Episode 65 - Corner Precision Collision Detection
Game Programming - Episode 66 - Mouse Input
Game Programming - Episode 67 - Projectile Angles
Game Programming - Episode 68 - More on Mouse Angles
Game Programming - Episode 69 - Projectiles
Game Programming - Episode 70 - Projectile Sprites
Game Programming - Episode 71 - Projectile Range and Precision
Game Programming - Episode 72 - Projectile List System
Game Programming - Episode 73 - Projectile Fire Rate
Game Programming - Episode 74 - Projectile Collision
Game Programming - Episode 75 - Advanced Sprite Creation/Rendering
Game Programming - Episode 76: The Particle Class
Game Programming - Episode 77: Basic Particle Animation
Game Programming - Episode 78: Particle Spawner
Game Programming - Episode 79 - Particle Life Span
Game Programming - Episode 80: Particle Physics!
Game Programming - Episode 81: Pixel-Perfect Collision!
Game Programming - Episode 82: Particle Simulation!
Game Programming - Episode 83: Wall and Grass Sprites in After Effects!
Game Programming - Episode 84: Floor and Wall Sprites in After Effects!
Game Programming - Episode 85: The Player Sprite!
Game Programming - Episode 86: Sub-Sprite Sheets
Game Programming - Episode 87: The Animated Sprite Class
Game Programming - Episode 88: Importing Our New Sprites!
Game Programming - Episode 89: New Player Animation + Poll!
Game Programming Episode 90 - Mobs / NPCs
Game Programming Episode 91 - Animating Mobs
Game Programming Episode 92 - Basic Random AI
Game Programming Episode 93 - AI Mob Rendering
Game Programming Episode 94 - Basic Chaser AI
Game Programming Episode 95 - Entity Distances and Ranges (AI)
Game Programming - Episode 96: Faster Mob Movement!
Ep. 97: Slow and Precise Entity Movement - Game Programming
Ep. 98: Vectors - Game Programming
Ep. 99: Nodes and A* Costs - Game Programming
Ep. 100: A* STAR SEARCH ALGORITHM - Game Programming
Ep. 101: Star Mob! (A* Search Algorithm) - Game Programming
Ep. 102: Collision and A* Tweaking - Game Programming
Ep. 103: Shooting Mobs - Game Programming
Ep. 104: Mob Targeting! - Game Programming
Ep. 105: Random Targeting - Game Programming
Ep. 106: Debug Class and Rectangles - Game Programming
Ep. 107: Font Sheets - Game Programming
Ep. 109: Rendering Font Characters! - Game Programming
Ep. 108: Extracting Sprites - Game Programming
Ep. 110: Rendering Strings of Text! - Game Programming
Ep. 111: Text Spacing and Colour! - Game Programming
Ep. 112: Sprite Rotation! - Game Programming
Ep. 113: Efficient Sprite Rotation - Game Programming
Ep. 114: User Interface (UI) - Game Programming
Ep. 115: UI Rendering - Game Programming
Ep. 116: UI Labels - Game Programming
Ep. 117: UI Progress Bars (Health) - Game Programming
Ep. 118: UI Buttons - Game Programming
Ep. 119: UI Button Events - Game Programming
Ep. 120: UIButton Actions - Game Programming
Ep. 121: Polishing the UIButton - Game Programming
Ep. 122: Images in Buttons - Game Programming
Ep. 123: Modifying Image Brightness - Game Programming
Ep. 124: Integrating the Event System - Game Programming
Ep. 125: Preparing Multiplayer - Game Programming
Ep. 126: Serialization - Game Programming

Taught by

The Cherno

Reviews

Start your review of Game Programming - Building Realm of the Mad God from Scratch in Java

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.