Curiosities - Printable Version +- QB64 Phoenix Edition (https://staging.qb64phoenix.com) +-- Forum: QB64 Rising (https://staging.qb64phoenix.com/forumdisplay.php?fid=1) +--- Forum: Prolific Programmers (https://staging.qb64phoenix.com/forumdisplay.php?fid=26) +---- Forum: MasterGy (https://staging.qb64phoenix.com/forumdisplay.php?fid=45) +---- Thread: Curiosities (/showthread.php?tid=836) Pages:
1
2
|
RE: Curiosities - James D Jarvis - 09-04-2022 The car does roll over. It'll keep driving when it's upside down but it's definitely upside down. It looks like it tends to happen when the terrain is really jagged. Took this shot after it rolled in terrain rendered with perlin_level = 6.5 RE: Curiosities - MasterGy - 09-04-2022 in flight it had to be allowed to turn in the air at an angle as it should. but ! if we rotate a body 180 degrees around rotation axis "A", it is the same as rotating 180 degrees around rotation axis "B". When the car hits the ground, you have to decide which angle of rotation needs to be restored. This is not always clear. In the two examples, the body turned the same way, but the rotation registers are different. In the game "the big chase", a separate part of the program monitors if a car is upside down and corrects the error before we notice it. In the "standard" setting, this error cannot occur, but if you specify a terrain where the car turns more than 90 degrees in the air on one of the axis of rotation, it may not correctly understand which axis of rotation needs to be changed during reset. RE: Curiosities - James D Jarvis - 09-04-2022 I had figured it was a legacy of flight code. Just no slipping into the landscape is an achievement. I cranked the gravity up to 66. and adjusted the power ratio and got a more car like performance driving up steep slopes. In one run I got stuck in a saddle ditch and was able to drive out by rocking the car back and forth and applying the brake at the right points to control the slide until I was able to drive out. gravity = 66 field_resistant = veh_doles_power * .02 * Abs(vfly = 0) |