Quicksand Bug in 3.2.4

Found a bug in R'n'D? Report it here!

Moderators: Flumminator, Zomis

User avatar
Holger
Site Admin
Posts: 4073
Joined: Fri Jun 18, 2004 4:13 pm
Location: Germany
Contact:

Post by Holger »

> shouldnt be too hard ==> just make the rock fall at the 'slowest' speed of all the quicksand it is touching.

Unfortunately, it isn't that easy, I'm afraid. The reason is that to have things perfectly right there is not only the game engine affected, but also the graphics engine (this is easier in the original EMC engine, as the game and graphics engine are connected much tighter there).

When having a mixture of slow and fast quicksand (like fast/slow/fast/slow/... in a vertical row), the speed should always be "slow" -- engine-wise. But the graphical representation of slow and fast quicksand may be different, and the fast quicksand animation may have fewer frames than the slow quicksand animation, so even when playing the fast quicksand animation with the same speed as the slow quicksand animation, it may at least look a bit rough (and not as it was intended by the graphic designer, who would then have to consider a slow movement speed of the rock through the fast quicksand). On the other hand, there is a similar problem when using different speeds, as there would be always one half of the two-tile action that has a wrong speed, graphically spoken.

Another (game-engine-only) problem is that the speed of the quicksand is stored by the game element itself, so there are elements like "slow quicksand without rock", "slow quicksand with rock moving into" etc. Having combinations of slow and fast quicksand would require additional elements like "fast quicksand with rock moving into fast" and "fast quicksand with rocj moving into slow", which make the game engine more complex than just allowing the rock to move with different speeds (which is a bit unlogical, of course, like many things in a typical BD style engine).

> these little details are one reason why i dont add things to my emc
> engine. you have to get interactions between new objects and old ones
> right the first time, or you end up with incompatible versions all over the
> place,

This is sooooo true!! :-O :-(

Or you end up with many generations of compatibility code that support different game engine behaviour in different game engine versions (and level players and level designers being confused why different levels with the same content behave differently). :-O

> and level designers seem to love using little tricks that break new
> engine versions :)

Again, this is apparently very true! :-O :-/

(Just think of the infamous "hard hat" bug (the player causeing bombs to explode without dying)... :-/ )
Post Reply