Box2D Lite Walkthrough Part 2 | Coding a 2D Physics Engine in Java #17

Channel:
Subscribers:
59,400
Published on ● Video Link: https://www.youtube.com/watch?v=VV1GyzVRYa4



Duration: 25:04
5,455 views
0


Join the Discord: https://discord.gg/4tHeAkxNg7

In this tutorial I begin to walk through Erin Catto's Box2D Lite source code. This will give us an idea of how to solve the problem of box vs box collision resolution. In a high level overview, all you have to do is find the axis with the smallest amount of penetration, then clip the vertices against each other to get the collision points. This will give you the collision normal (the axis), the collision depth (the penetration), and the collision points (the clipped vertices). But this is very hard to understand unless you work through an actual example which is what I begin to do in this video.

Collide.cpp: https://github.com/erincatto/box2d-lite/blob/master/src/Collide.cpp
Slides: https://github.com/erincatto/box2d-lite/blob/master/docs/GDC2006_Catto_Erin_PhysicsTutorial.pdf
Box2D Lite Source Code: https://github.com/erincatto/box2d-lite

0:00 Intro
0:51 Reminder About Previous Steps
1:46 Recording the Information
2:28 Setting up Clipping Plane Data
8:30 Computing the Incident Edge
14:53 Clipping the Contact Points
22:16 Discarding Non-Intersecting Points
24:38 Conclusion

---------------------------------------------------------------------
Website: https://ambrosiogabe.github.io/
Github: https://github.com/ambrosiogabe

Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)

My Recommended Game Engine Books:
Game Engine Architecture: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/

My Recommended Beginning Game Programming Books:
JavaScript Game Design: https://www.apress.com/gp/book/9781430247166

My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/




Other Videos By GamesWithGabe


2021-01-20Rendering the First Character | Font Rendering in Java #2
2021-01-16Font Rendering | Coding a 2D Game Engine in Java #41
2021-01-16Bitmap Generation | Font Rendering in Java #1
2020-12-31Native Scripting (C++ Hot Reloading) | Cocoa Engine Devlog #13
2020-12-28Refactoring and Physics | Coding a 2D Game Engine in Java #40
2020-12-19Adding an Engine Runtime (Play/Stop Buttons) | Coding a 2D Game Engine in Java #39
2020-12-11Event System and Box2D Physics | Coding a 2D Game Engine in Java #38
2020-12-05SOLID Stinks! How to Write Actual "Clean Code"
2020-12-021000 Subs Thanks! Discord Server?
2020-11-28Integrating JBox2D in our Engine | Coding a 2D Game Engine in Java #37
2020-11-13Box2D Lite Walkthrough Part 2 | Coding a 2D Physics Engine in Java #17
2020-11-12Box2D Lite Walkthrough Part 1 | Coding a 2D Physics Engine in Java #16
2020-11-04Properties Panel | Coding a 2D Game Engine in Java #36
2020-10-29How I Debug Graphics Code | Game Engine Concepts #6
2020-10-28Translate and Scale Gizmo | Coding a 2D Game Engine in Java #35
2020-10-24Coding Gizmos | Coding a 2D Game Engine in Java #34
2020-10-17Editor Camera Controls with Lerp | Coding a 2D Game Engine in Java #33
2020-10-11Iterative Linear Impulse Resolution | Coding a 2D Physics Engine in Java #15
2020-10-07Serialization (Saving/Loading Levels) | Game Engine Concepts #5
2020-09-26Enabling Mouse Picking and Code Maintenance | Coding a 2D Game Engine in Java #32
2020-09-25The State Pattern | Game Engine Concepts #4



Tags:
gameswithgabe
games with gabe
box2d
box2d lite
linear impulse solver
how to code physics in lwjgl
coding a physics engine
how box2d works
impulse resolution
linear impulse resolution
find contact points box collision
how box2d lite works
code walkthrough of box2d
manifold
force update
box collisions
how to
how to code a collision detector
intersection detection
collision detection
physics engine
how to code a physics engine
2d game physics
lwjgl
java
mario