ZDaemon Forum Index ZDaemon
Client/Server DOOM
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Weird "things" collision in zdaemon

 
Post new topic   Reply to topic    ZDaemon Forum Index -> Unconfirmed Bugs
View previous topic :: View next topic  
Author Message
boom_compatible
has entered the game!


Joined: 06 Sep 2020

PostPosted: Sun Aug 21, 2022 12:14 am    Post subject: Weird "things" collision in zdaemon Reply with quote

We had a problem on TNS 575(Altars of Madness) on map12 near the exit area.


The normal behavior:
Killing the cyberdemon, a looped barrel will teleport to the cyberdemon's sector and a voodoo doll that was previously blocked by the barrel will cross a line that opens a door for the barons and cacodemons to teleport to the last area. Access to a switch will be unlocked to be used by the player to lower a sector and finally go to the exit.

This clever system works fine at first glance, but it will start to fail after some time.

The WAD below is an example of what happens.
http://0x0000.space:9666/aom-map12-issue.wad

1- if you rush to kill the cyberdemon, the barrel will teleport, the voodoo doll will cross the line and the exit will open. (as expected)

2- if you stay close to the brick wall and wait ~4 mins, the voodoo doll will end up blocking the barrel breaking the map.
Back to top
View user's profile Send private message
boom_compatible
has entered the game!


Joined: 06 Sep 2020

PostPosted: Sun Aug 28, 2022 8:59 pm    Post subject: Reply with quote

Some notes:

Increasing barrel speed breaks the map faster (96du, 128du...)

Slowing down takes longer to break (32du, 48du...)

But using exactly 16du for barrel speed, the map stops breaking and everything works as expected
Back to top
View user's profile Send private message
AF-Domains.net
Dark Messenger of IRC


Joined: 01 Jun 2002
Location: United Kingdom

PostPosted: Mon Aug 29, 2022 3:34 am    Post subject: Reply with quote

Anything involving Voodoo Dolls tends to invariably result in an interesting case..

However in this instance, was this tested in both multiplayer and singleplayer modes in ZDaemon?

If so, were there any differences between the two? More expected behaviour in one than the other?
Back to top
View user's profile Send private message Visit poster's website
Looper
Posting Spree!


Joined: 05 Apr 2020

PostPosted: Sun Jul 30, 2023 8:10 am    Post subject: Reply with quote

This is the usual case, nothign ground breaking here:
When using scripts, floors or such that push directly east, north, south or west, they are not exactly such. There's most of the time a tiny fractional unit to some other direction. For example, if there's a push floor to east, it is actually pushin mainly to east, but also a fractional unit south. This mean over long period of time things will go a bit out of the "usual line". For example: if you create a map that spawns a rocket with angle 0 (east), and give it only +-1 extra space, it will eventually hit the walls, because it is not going directly east. Here is an example of how the rocket (or the barrel) moves:

Let's assume 30 speed:

TIC1: X-COORD: 64.00000, Y-COORD: 0.00000
TIC2: X-COORD: 94.00000, Y-COORD: 0.00000
TIC3: X-COORD: 124.00000, Y-COORD: 0.00016
TIC4: X-COORD: 154.00000, Y-COORD: 0.00016
TIC5: X-COORD: 184.00000, Y-COORD: 0.00032
...
TIC100: X-COORD: 3064.00000, Y-COORD: 0.01600
....
TIC10000: X-COORD: 300064.00000, Y-COORD: 1.60000

Similar thing with the doom guy's movement: There's no angle that let's it go directly north, south, east or west. This tiny "side movement", as it is called in speedrunning, is what allows precise positioning of the player, and is used with glides and other tricks that require high precision.

Funnily enough, this tiny side movement is what I used to zigzag in this other thread I just made (Something off with the player(s) position). Well, I used steeper angles, but the idea is exactly the same.


You can fix a bug like this in a map by not letting the barrel slide too much south or north, thus blocking the tiny side movement. If you are concerned about the object hitting a wall, which will cause the object (barrel in this case) lose 0-100% of the momentum for a frame (making it a bit out of sync potentially), you can use lanterns, candlesticks or some other 'soft' map objects like fences to block the object which won't affect the momentum with collisions.

To be honest, I am not sure if barrels lose momentum identical to players when colliding with a wall, but at least voodoo dolls should.
Back to top
View user's profile Send private message
Looper
Posting Spree!


Joined: 05 Apr 2020

PostPosted: Sun Jul 30, 2023 8:28 am    Post subject: Reply with quote

And yeah, with slower speeds, the tiny sidemovement gets rounded down to 0.0000000 (so, zero), which will actually move the object directly easy, north, south or west as it should be.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    ZDaemon Forum Index -> Unconfirmed Bugs All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot 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


Powered by phpBB © 2001, 2005 phpBB Group