Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (579)
games submitted by our members
Games in WIP (500)
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  
  General libGdx question (stuttering, "blurring" trouble)  (Read 1803 times)
0 Members and 1 Guest are viewing this topic.
Offline alaslipknot
« Posted 2013-05-28 18:33:53 »

hi everyone,
yes... am trying to learn libGdx again, i thought about the time am going to spend learning lwjgl and somehow i decided that libGdx will fit me better, anyway, back to the topic,
i am learning libGdx from some examples i found i also took a look on this guy channel he has some good tutorials to get started with libGdx,
so,
for now i didn't have a debugging error, i just want to understand how some stuff works, mainly the game loop,
it said that the render() method is the main game loop
Quote
Method called by the game loop from the application every time rendering should be performed. Game logic updates are usually also performed in this method.
                                                                                                                                             ~libGdx-wiki~

now when i have a class that implements "Screen"  the render method had a float parameter in it called "Delta" which when i print it, i get a value between 0.016 and 0.017, i have no idea what is that Delta variable, and why it's called only when the class implement Screen (it doesn't exist when the class extends Game)
in short term, what i want to know for now, should i create a method (or class) to know the frame rate,delta and all the other things we need to have a correct game loop or did libGdx do all that in the render() method  ?

thank you

Am trying ...
hoping that it works
Online Cero
« Reply #1 - Posted 2013-05-28 20:59:28 »

the render method is already everything you need, in this case here you dont need to write your own gameloop.
It will usually sync to vsync, which is usually 60 hertz meaning 60 fps.

using delta timing (aka variable time step) vs frame based (fixed time step) is a kinda of religious war. Mainly because using delta is very hard as it will usually result in stuttering and stuff.

Delta in math is of course difference. The difference it gives you here (in seconds) the time between this and the last frame.
Ideally you want to go 60 FPS, which is 1000ms / 60 FPS = 16 ms. That means, normally in gaming you have 16 ms to get your shit straight. So when you see 0.016 thats the ideal case.
Of course one frame takes longer than another because maybe there is a lot going on on screen.
So when a frame takes a long time, the idea is that when you know this time, you can use it as a factor in you game calculation, like the speed of flying objects, and thus be in sync, to compensate if you will.

The problem is that these delta times, depending on your game, whats going on and your device and have extraordinary differences/spikes. So you need to use a low pass filter (if you know signal / audio stuff) for example and try to smooth it, but if you do it too much you defeat the purpose...

I believe that when you program for a console, these developers dont actually use delta, because it runs everywhere the same - just make sure you never go below 60 fps (or 30 which is unfortunately the standard often)

So I'm an advocater of fixed/frame based. I have used delta in the past, rarely successful really but sometimes you really need it, depending on the circumstances. But normally I say: Have a minimum system requirement, and make it so that you game runs rock solid 60 FPS

another thing I have implemented in all games is a 30 FPS mode, in which everything is double speed but only 30 FPS. Listening to John Carmack, this seems to be a very popular thing to do, if not ideal, and I wouldn't recommend switching during the game, but apparently some games actually do this.
Kinda like "game is slowing down ? -> switch to 30 FPS mode", "game is fast again -> switch back to 60" which results in ugly "wobble" mostly.

Overall its a big topic and any one person who says "its dead easy you moron" has probably no idea (and for some reason its always the delta lovers who are like this Cheesy)

Cas was also kinda unpleased with using delta IIRC, but no idea how he does it currently.

Offline alaslipknot
« Reply #2 - Posted 2013-05-28 21:17:32 »

wow  Shocked
i thought it must be a lot more simple than that, thanx a lot for those clarification
by the way the reason i posted this is that the game is a flickering, it really hurts my eyes when i move the player

Am trying ...
hoping that it works
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Online Cero
« Reply #3 - Posted 2013-05-28 21:40:52 »

by the way the reason i posted this is that the game is a flickering, it really hurts my eyes when i move the player
well if you use delta simply, there you go.
if not you're probably doing something wrong =D

Offline alaslipknot
« Reply #4 - Posted 2013-05-28 21:47:24 »

well if you use delta simply, there you go.
if not you're probably doing something wrong =D

i didn't use delta, libGdx did  Roll Eyes
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  
67  
68  
69  
70  
71  
public class SplashScreen implements Screen {
//many useless things

@Override
   public void render(float delta) {
      control();
      playerUpdate();
      Gdx.gl.glClearColor(0.2f, 0.2f, 0.3f, 1);
      Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

      System.out.println(delta);
     
      heroSprite.setColor(1, 1, 1, 1);
      heroSprite.setX(player.getX());
      heroSprite.setY(player.getY());
     
      batch.begin();
      heroSprite.draw(batch);
      batch.end();
   }

private void playerUpdate() {

      int xSpeed = 10;

      player.setX(playerX);
      player.setY(playerY);
      player.setWidth(playerW);
      player.setHeight(playerH);

      if (leftPressed) {
         playerX -= xSpeed;
      }
      if (rightPressed) {
         playerX += xSpeed;
      }
      if(upPressed){
         playerY+=xSpeed;
      }
      if(downPressed){
         playerY-=xSpeed;
      }
   }

   private void control() {
      if (Gdx.input.isKeyPressed(Keys.DPAD_LEFT)) {
         leftPressed = true;
      } else {
         leftPressed = false;
      }

      if (Gdx.input.isKeyPressed(Keys.DPAD_RIGHT)) {
         rightPressed = true;
      } else {
         rightPressed = false;
      }

      if (Gdx.input.isKeyPressed(Keys.DPAD_UP)) {
         upPressed = true;
      } else {
         upPressed = false;
      }
      if (Gdx.input.isKeyPressed(Keys.DPAD_DOWN)) {
         downPressed = true;
      } else {
         downPressed = false;
      }
   }


}


sooo  Cheesy ??

Am trying ...
hoping that it works
Online Cero
« Reply #5 - Posted 2013-05-28 22:22:08 »

Ah yes screens do this automatically. I don't use screens... :D

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #6 - Posted 2013-05-28 22:28:09 »

Offtopic:

1  
2  
3  
4  
5  
6  
7  
-      if (Gdx.input.isKeyPressed(Keys.DPAD_RIGHT)) {
-         rightPressed = true;
-      } else {
-         rightPressed = false;
-      }

+      rightPressed = Gdx.input.isKeyPressed(Keys.DPAD_RIGHT);

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline alaslipknot
« Reply #7 - Posted 2013-05-28 22:30:40 »

Ah yes screens do this automatically. I don't use screens... Cheesy
any other details  Roll Eyes ??
@Riven
thanx  Grin

Am trying ...
hoping that it works
Offline deathpat
« Reply #8 - Posted 2013-05-28 22:41:00 »

You're not using the delta here, you should use it in the playerUpdate method :

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
   private void playerUpdate(float delta) {
      // 10 represents here the speed in pixels ( or whatever unit you're using ) per second
     int xSpeed = 10 * delta;

      player.setX(playerX);
      player.setY(playerY);
      player.setWidth(playerW);
      player.setHeight(playerH);

      if (leftPressed) {
         playerX -= xSpeed;
      }
      if (rightPressed) {
         playerX += xSpeed;
      }
      if(upPressed){
         playerY+=xSpeed;
      }
      if(downPressed){
         playerY-=xSpeed;
      }
   }

work in progress : D A E D A L U S
Offline alaslipknot
« Reply #9 - Posted 2013-05-28 22:47:05 »

You're not using the delta here, you should use it in the playerUpdate method :

1  
2  
3  
   private void playerUpdate(float delta) {
      // 10 represents here the speed in pixels ( or whatever unit you're using ) per second
     int xSpeed = 10 * delta;


i tried that, 1st i had to use a real big number (xSpeed = 700 * delta) to have a reasonable movement and yet, the result are still the same,
thanx

Am trying ...
hoping that it works
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline deathpat
« Reply #10 - Posted 2013-05-28 23:04:58 »

Something else, you should have your player coordinates as floats ( don't know if it's the case here ) and also your xSpeed variable.

work in progress : D A E D A L U S
Offline alaslipknot
« Reply #11 - Posted 2013-05-28 23:38:10 »

Something else, you should have your player coordinates as floats ( don't know if it's the case here ) and also your xSpeed variable.
yes am using float variables

Am trying ...
hoping that it works
Offline Jimmt
« League of Dukes »

JGO Kernel


Medals: 114
Projects: 4
Exp: 3 years



« Reply #12 - Posted 2013-05-28 23:49:51 »

Player update method should be in the player, not the screen code - like the act() method if you're using scene2d.
Offline alaslipknot
« Reply #13 - Posted 2013-05-29 01:08:32 »

Player update method should be in the player, not the screen code - like the act() method if you're using scene2d.
that seems correct from the design and OOP view, but is it really going to fix the flickering problem ??
(am not at home now, i can't test it )
thanx

Am trying ...
hoping that it works
Offline relminator
« Reply #14 - Posted 2013-05-29 04:22:51 »

You're not using the delta here, you should use it in the playerUpdate method :

1  
2  
3  
   private void playerUpdate(float delta) {
      // 10 represents here the speed in pixels ( or whatever unit you're using ) per second
     int xSpeed = 10 * delta;


i tried that, 1st i had to use a real big number (xSpeed = 700 * delta) to have a reasonable movement and yet, the result are still the same,
thanx

Remember that delta is usually a difference in time measured in seconds so all your movement is measured as "pixels-per-second" as opposed to "pixels-per-frame".
Offline alaslipknot
« Reply #15 - Posted 2013-05-29 16:42:42 »

guys i still can't find a solution for the flickering issue  Sad

those are my classes :

the general main class :
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  
package com.me.mygdxgame;

import com.badlogic.gdx.Game;
import com.me.mygdxgame.Screen.SplashScreen;

public class MyGdxGame extends Game {

   public static final String VERSION = " alpha # 0.0.1";
   public static final String LOG = "";
   
   private SplashScreen splash = new SplashScreen(this);

   @Override
   public void create() {
      splash.init();
   
      setScreen(splash);
     
     
   }

   @Override
   public void dispose() {
      super.dispose();
   }

   @Override
   public void render() {
      super.render();
   }

   @Override
   public void resize(int width, int height) {
      super.resize(width, height);
   }

   @Override
   public void pause() {
      super.pause();
   }

   @Override
   public void resume() {
      super.resume();
   }
}

the Screen class :
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  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
package com.me.mygdxgame.Screen;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.me.mygdxgame.MyGdxGame;
import com.me.mygdxgame.entities.Player;

public class SplashScreen implements Screen {

   private MyGdxGame game;

   private boolean leftPressed, rightPressed, upPressed, downPressed;

   private Texture heroTexture;
   private Sprite heroSprite;
   private SpriteBatch batch;

   private Player player;
        private float xSpeed, ySpeed, xDirection, yDirection;
   
        public SplashScreen(MyGdxGame game) {
      this.game = game;
   }

   public void init() {
      System.out.println("the game is started");
      player = new Player(100, 100, 16, 16);
   }

   @Override
   public void render(float delta) {

      Gdx.gl.glClearColor(0.2f, 0.2f, 0.3f, 1);
      Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

      control();
      player.update(xDirection, yDirection);

      heroSprite.setColor(1, 1, 1, 1);
      heroSprite.setX(player.getX());
      heroSprite.setY(player.getY());

      batch.begin();
      heroSprite.draw(batch);
      batch.end();
   }

   @Override
   public void resize(int width, int height) {
   }

   @Override
   public void show() {

      heroTexture = new Texture("data/heroRight.png");
      heroTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
      heroSprite = new Sprite(heroTexture);

      batch = new SpriteBatch();
     
      xSpeed = 10;
      ySpeed = 10;
   }

   @Override
   public void hide() {
   }

   @Override
   public void pause() {
   }

   @Override
   public void resume() {
   }

   @Override
   public void dispose() {
   }

   private void control() {

      leftPressed = Gdx.input.isKeyPressed(Keys.DPAD_LEFT);

      rightPressed = Gdx.input.isKeyPressed(Keys.DPAD_RIGHT);

      upPressed = Gdx.input.isKeyPressed(Keys.DPAD_UP);

      downPressed = Gdx.input.isKeyPressed(Keys.DPAD_DOWN);

      if (rightPressed) {
         xDirection = xSpeed;
      } else if (leftPressed) {
         xDirection = -xSpeed;
      } else {
         xDirection = 0;
      }

      if (upPressed) {
         yDirection = ySpeed;
      } else if (downPressed) {
         yDirection = -ySpeed;
      } else {
         yDirection = 0;
      }
   }

}


the player class :
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  
package com.me.mygdxgame.entities;

/**
 * this class will hanle the player properties
 */


public class Player {

   private float x, y, width, height;

   public Player(float x, float y, float width, float height) {
      this.x = x;
      this.y = y;
      this.width = width;
      this.height = height;
   }

   // setting values
  public void setX(float x) {
      this.x = x;
   }

   public void setY(float y) {
      this.y = y;
   }

   public void setWidth(float width) {
      this.width = width;
   }

   public void setHeight(float height) {
      this.height = height;
   }

   // getting values
  public float getX() {
      return this.x;
   }

   public float getY() {
      return this.y;
   }

   public float getWidth() {
      return this.width;
   }

   public float getHeight() {
      return this.height;
   }

   public void update(float xSpeed, float ySpeed) {

      this.x += xSpeed;
      this.y += ySpeed;

   }
}


the desktop main class :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
package com.me.mygdxgame;

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;

public class Main {
   public static void main(String[] args) {
     
      LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
     
      cfg.title = "Hello libGdx" + MyGdxGame.VERSION;
      cfg.useGL20 = false;
      cfg.width = 800;
      cfg.height = 600;
      cfg.resizable = true;

      new LwjglApplication(new MyGdxGame(), cfg);
   }
}


PS :
i know that i may not be using delta when i call the update method from the player class, but even when i did (player.update(1000*delta) ) the game still have the same issue
any advice please ?

thank you

Am trying ...
hoping that it works
Offline 65K
« Reply #16 - Posted 2013-05-29 17:48:20 »

      player.update(10);

If the render loop is capped to 60fps (and your monitor probably as well if you dont have a newer one with 120Hz or an ancient crt display) the maximum number of different visible screens are 60, but you are moving with 600 pixel per second, so you can never see a fluid movement at that speed. Even if you would break it down to update(1) and render at 600fps.

Offline alaslipknot
« Reply #17 - Posted 2013-05-29 17:58:17 »

      player.update(10);

If the render loop is capped to 60fps (and your monitor probably as well if you dont have a newer one with 120Hz or an ancient crt display) the maximum number of different visible screens are 60, but you are moving with 600 pixel per second, so you can never see a fluid movement at that speed. Even if you would break it down to update(1) and render at 600fps.

any suggestion to fix that please ??
thank you

Am trying ...
hoping that it works
Offline 65K
« Reply #18 - Posted 2013-05-29 18:00:09 »

Btw, instead of this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
public void update(float xSpeed) {
      if (SplashScreen.leftPressed) {
         this.x -= xSpeed;

      }
      if (SplashScreen.rightPressed) {
         x += xSpeed;
      }
      if (SplashScreen.upPressed) {
         y += xSpeed;
      }
      if (SplashScreen.downPressed) {
         y -= xSpeed;
      }
   }

Do not get used to such cross dependencies, bad style.

Just hand in x and y speed, which are zero in case of no movement. Let some kind of an input listener decide what speed to set on which key event.
1  
public void update(float xSpeed, float ySpeed)

Offline alaslipknot
« Reply #19 - Posted 2013-05-29 19:49:18 »

@65K
thank you
(code edited)

Am trying ...
hoping that it works
Offline alaslipknot
« Reply #20 - Posted 2013-05-29 22:38:14 »

so i tried to re-make everything without using delta, and the result still the same  Clueless
this is the new class (am not using the Screen class anymore, the other are the same ) :

and you can download the Jar file from here
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  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
package com.me.mygdxgame;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureFilter;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

import com.me.mygdxgame.entities.Player;

public class MyGdxGame implements ApplicationListener {

   private SpriteBatch batch;

   private boolean leftPressed, rightPressed, upPressed, downPressed;
   private Texture heroTexture;
   private Sprite heroSprite;
   private float xSpeed, ySpeed, xDirection, yDirection;
   private Player player;

   @Override
   public void create() {
      player = new Player(100, 100, 16, 16);

      heroTexture = new Texture("data/heroRight.png");
      heroTexture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
      heroSprite = new Sprite(heroTexture);

      batch = new SpriteBatch();

      xSpeed = 10;
      ySpeed = 10;
   }

   @Override
   public void dispose() {

   }

   @Override
   public void render() {
      Gdx.gl.glClearColor(0.2f, 0.2f, 0.3f, 1);
      Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);

      control();
      player.update(xDirection, yDirection);

      heroSprite.setColor(1, 1, 1, 1);

      heroSprite.setX(player.getX());
      heroSprite.setY(player.getY());

      batch.begin();
      heroSprite.draw(batch);
      batch.end();
   }

   @Override
   public void resize(int width, int height) {
   }

   @Override
   public void pause() {
   }

   @Override
   public void resume() {
   }

   private void control() {

      leftPressed = Gdx.input.isKeyPressed(Keys.DPAD_LEFT);

      rightPressed = Gdx.input.isKeyPressed(Keys.DPAD_RIGHT);

      upPressed = Gdx.input.isKeyPressed(Keys.DPAD_UP);

      downPressed = Gdx.input.isKeyPressed(Keys.DPAD_DOWN);

      if (rightPressed) {
         xDirection = xSpeed;
      } else if (leftPressed) {
         xDirection = -xSpeed;
      } else {
         xDirection = 0;
      }

      if (upPressed) {
         yDirection = ySpeed;
      } else if (downPressed) {
         yDirection = -ySpeed;
      } else {
         yDirection = 0;
      }

   }
}


thank you

Am trying ...
hoping that it works
Offline matheus23

JGO Wizard


Medals: 97
Projects: 3


You think about my Avatar right now!


« Reply #21 - Posted 2013-05-30 16:50:29 »

Not flickering for me at all Sad  Clueless

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Online Cero
« Reply #22 - Posted 2013-05-30 17:15:52 »

Not flickering for me at all Sad  Clueless

move the player from left to right or up and down like 10 times. you will see the stuttering.
these are typical delta symptoms

ah yes please say stuttering or jitter... flicking is more like things disappearing and reappearing (like the ghosts in atari 2600 version pacman ;DD)

Offline alaslipknot
« Reply #23 - Posted 2013-05-30 17:46:11 »


move the player from left to right or up and down like 10 times. you will see the stuttering.
these are typical delta symptoms


yes exactly, but also, even when this doesn't happened, i guess in matheus23 case, didn't you notice some kind of blurring ??
like the player have the Flash effect (the super hero) it REALLY hurt my eyes, do you have that please ??
beside, any suggestion to fix the problem  Tongue cause am not using delta anymore
please if you have any solution try to apply it here
it the project folder

thank you very much

Am trying ...
hoping that it works
Online Cero
« Reply #24 - Posted 2013-05-30 20:27:58 »

looks fine. Try Gdx.graphics.setVSync(true); for good measure

overall dont worry about it now... if you just have one object that moves the effect is very enhanced
the more stuff you have going on in the game, the less this effect appears to be an issue

so just code away for now

Offline matheus23

JGO Wizard


Medals: 97
Projects: 3


You think about my Avatar right now!


« Reply #25 - Posted 2013-05-31 10:34:05 »

yes exactly, but also, even when this doesn't happened, i guess in matheus23 case, didn't you notice some kind of blurring ??
like the player have the Flash effect (the super hero) it REALLY hurt my eyes, do you have that please ??

Hm. If by blurring you mean a totally normal occurring white 'ghost image' of the player behind the player, because the monitor (or your eyes) aren't perfect? Yeah. Then yes. Probably Smiley

See my:
    My development Blog:     | Or look at my RPG | Or simply my coding
http://matheusdev.tumblr.comRuins of Revenge  |      On Github
Offline alaslipknot
« Reply #26 - Posted 2013-05-31 12:45:20 »

yes exactly, but also, even when this doesn't happened, i guess in matheus23 case, didn't you notice some kind of blurring ??
like the player have the Flash effect (the super hero) it REALLY hurt my eyes, do you have that please ??

Hm. If by blurring you mean a totally normal occurring white 'ghost image' of the player behind the player, because the monitor (or your eyes) aren't perfect? Yeah. Then yes. Probably Smiley
YES !! THAT  Clueless
should i pass a test  Roll Eyes ??
Off Topic :
i've been playing videos games since the age of 5, addicted to it since 8 or 9 (i play at least 5 hours per day) and the last 4 years 90% of my time at home is in front of my computer screen, and i don't feel like i have any trouble with my eyes, my mother always want me to make a test but am afraid of wearing glasses, i HATE them  Angry !!   

Am trying ...
hoping that it works
Offline 65K
« Reply #27 - Posted 2013-05-31 12:49:40 »

If we both mean and see the same thing, then I already explained the reason in your other thread. It won't be smooth with the given movement speed.

EDIT: Oops, this is the thread  Grin

Online Cero
« Reply #28 - Posted 2013-05-31 13:21:49 »

yes exactly, but also, even when this doesn't happened, i guess in matheus23 case, didn't you notice some kind of blurring ??
like the player have the Flash effect (the super hero) it REALLY hurt my eyes, do you have that please ??

Hm. If by blurring you mean a totally normal occurring white 'ghost image' of the player behind the player, because the monitor (or your eyes) aren't perfect? Yeah. Then yes. Probably Smiley
YES !! THAT  Clueless
should i pass a test  Roll Eyes ??
Off Topic :
i've been playing videos games since the age of 5, addicted to it since 8 or 9 (i play at least 5 hours per day) and the last 4 years 90% of my time at home is in front of my computer screen, and i don't feel like i have any trouble with my eyes, my mother always want me to make a test but am afraid of wearing glasses, i HATE them  Angry !!  

The ghosting here is perfectly normal dude.
Play a black and white pong game even on your nice monitor and you get some ghosting.
Dont worry Tongue

Offline alaslipknot
« Reply #29 - Posted 2013-05-31 13:38:30 »

okay folks   Smiley
thank's a lot Cheesy

Am trying ...
hoping that it works
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.

xsi3rr4x (35 views)
2014-04-15 18:08:23

BurntPizza (31 views)
2014-04-15 03:46:01

UprightPath (46 views)
2014-04-14 17:39:50

UprightPath (29 views)
2014-04-14 17:35:47

Porlus (46 views)
2014-04-14 15:48:38

tom_mai78101 (67 views)
2014-04-10 04:04:31

BurntPizza (127 views)
2014-04-08 23:06:04

tom_mai78101 (227 views)
2014-04-05 13:34:39

trollwarrior1 (192 views)
2014-04-04 12:06:45

CJLetsGame (199 views)
2014-04-01 02:16:10
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
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!