• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 16:30
CET 21:30
KST 05:30
  • 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!9[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Evil Geniuses - shutting down14ISSL (IntoTheTV x SOOP SC2 League): Premier5Weekly Cups (October 12-18): 5.0.17 era begins1[$1250] International ShieldBattery League65Weekly Cups (October 5-11): Farewell to 5.0.167
StarCraft 2
General
No more SC2 streamers on team liquid? REPORT: StarCraft 2: Remastered In Development Evil Geniuses - shutting down How do you feel about the mass reverts in the 5.0.17 PTR? Daily SC2 Player Grid - feedback wanted
Tourneys
ScienceCraft (October 24-25) - Live Event Sparkling Tuna Cup - Weekly Open Tournament RSL goes to London! 2026 Offline Finals Nov 21-22 ISSL (IntoTheTV x SOOP SC2 League): Premier WORTEX Challenger Series — Open SC2 LAN in Budapes
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[G] How to playtest arcade maps [A] Nemrods 1/4 players [M] (2) Sweltering Sands
External Content
Mutation # 549 Endless Sparkles The PondCast: SC2 News & Results Mutation # 548 Shining Bright Mutation # 547 Temple Of Terror
Brood War
General
[Recap] 0-6 Defeat for Mong's Team Do we even care about balance? BW General Discussion Rollback Netcode in Brood War Bot on ladder
Tourneys
[$1250] International ShieldBattery League [BSL23] RO24 Group C Small VOD Thread 2.0 2v2v2v2 Tournament
Strategy
Cliff Jump Revisited (1 in a 1000 strategy) 50,000-Word Terran Builds Memo 2026-10-22 Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Armies of Exigo - YesYes? General RTS Discussion Thread Dawn of War IV
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 Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread Russo-Ukrainian War Thread Artificial Intelligence Thread
Fan Clubs
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
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: 8533 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
BSL
05:00
RO24 Group C
OyAji vs Nesh
Kyrie vs Aeternum
ZZZero.O184
LiquipediaDiscussion
FEL
19:00
ScienceCraft - Day 2
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Liquid`TLO 142
JuggernautJason65
EmSc Tv 14
StarCraft: Brood War
Shuttle 400
ZZZero.O 184
Dewaltoss 162
ProTech157
Last 66
Hm[arnc] 40
Aegong 25
Dota 2
LuMiX1
League of Legends
JimRising 635
Heroes of the Storm
Grubby3944
Liquid`Hasu566
Other Games
Liquid`RaSZi2168
FrodaN1979
B2W.Neo1119
olofmeister876
XaKoH 405
mouzStarbuck288
KnowMe118
ToD81
Organizations
Other Games
gamesdonequick1515
StarCraft 2
angryscii 39
EmSc Tv 14
EmSc2Tv 14
[ Show 19 non-featured ]
StarCraft 2
• HeavenSC 40
• Adnapsc2 22
• maralekos11
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• 80smullet 27
• ChaeLyn 8
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV610
League of Legends
• Nemesis3536
• Jankos3506
• Scarra1274
Other Games
• imaqtpie699
• Shiphtur425
Upcoming Events
Replay Cast
2h 31m
WardiTV Weekly
15h 31m
IntoTheTV X SOOP
1d 14h
ByuN vs Lambo
MaxPax vs Bunny
PiGosaur Cup
2 days
The PondCast
2 days
Kung Fu Cup
2 days
IntoTheTV X SOOP
3 days
SHIN vs GuMiho
Clem vs Classic
WardiTV Invitational
4 days
GSL
4 days
Epic.LAN
4 days
[ Show More ]
Replay Cast
5 days
Sparkling Tuna Cup
5 days
Epic.LAN
5 days
Yamato Cup
6 days
Liquipedia Results

Completed

Acropolis #5 - GSC
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
BSL Season 23
PGL Masters Bucharest 2026
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

IPSL Winter 2026-27
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
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 2026
IEM Beijing 2026
Stake Ranked Episode 5
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.