• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 05:45
CEST 11:45
KST 18:45
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 237ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
BSL Season 22 Full Overview & Conclusion5BSL Season 22 Full Overview & Conclusion5Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon445.0.16 Hotfix (June 30) - Balance + Bug Fixes40
StarCraft 2
General
Serral wins Maestros of the Game 2 Most successful SC2 players of Q2 2026 MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start)
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event GSL CK #5 Race War HomeStory Cup 29 Vespene Cup #1 — $300+ USD, July 10 Sea Duckling Open (Global, Bronze-Diamond)
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
ASL22 General Discussion BW General Discussion BGH Auto Balance -> http://bghmmr.eu/ BSL Season 22 Full Overview & Conclusion ASL 22 Proposed Map Pool
Tourneys
[ASL22] Wildcard Qualifier [Megathread] Daily Proleagues IPSL Spring 2026 Top 4! CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
General RTS Discussion Thread Summer Games Done Quick 2026! Nintendo Switch Thread Stormgate/Frost Giant Megathread Dawn of War IV
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently...
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 3843 users

Student Game Dev Part Six - Even more physics

Blogs > Soan
Post a Reply
Soan
Profile Blog Joined August 2010
New Zealand194 Posts
December 20 2013 07:33 GMT
#1
Part One - It begins
Part Two - Technical Foundation
Part Three - Game Design
Part Four - Input and Physics
Part Five - More Physics Things

This Week
Hello again TeamLiquid!

Welcome back to my blog about the development of The Adventures of Sam the Pirate, the 2D platformer I'm creating as the final game project for my Bachelor of Software Engineering degree. I know I know, another blog on physics?! All of my work over the last few weeks has been on the physics, so that's all I've really got to talk about at the moment. Last week I covered my work on movement and collision detection, this week is updates on mostly more of the same, which might be a bit boring, but I've managed to get moving platforms working, and have a new piece of concept art to show off.

Collision Detection
Collision detection response is now more accurate. The player will always sit directly on top of a tile, rather than sink into it a little, which is perfect. The overall reaction is still a bit dodgy, as horizontal and vertical checks are done at the same time. So if the player lands directly on top of a tile, there's no problem. If the player hits the side of a tile, the horizontal response goes off and the player doesn't go through the tile, but the vertical response goes off as well and the player is teleported to either the top or bottom of the tile, depending on their height when they collided. Not 100% sure on how I'm going to fix this yet, so I'll need to do some thinking over the holidays.

Moving platforms!
On the upside, I've now got moving platforms! They make use of the same vertical collision response as previously mentioned, but because there's no vertical collision check, they work perfectly fine. If the player lands on the moving platform, they can ride back and forth as you'd expect, but it's a little dodgy at the moment. Every time the platform changes direction, the player continues in the previous direction for a few frames before turning around with the platform. If you ride the platform for long enough, eventually this effect will cause you to be shunted off, at which the point the players velocity is still matching the moving platform, so they just slide along. So it works, but it's pretty buggy.

New Concept Art
[image loading]

What's next?
No new blog posts for a couple of weeks, due to Christmas and New Years. I've got plans to still do some work, likely starting work on an interface framework, buttons and the like, so when I come back the next blog post will be about any progress I've made with that. Along with any work on fixing the physics that I manage to get done. Right now that will probably be around the 7th of January. Until then, I hope you all enjoy your Christmas and have a good New Years!

Keep up to date!
Be sure to follow me on Twitter, and like the Facebook page to stay up to date on future content and blog posts when they happen. If you have any questions don't hesitate to ask, either through Twitter or Facebook!

Tobberoth
Profile Joined August 2010
Sweden6375 Posts
December 20 2013 09:03 GMT
#2
I had that same collision detection issue recently, took me quite a while to figure out how to work around it. Basically, what you want to do, is check the axises separately. So first you do horizontal movement, if there is collision, you fix the horizontal movement. THEN you do the vertical movement, and fix it. Since you are always moving and checking only one direction at a time, it's always clear how the object should be moved, and you don't get jumpiness, you can always move it minimally. (This, of course, assumes axis aligned bounding boxes, I think it's far more complex otherwise).
stefantheterran
Profile Joined December 2013
Austria61 Posts
December 20 2013 12:35 GMT
#3
I look forward to your next update, hope you get lots of work done so you can show little more of your game (if you can/want)!
Cyx.
Profile Joined November 2010
Canada806 Posts
December 22 2013 04:17 GMT
#4
On December 20 2013 18:03 Tobberoth wrote:
I had that same collision detection issue recently, took me quite a while to figure out how to work around it. Basically, what you want to do, is check the axises separately. So first you do horizontal movement, if there is collision, you fix the horizontal movement. THEN you do the vertical movement, and fix it. Since you are always moving and checking only one direction at a time, it's always clear how the object should be moved, and you don't get jumpiness, you can always move it minimally. (This, of course, assumes axis aligned bounding boxes, I think it's far more complex otherwise).

Haha quoted for truth =D I've been following these blogs for a while without posting, but I just recently did a little game-engine project in 2d and I had the same problem =P resolved in the exact same manner. Just do them one at a time, and resolve them before you move on =) I really love these blogs though, I've gone through a ton of the same stuff as this.
Please log in or register to reply.
Live Events Refresh
RSL Revival
09:00
Season 6 - Group B
Maru vs NightMareLIVE!
Rogue vs TBD
Solar vs TBD
Tasteless814
Ryung 522
IntoTheiNu 191
IndyStarCraft 122
TKL 117
Rex77
3DClanTV 56
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Tasteless 814
Ryung 522
IndyStarCraft 122
TKL 117
Rex 77
StarCraft: Brood War
Calm 3387
Bisu 1079
Hyuk 906
Soma 171
Shuttle 163
Mong 143
hero 127
actioN 86
Mind 44
NaDa 38
[ Show more ]
Sharp 30
HiyA 30
sorry 28
sSak 28
yabsab 28
Aegong 28
soO 27
Killer 27
scan(afreeca) 24
JulyZerg 18
NotJumperer 16
Hm[arnc] 15
Soulkey 13
Noble 8
ajuk12(nOOB) 7
League of Legends
Doublelift2372
JimRising 727
Counter-Strike
Sick110
x6flipin16
Other Games
ceh9484
crisheroes152
RuFF_SC231
ZerO(Twitch)0
Organizations
StarCraft: Brood War
lovetv 13
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos2747
Upcoming Events
Sparkling Tuna Cup
15m
IPSL
6h 15m
Bonyth vs Hawk
GSL
1d 1h
Replay Cast
1d 14h
WardiTV Weekly
2 days
The PondCast
3 days
Replay Cast
3 days
CrankTV Team League
4 days
Replay Cast
4 days
CrankTV Team League
5 days
[ Show More ]
Replay Cast
5 days
RSL Revival
5 days
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
6 days
RSL Revival
6 days
Classic vs Trap
herO vs SHIN
Liquipedia Results

Completed

ASL Season 22: Wild Card Qualifier
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
Eternal Conflict S2 E2
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

Escore Tournament S3: W3
ASL S22 SEASON OPEN Day 1
Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.