Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  How to implement Interpolation in the following loop?  (Read 442 times)
0 Members and 1 Guest are viewing this topic.
Offline SHC
« Posted 2013-07-22 10:45:54 »

I'm actually making this in C# with OpenTK. Here is my
GameLoop()
method.

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
private void GameLoop()
{
    // Initialize GL
   InitGL();

    // Gameloop variables
   long now = GetCurrentTime();
    long gameTime = GetCurrentTime();

    int frames = 0;
    int updates = 0;

    int frameSkip = 1;
    long frameTime = 1000 / Global.STEPS_FOR_SECOND;

    int skippedFrames = 0;

    long lastUpdateCount = GetCurrentTime();
    long lastFramesCount = GetCurrentTime();

    // The Game Loop
   while (Exists)
    {
        CheckEnginePrefs();

        now = GetCurrentTime();

        // Update loop
       while (now + frameTime > gameTime && skippedFrames < frameSkip)
        {
            Update(frameTime);
            updates++;
            gameTime += frameTime;

            // Check for UPS

            if (now - lastUpdateCount >= 1000)
            {
                Global.ACTUAL_STEPS_FOR_SECOND = updates;
                updates = 0;
                lastUpdateCount = now;
            }
        }

        // render

        GL.Clear(ClearBufferMask.ColorBufferBit);
        Render();

        frames++;

        // Check for FPS

        if (now - lastFramesCount >= 1000)
        {
            Global.FRAMES_PER_SECOND = frames;
            frames = 0;
            lastFramesCount = now;
        }

        SwapBuffers();

        // Do the System Events
       ProcessEvents();
    }
}

This plays up nicely but I can see some stuttering i.e., non smooth movement of the character even though the game achieves 175 fps and 30 ups constantly. Now I'm thinking of implementing interpolation. I've read the GameLoops article but can't understand it. How can I implement this in my loop?

Thanks.

Offline trollwarrior1
« Reply #1 - Posted 2013-07-22 10:52:13 »

There is no need for 175 fps if your game run 30 UPS. I mean, you still see change of 30 UPS. With 30 fps you won't see smooth movement unless it's very slow. You need 60.
Offline relminator
« Reply #2 - Posted 2013-07-22 16:38:11 »

This might help:

www.games.freebasic.net/BASICGaming/Issue9/index.html#tutorial1
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline SHC
« Reply #3 - Posted 2013-07-22 17:24:34 »

@Relminator Thanks for the link. However I had looked into the DeWitters GameLoops article which included a version of GameLoop with interpolation.

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

CogWheelz (11 views)
2014-07-30 21:08:39

Riven (21 views)
2014-07-29 18:09:19

Riven (14 views)
2014-07-29 18:08:52

Dwinin (12 views)
2014-07-29 10:59:34

E.R. Fleming (32 views)
2014-07-29 03:07:13

E.R. Fleming (12 views)
2014-07-29 03:06:25

pw (42 views)
2014-07-24 01:59:36

Riven (42 views)
2014-07-23 21:16:32

Riven (29 views)
2014-07-23 21:07:15

Riven (30 views)
2014-07-23 20:56:16
HotSpot Options
by dleskov
2014-07-07 21:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-13 18:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-13 18:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 05:13:37

HotSpot Options
by Roquen
2014-05-15 03:59:54

HotSpot Options
by Roquen
2014-05-06 09:03:10

Escape Analysis
by Roquen
2014-04-29 16:16:43

Experimental Toys
by Roquen
2014-04-28 07:24:22
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
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!