• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 18:23
CET 00:23
KST 08:23
  • 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
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down21ISSL (IntoTheTV x SOOP SC2 League): Premier6Weekly Cups (October 12-18): 5.0.17 era begins1[$1250] International ShieldBattery League99
StarCraft 2
General
No more SC2 streamers on team liquid? Evil Geniuses - shutting down Behind the Blue - Team Liquid History Book SC2 Power Rank: epic29 Weekly Cups (October 19-25): Clem triples first in 5.0.17
Tourneys
Stellar Fest TWO the Moon (Dec 16-20) Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 ISSL (IntoTheTV x SOOP SC2 League): Premier RSL 2026 Offline Finals LCQ Sign-Ups
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[D] the control group Simple Questions/Answers [G] How to playtest arcade maps [A] Nemrods 1/4 players
External Content
Mutation # 550 Graveyard Shift The PondCast: SC2 News & Results Mutation # 549 Endless Sparkles Mutation # 548 Shining Bright
Brood War
General
[Megathread] Daily Funny Videos BW General Discussion Mathematicians needed to calc "Low Econ Epicness" Rollback Netcode in Brood War SCHNAIL now supports Remastered
Tourneys
[Megathread] Daily Proleagues [IPSL] IPSL Winter 26-27 Ro24 is HERE! [$1250] International ShieldBattery League [ASL22] Grand Finals
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Deus Ex 3!? Stormgate/Frost Giant Megathread Nintendo Switch Thread Mobile Legends: Bang Bang Armies of Exigo - YesYes?
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread European Politico-economics QA Mega-thread
Fan Clubs
Reynor Fan Club The Flash Fan Club Serral Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 8672 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
Replay Cast
08:00
QMC 2: Invitational Tournament
CranKy Ducklings35
ChoboTeamLeague
06:30
Best Games SC
PiGStarcraft562
Discussion
BSL
05:00
RO24 Group D
Ret vs DragOn
Doodle vs Dienmax
ZZZero.O226
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft562
Codebar 25
StarCraft: Brood War
Artosis 479
Bisu 400
ZZZero.O 226
ProTech123
White-Ra 118
Dota 2
syndereN150
NeuroSwarm97
LuMiX1
League of Legends
Doublelift5041
Super Smash Bros
C9.Mang01332
Heroes of the Storm
Grubby4166
Other Games
summit1g10279
tarik_tv7746
FrodaN3376
JimRising 199
KnowMe193
JuggernautJason33
CosmosSc2 21
Maynarde5
Organizations
Other Games
gamesdonequick1532
Counter-Strike
PGL677
StarCraft 2
BasetradeTV40
[ Show 18 non-featured ]
StarCraft 2
• Hinosc 85
• Hupsaiya 72
• CranKy Ducklings SOOP43
• musti20045 29
• Adnapsc2 24
• HeavenSC 17
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Laughngamez YouTube
• Migwel
StarCraft: Brood War
• ChaeLyn 16
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• imaqtpie853
• Shiphtur340
Upcoming Events
WardiTV Weekly
12h 37m
Ultimate Battle
12h 37m
Rush vs BeSt
Replay Cast
23h 37m
Rogue vs Classic
Patches Events
1d 13h
PiGosaur Cup
2 days
Kung Fu Cup
2 days
Replay Cast
2 days
The PondCast
3 days
KCM Race Survival
3 days
IntoTheTV X SOOP
5 days
herO vs Rogue
Reynor vs Solar
ByuN vs SHIN
Clem vs MaxPax
[ Show More ]
WardiTV Invitational
5 days
IPSL
5 days
WorsT vs nOmaD
Dewalt vs andersOn
IntoTheTV X SOOP
6 days
WardiTV Invitational
6 days
IPSL
6 days
Azhi_Dahaki vs ggnore13
Double vs WIZARD
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-10-30
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
IPSL Winter 2026-27
Proleague 2026-11-01
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026
Esports World Cup 2026

Upcoming

1xBet Invitational
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
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.