enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Enigma-devel] marble movement code


From: Petr Machata
Subject: [Enigma-devel] marble movement code
Date: Sun, 05 Jan 2003 02:17:58 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3a) Gecko/20021212

I played a bit with the "new movement code" from CVS. It behaves rather well on common floor, but problems arise with the gradients and gravity levels at all. The gravity currently doesn't look much like gravity, as the marble stops accelerating very early. The problem with gradients is similar - they are no great deal, behaving nearly as common floors. Well, I tried to play with it a bit, and there is what came out of my tests.

The simplest solution seems to multiply the gravity forces by some constant. I tried several numbers, and for gravity the coefficient of 2.5 seems to be quite good. Greater numbers mean that marble nearly doesn't bounce, which also does not look well. I tried "swoop" (martin01.lua) and "Skydiver" (martin13.lua) with those settings and it beehaved well.

Next chapter: gradients. Modifiyng Gradient::get_force so that it returns 50*force does the job well, imho - again, multiplication is 2.5, no wonder.

Hand in hand with these changes goes the change of the movement factors. Well, for me, Mouse speed of 3, Mouse damping of 50 and Friction factor of 1.0 worked well. I played several levels with those settings (that is, some gravity levels, some common, some gradients) and felt it to be good. Understand: movement over common floors was nearly as good as before, gravity looked like gravity, marble bounced as expected from well-behaved, gravity-attracted marble, and gradients were pushing the marble in the right direction with some real force.

I rather liked old enigma's marble motion engine, marble very sensitively reacted to mouse movements, and also wanted to have the gravity looking good and gradients be some problem for the player. This all meaned low Friction factor. High Damping is because the mouse on common floor was too "liveful" - due to low Friction, of course. Ditto for low Mouse speed.

I have no comparsion to original OXYD, nor to some of its clones. Long ago I had Per.OXYD on my windows x86, and even longer before OXYD II on Atari, but these both are now graved deep to dust.

I found these values on Linux (SuSE 7.3, if this helps you a bit).

I hope this will do some good.
Have a nice day.
Ant







reply via email to

[Prev in Thread] Current Thread [Next in Thread]