Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
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  
  2D Timing Mechanism  (Read 2073 times)
0 Members and 1 Guest are viewing this topic.
Offline mbishop78

Senior Newbie





« Posted 2008-09-23 03:13:43 »

I've seen a lot of tutorials on how to do 2D games.  I've done a couple myself, but really haven't dug into it since Java 1.4 was in beta.  Back then, the easiest thing to do to control a smooth framerate was a hack that involved an auto-adjusting thread that would sleep 1ms and "tick" every X milliseconds (where  was 1000/frame rate).

If I was to start creating a 2D game with the core libraries, what would be the "latest and greatest" strategy to maintain a frame rate and draw to the screen?  BufferStrategy and fullscreen?  Another sleep/notify thread?  I've seen a few, but I'm looking for the best to start with (and possibly an example) with the 1.6 library.

Thanks for any guidance or links you can propose!

Michael
Offline Wildern

Junior Devvie





« Reply #1 - Posted 2008-09-23 14:19:11 »

There is a really good overview here
Killer Game Programming in Java
Offline mbishop78

Senior Newbie





« Reply #2 - Posted 2008-09-24 01:40:29 »

That's exactly what I was looking for.  It appears it hasn't changed much.  With Java 1.5+ is System.nanoTime a better choice for timer resolution than System.currentTimeMillis?  Or does currentTimeMillis try to use the highest resolution timer available in more modern VMs?

Michael
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #3 - Posted 2008-09-24 01:47:55 »

Some people use nanoTime but in my opinion it's really not important to get that type of resolution in a 2D Java game.

See my work:
OTC Software
Offline mbishop78

Senior Newbie





« Reply #4 - Posted 2008-09-24 13:33:32 »

Yeah, it appears that Windows 98 is the one with timing issues and I really don't care much about supporting it.

Michael
Offline jezek2
« Reply #5 - Posted 2008-09-24 14:43:41 »

Windows 2K/XP has also problems, they have granulity of 10-15ms, which is pretty big for animation purposes. Windows 98 had something like 55ms which was very awful. Other platforms (mac, lin) have 1ms granulity as one would expect.
Offline fletchergames

Senior Devvie





« Reply #6 - Posted 2008-09-24 14:49:51 »

The nanosecond timer has other problems.  The timing may be affected by energy saving features.  Some older AMD dual core CPUs send different times from each core.

It doesn't seem to work as well for me.  I believe there's some kind of "nanosecond timer is evil" topic on this forum somewhere that contains several posts from people who don't like it.
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #7 - Posted 2008-09-24 16:11:55 »

I've made games that updated every 50ms and it looked fine. That obviously means an fps of 20.

See my work:
OTC Software
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.

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

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

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

BurntPizza (84 views)
2014-12-08 04:46:31

JscottyBieshaar (45 views)
2014-12-05 12:39:02

SHC (59 views)
2014-12-03 16:27:13

CopyableCougar4 (57 views)
2014-11-29 21:32:03

toopeicgaming1999 (123 views)
2014-11-26 15:22:04

toopeicgaming1999 (114 views)
2014-11-26 15:20:36

toopeicgaming1999 (32 views)
2014-11-26 15:20:08
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

List of Learning Resources
by SilverTiger
2014-07-31 16:29: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!