Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (542)
Games in Android Showcase (133)
games submitted by our members
Games in WIP (606)
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  
  Pausing technique  (Read 823 times)
0 Members and 1 Guest are viewing this topic.
Offline bauerr

Junior Devvie




Java!!!!!!!!!!! !!!


« Posted 2004-12-13 09:11:04 »

Hello,

I just read an article in the JAVA 2D section about this pausing technique within the game loop:

http://www.java-gaming.org/cgi-bin/JGNetForums/YaBB.cgi?board=2D;action=display;num=1102196419

Linuxhippy suggested the following:

.. I would suggest to check every frame how long computation took and after this calculate how far charakters, animation etc. should have moved. ...

I just thougt a bit about this, but came to no proper solution.  What would be the best way of defining the speed of an object?

Any hint will be appreciated.

Thank you.

Ralf
Offline Malohkan

Senior Devvie




while (true) System.out.println("WOO!!!!");


« Reply #1 - Posted 2004-12-13 20:45:04 »

using jbanes's GAGETimer:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
void run() {
            AdvancedTimer at = new AdvancedTimer();
            at.start();
            long tick = 0;
            while (running) {
                        render();
                        double seconds = (double)(at.getClockTicks()-tick) / AdvancedTimer.getTicksPerSecond();
                        runObjects(seconds);
                        tick = at.getClockTicks();
            }
}
public void runObjects(double seconds) {
            if (forwardPressed)
                        xVelocity += runAccel*seconds;
            else if (backwardPressed)
                        xVelocity -= runAccel*seconds;

            x += velocityX*seconds;
            y += velocityY*seconds;
}

That's how I do it.  I hope that helps! Smiley  Oh, and if anyone sees anything really wrong with that, please tell me so I can stop doing it myself... hehe

Admin and Game Developer at
GameLizard.com
Play Rimscape!    |    Play Conquer!
Offline Grazer

Junior Devvie




My other avatar is much more flattering.


« Reply #2 - Posted 2004-12-14 00:45:45 »

Are you after help with timing or with character movement speeds?

If timing, see this tutorial about timing in Java games:

http://grexengine.com/sections/externalgames/articles/Kevin%20Glass-Space%20Invaders%20101-2.html

Remember also that Java 5 now has a System.nanoTime() method.

Aside:
Does anyone know if this new method is accurate on Windows?
(i.e. updated more than once every 10ms and doesn't drift horrendously?)

If you're asking about character movement, I can only say "what I would do", which is to define the movement of characters relative to each other and then find some way to translate these relative values into the right units.
If you're wondering about what units to use, I would guess people use pixels for a 2D sprite-based game, or the units of the "game world" if you're doing 3D, but I don't really know.

Current Project: Easy Decal
Other Stuff: grlea online
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline jbanes

JGO Coder


Projects: 1


"Java Games? Incredible! Mr. Incredible, that is!"


« Reply #3 - Posted 2004-12-14 02:02:35 »

Quote
Aside:
Does anyone know if this new method is accurate on Windows?
(i.e. updated more than once every 10ms and doesn't drift horrendously?)


System.nanoTime() is extremely accurate, even on Windows. I can't tell you how often it updates, but I can tell you  it's fast enough. I do have some concerns about  random drift, but I don't worry about it because it all seems to even out in the end.

Quote
Remember also that Java 5 now has a System.nanoTime() method.


Don't worry. Users may forget, but GAGETimer won't. If System.nanoTime() is available, it will be selected as the preferred timing method. :-)

Java Game Console Project
Last Journal Entry: 12/17/04
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.

Elsealabs (16 views)
2014-12-28 10:39:27

CopyableCougar4 (20 views)
2014-12-28 02:10:29

BurntPizza (25 views)
2014-12-27 22:38:51

Mr.CodeIt (15 views)
2014-12-27 04:03:04

TheDudeFromCI (20 views)
2014-12-27 02:14:49

Mr.CodeIt (26 views)
2014-12-23 03:34:11

rwatson462 (58 views)
2014-12-15 09:26:44

Mr.CodeIt (47 views)
2014-12-14 19:50:38

BurntPizza (96 views)
2014-12-09 22:41:13

BurntPizza (116 views)
2014-12-08 04:46:31
How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50
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!