Server Help Forum Index Server Help
Community forums for Subgame, ASSS, and bots
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStatistics   RegisterRegister 
 ProfileProfile   Login to check your private messagesLogin to check your private messages   LoginLogin (SSL) 

Server Help | ASSS Wiki (0) | Shanky.com
Accurate collisions

 
Post new topic   Reply to topic Printable version
 View previous topic  How to check if a player is in a safety? Post :: Post toggling images  View next topic  
Author Message
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Thu Mar 13, 2008 6:35 pm    Post subject: Reply to topic Reply with quote

Smong, have you figured out the correct way to compute bounces?
I am missing tiles where the ball moves completely past the tile in one tick and don't know the best (or more importantly, continuum-accurate) way to go about it.
Back to top
View users profile Send private message Add User to Ignore List Send email
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Thu Mar 13, 2008 8:26 pm    Post subject: Reply to topic Reply with quote

have you tried computing the line between the two ticks and seeing if it intersects a tile which is solid (the discretion method)?
_________________
SubSpace Discretion: A Third Generation SubSpace Client
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Thu Mar 13, 2008 9:22 pm    Post subject: Reply to topic Reply with quote

If it does, when do reverse the speed, and how do I know which direction to reverse it in?
Back to top
View users profile Send private message Add User to Ignore List Send email
Samapico
No, these DO NOT look like penises, ok?


Joined: May 08 2003
Posts: 1252
Offline

PostPosted: Thu Mar 13, 2008 11:30 pm    Post subject: Reply to topic Reply with quote

In Continuum, it is possible for a bomb or a ball to go through a tile if it's going too fast... to travel 16 pixels in a tick, the speed would need to be... 16000? ..hmm that doesn't sound that fast...
Did anyone ever checked the speed needed before something goes through a wall? At 16000, the possibility of something going through a tile would be like 1/16 though. So I guess it could make sense
_________________
(Insert a bunch of dead links here)
Back to top
View users profile Send private message Add User to Ignore List
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Thu Mar 13, 2008 11:37 pm    Post subject: Reply to topic Reply with quote

Yeah, I've fiddled with top speed settings allowing people to go through walls and it's about 15000, but I had come to the conclusion that it depended on frame rate. Maybe I was mistaken.
_________________
Hyperspace Owner

Smong> so long as 99% deaths feel lame it will always be hyperspace to me
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Fri Mar 14, 2008 3:52 am    Post subject: Reply to topic Reply with quote

With a combination of buggily high ship speed and high ball speed I got the ball to go through walls.
Seems cont doesn't check the line.
My guess is that it just breaks speed down further (to floats?) and gets another precision (*10 or *16, I don't know)
Back to top
View users profile Send private message Add User to Ignore List Send email
Smong
Server Help Squatter


Joined: 1043048991
Posts: 0x91E
Offline

PostPosted: Fri Mar 14, 2008 6:52 am    Post subject: Reply to topic Reply with quote

Topic split from Ball friction (that time of year again?)

I would assume collisions are per tick with no fancy sub-tick intersection.

I think the tricky bit is tweaking:
  • adjust ball radius.
  • apply collisions before/after friction/speed update?
  • when bouncing do you:
    • align ball to wall.
    • use old position.
    • use new position (which would place it inside the wall.
    • calculate exactly where it should be after it bounced.

All these minor things would become noticable after the ball bounced a few times.

If anyone wants to look some of the ball bounce code is right above the ball friction code (the offsets are in this thread http://forums.minegoboom.com/viewtopic.php?p=59777#59777).
_________________
ss news
Back to top
View users profile Send private message Add User to Ignore List Visit posters website MSN Messenger
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Fri Mar 14, 2008 1:20 pm    Post subject: Reply to topic Reply with quote

Subspace does seem to do no sub-tick processing. Note how easy it is to fly ships and balls through walls at high speeds in subspace.

A glance at the top of the ss ball function shows it probably bounces at the tick position. (if x<0 || x > 0x00f60000 then xspeed = -xspeed)




The same is possible but requires higher speeds in continuum.
Just tested and I managed to get guns through (two) walls as well (without any bounce), at high speeds, of course.
I'm quite confident the ss physics are no longer used.


I suspect (but haven't rigged up a good test) that continuum is fine for multiple bounces in a single tick. That would be definitive indicator of simply higher resolution testing.
Back to top
View users profile Send private message Add User to Ignore List Send email
Samapico
No, these DO NOT look like penises, ok?


Joined: May 08 2003
Posts: 1252
Offline

PostPosted: Fri Mar 14, 2008 5:16 pm    Post subject: Reply to topic Reply with quote

If this can help... try throwing a ball INTO a door that closes.
You'll hear the ball bounce every tick, and it won't move at all.
Same for bouncing bullets or shrap...
Back to top
View users profile Send private message Add User to Ignore List
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Sat Mar 15, 2008 12:17 am    Post subject: Reply to topic Reply with quote

Samapico wrote:
If this can help... try throwing a ball INTO a door that closes.
You'll hear the ball bounce every tick, and it won't move at all.
Same for bouncing bullets or shrap...


Do it at absurdly high speeds and I bet you'll find a different result.
Back to top
View users profile Send private message Add User to Ignore List Send email
Smong
Server Help Squatter


Joined: 1043048991
Posts: 0x91E
Offline

PostPosted: Sat Mar 15, 2008 10:11 am    Post subject: Reply to topic Reply with quote

Samapico wrote:
If this can help... try throwing a ball INTO a door that closes.
You'll hear the ball bounce every tick, and it won't move at all.
Same for bouncing bullets or shrap...
I think all that tells us is the collision code doesn't align to the edge of a wall, unless doors are a special case. Although if you shoot a wall with guns the explosion doesn't appear on the edge but somewhere inside the wall (again could be a special case). Either way I think this is all leaning towards "use old position" instead of "calculate exact new position".
Back to top
View users profile Send private message Add User to Ignore List Visit posters website MSN Messenger
Cheese
Wow Cheese is so helpful!


Joined: Mar 18 2007
Posts: 1017
Offline

PostPosted: Sat Mar 15, 2008 7:07 pm    Post subject: Reply to topic Reply with quote

Goldeye wrote:
[..]
Do it at absurdly high speeds and I bet you'll find a different result.


i might try that...
i already have an arena in my zone that has the highest possible speeds of ships and bombs, speeds so fast that 'wallhacking' through a tw sized base takes a small amount of time, and so fast that picking up a flag makes you a static object, until you use afterburners.

i might make a large door to toss a ball into...
_________________
SSC Distension Owner
SSCU Trench Wars Developer
Back to top
View users profile Send private message Add User to Ignore List Visit posters website AIM Address
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Wed Mar 19, 2008 4:33 pm    Post subject: Reply to topic Reply with quote

I just tried running a straightforward in-tile collision function with a few (uncontrolled, mb) bounces at a resolution of 10 checks/tick and actually got farther off that just checking 2x/tick.

4x/tick gets within 3 tiles for low moderate speeds and within 10 for a good bit higher (1000px/sec?)
Back to top
View users profile Send private message Add User to Ignore List Send email
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> ASSS Questions All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
View online users | View Statistics | View Ignored List


Software by php BB © php BB Group
Server Load: 47 page(s) served in previous 5 minutes.

phpBB Created this page in 0.447469 seconds : 37 queries executed (92.9%): GZIP compression disabled