Java-Gaming.org Hi !
 Featured games (91) games approved by the League of Dukes Games in Showcase (804) Games in Android Showcase (239) games submitted by our members Games in WIP (868) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 multiply a variable with a delta timestep  (Read 1581 times) 0 Members and 1 Guest are viewing this topic.
orange451

JGO Kernel

Medals: 564
Projects: 8
Exp: 8 years

 « Posted 2015-07-28 03:44:50 »

In a small test project I recently started, I tried an differential approach to friction instead of a linear approach to friction.

For example, before I would do:
 1  2  3  4  5  6  7  8  9 `Vector normal = velocity.getNormal();float magnitude = velocity.getMagnitude();float change = magnitude - (friction * delta);velocity = normal.multiply(change);//x += velocity.x * delta;y += velocity.y * delta;`

In my current project I am doing:
 1  2  3  4  5  6 `velocity = velocity.multiply(0.99);//x += velocity.x * delta;y += velocity.y * delta;`

This new method feels much nicer as friction, but it has one draw-back, I cannot use it with a delta timestep! How should I approach this?

First Recon. A java made online first person shooter!
cylab

JGO Kernel

Medals: 195

 « Reply #1 - Posted 2015-07-28 08:30:22 »

If you have any kind of physics simulation, I strongly suggest to switch to fixed timestep instead of variable timestep with delta time. Just make with a decent gameloop, that you get a constant fixed update rate for your simulation. This will make it much easier and you also get deterministic reproducible behaviour.

Mathias - I Know What [you] Did Last Summer!
Riven

« JGO Overlord »

Medals: 1371
Projects: 4
Exp: 16 years

 « Reply #2 - Posted 2015-07-28 11:32:06 »

 1  2  3  4  5  6  7 `- velocity = velocity.multiply(0.99);+ velocity = velocity.multiply(1.00 - 0.01 * delta);//x += velocity.x * delta;y += velocity.y * delta;`

Having said that - use fixed timestep instead.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Pages: [1]
 ignore  |  Print

 Riven (581 views) 2019-09-04 15:33:17 hadezbladez (5510 views) 2018-11-16 13:46:03 hadezbladez (2402 views) 2018-11-16 13:41:33 hadezbladez (5772 views) 2018-11-16 13:35:35 hadezbladez (1223 views) 2018-11-16 13:32:03 EgonOlsen (4661 views) 2018-06-10 19:43:48 EgonOlsen (5682 views) 2018-06-10 19:43:44 EgonOlsen (3198 views) 2018-06-10 19:43:20 DesertCoockie (4095 views) 2018-05-13 18:23:11 nelsongames (5115 views) 2018-04-24 18:15:36
 princec 10x Ali-RS 6x philfrei 5x VaTTeRGeR 5x KaiHH 5x mudlee 5x elect 4x Rain8 3x SteveSmith 2x hansolo_ 2x gouessej 2x ral0r2 1x saocrinn 1x Akazan 1x bullen 1x Apo 1x
 A NON-ideal modular configuration for Eclipse with JavaFXby philfrei2019-12-19 19:35:12Java Gaming Resourcesby philfrei2019-05-14 16:15:13Deployment and Packagingby philfrei2019-05-08 15:15:36Deployment and Packagingby philfrei2019-05-08 15:13:34Deployment and Packagingby philfrei2019-02-17 20:25:53Deployment and Packagingby mudlee2018-08-22 18:09:50Java Gaming Resourcesby gouessej2018-08-22 08:19:41Deployment and Packagingby gouessej2018-08-22 08:04:08
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org