Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (604)
Games in Android Showcase (171)
games submitted by our members
Games in WIP (653)
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 2228 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!

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?

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.

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.

SHC (28 views)
2015-08-01 03:58:20

Jesse (19 views)
2015-07-29 04:35:27

Riven (40 views)
2015-07-27 16:38:00

Riven (21 views)
2015-07-27 15:35:20

Riven (24 views)
2015-07-27 12:26:13

Riven (14 views)
2015-07-27 12:23:39

BurntPizza (36 views)
2015-07-25 00:14:37

BurntPizza (46 views)
2015-07-24 22:06:39

BurntPizza (30 views)
2015-07-24 06:06:53

NoxInc (37 views)
2015-07-22 22:16:53
List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21 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‑
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!