technifyed

freeCodeCamp via YouTube Free video

Code a 2D Game Engine using Java - Full Course for Beginners

Overview

Learn how to program a 2D game engine from scratch using the Java Programming Language. You will use the game engine to create a Super Mario Clone but the engine can be used to create other games as well.

💻 Code: https://github.com/codingminecraft/MarioYoutube/tree/master

✏️ Course created by GamesWithGabe. Check out his channel: https://www.youtube.com/channel/UCQP4qSCj1eHMHisDDR4iPzw

🎥 Part 2 (final hour of this course): https://youtu.be/roPRqEQZFu8

⭐️ Course Contents ⭐️

⌨️ (00:00:06) Introduction

⌨️ (00:07:54) Setting up the Window with LWJGL

⌨️ (00:25:20) Adding Event Listeners with GLFW

⌨️ (00:51:42) Creating a Scene Manager & Delta Time Variable

⌨️ (01:11:26) How OpenGL Graphics Programming Works

⌨️ (01:32:53) Drawing the First Square

⌨️ (02:02:56) Regexes and Shader Abstraction

⌨️ (02:24:25) Game Camera OpenGL

⌨️ (02:47:47) GLSL Shaders

⌨️ (03:08:45) Texture Loading in LWJGL3

⌨️ (03:36:02) Entity Component System

⌨️ (04:06:25) Batch Rendering in LWJGL3

⌨️ (04:50:00) Resource Management in LWJGL3

⌨️ (05:05:30) Texture Batching

⌨️ (05:38:48) Spritesheets

⌨️ (06:01:12) Dirty Flags in Rendering

⌨️ (06:23:17) Alpha Blending and Z-Indexing

⌨️ (06:38:56) Integrating ImGui

⌨️ (07:01:56) ImGui Fonts and Scene Integration

⌨️ (07:19:43) Serialization with Gson

⌨️ (07:42:48) Deserialization with Gson

⌨️ (08:06:03) Exposing Variables to the Level Editor

⌨️ (08:25:29) Converting Screen Coords to World Coords

⌨️ (08:49:27) Drag 'N Drop Level Editor

⌨️ (09:15:25) Debug Drawing Functions

⌨️ (09:47:35) Snap To Grid Tool

⌨️ (10:10:25) Debug Drawing Boxes and Circles

⌨️ (10:28:58) Framebuffers in OpenGL

⌨️ (10:52:56) ImGui Docking in Java LWJGL

⌨️ (11:11:55) Adding a Game Viewport

⌨️ (11:34:51) Mouse Screen Coordinates to Game Viewport Coordinates

⌨️ (11:50:01) Pixel PERFECT Mouse Picking

⌨️ (12:23:39) Enabling Mouse Picking and Code Maintenance

⌨️ (12:35:16) Editor Camera Controls with Lerp

⌨️ (13:01:48) Coding Gizmos

⌨️ (13:31:03) Translate and Scale Gizmo

⌨️ (14:04:29) Properties Panel

⌨️ (14:33:53) Integrating JBox2D in our Engine

⌨️ (14:54:53) Event System and Box2D Physics

⌨️ (15:19:09) Adding an Engine Runtime (Play/Stop Buttons)

⌨️ (16:10:10) Refactoring and Physics

⌨️ (16:40:28) Font Rendering

⌨️ (16:43:34) Beginning Scene Hierarchy & ImGui Upgrade

⌨️ (17:00:38) Scene Panel Drag & Drop (ImGui)

⌨️ (17:18:31) Even More Bug Fixing

⌨️ (17:44:51) 2D Animations

⌨️ (18:18:29) Sounds with OpenAL

⌨️ (18:44:27) Improving the Editor

⌨️ (19:21:24) How to Use Box2D Physics

⌨️ (20:06:12) Pillbox Colliders and Player Controllers

⌨️ (20:45:32) Variable Length Jumps

⌨️ (21:25:28) Powerups

⌨️ (21:51:52) Goomba AI

⌨️ (22:29:59) Mario Pipes & Editor Improvements

⌨️ (23:01:59) Game Camera & Grid Lines

⌨️ (23:28:28) Mario Turtle AI

⌨️ (https://youtu.be/roPRqEQZFu8) Adding Flag Poles to Mario

⌨️ (https://youtu.be/roPRqEQZFu8) Fireballs and Bug Fixes

⌨️ (https://youtu.be/roPRqEQZFu8) The LAST Episode and Distributing your Game

🎉 Thanks to our Champion and Sponsor supporters:

👾 Raymond Odero

👾 Agustín Kussrow

👾 aldo ferretti

👾 Otis Morgan

👾 DeezMaster

--

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news

❤️ Support for this channel comes from our friends at Scrimba – the coding platform that's reinvented interactive learning: https://scrimba.com/freecodecamp

Advantages and disadvantages

Advantages

  • Completely free, with no ads inside the lessons.
  • Project-based: you build real apps as you learn.
  • freeCodeCamp's own certifications are free and well known among developers.
  • Free, one long video that covers a topic end to end.
  • Use the chapters to jump to what you need.
  • 646,848 views, so help and notes are easy to find.
  • Completely free.
  • Self-paced: start any time.

Disadvantages

  • YouTube videos are long single recordings; you pace yourself.
  • Less theory than a university course.
  • No exercises or certificate: code along to make it stick.
  • No certificate.
  • No graded assignments or feedback.

Some points apply to every course of this kind; see how we rank.

Free

  • Free: Watch on YouTube, no account needed.
  • Certificate: None. Code or take notes along to make it stick.

freeCodeCamp is in Tier 3: good universities, respected companies, nonprofits and well-known teachers of our institution ranking (78/100). Free full courses and certifications; practical, but not university-level depth.

Similar courses

Compare these

Massachusetts Institute of Technology · YouTube

MIT 15.S12 Blockchain and Money, Fall 2018

Instructor: Prof. Gary Gensler View the complete course: https://ocw.mit.edu/15-S12F18 This course is for students wishing to explore blockchain technology’s potential use - by entrepreneurs & incumbents - to change the world of money and finance. License: Creative Commons BY-NC-SA More information…

Free video23 videos, 29 hours

Massachusetts Institute of Technology · YouTube

MIT 6.006 Introduction to Algorithms, Fall 2011

This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performa…

Free video47 videos, 42 hours

Harvard University · YouTube

CS50's Introduction to Programming with Python (CS50P) 2022

This is CS50P, CS50's Introduction to Programming with Python. Register for free at https://cs50.edx.org/python. Slides and source code at https://cs50.harvard.edu/python. Playlist at https://www.youtube.com/playlist?list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V. An introduction to programming using a la…

Free video11 videos, 16 hours

Harvard University · YouTube

CS50x 2023 Lectures

This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming, for concentrators and non-concentrators alike, with or without prior programming experience. (Two thirds of CS50 students have never taken CS before.) This course teaches…

Free video12 videos, 26 hours

Massachusetts Institute of Technology · YouTube

MIT 6.100L Introduction to CS and Programming using Python, Fall 2022

Instructor: Ana Bell View the complete course: https://ocw.mit.edu/courses/6-100l-introduction-to-cs-and-programming-using-python-fall-2022/ *Note: Lectures 6, 10 have been updated! This subject is aimed at students with little to no programming experience. It aims to provide students with an under…

Free video26 videos, 28 hours

Stanford University · YouTube

Stanford Online Courses and Programs

Get more information about the courses and programs we offer. In this playlist you can learn more about course content, pricing, credentials and more!

Free video154 videos, 139 hours

Enter your email and the official page opens. Phone is optional.