Partage
  • Partager sur Facebook
  • Partager sur Twitter

Game Loop Architecture

    1 mai 2020 à 16:50:42

    Bonjour,

    J'ai épluché pas mal d'articles sur l'architecture du Game Loop, mais je n'ai pas trouvé la solution que j'avais imaginé, c'est pourquoi je viens ici pour avoir un avis extérieur, car j'ai peur qu'elle présente des biais que je n'ai pas identifié.

    Je metterais un exemple en Java mais le code importe peu, ma question porte seulement sur la logique:

    public class Main{
    	
    	private static final double MAX_FPS = 50 / 3;
    	
    	public static void main(String[] args){
    		
    		long start = System.currentTimeMillis();
    		while(true){
    			//listen();
    			//update();
    			long tick = (long) ((System.currentTimeMillis() - start) / MAX_FPS);
    			//render(tick);
    		}
    		
    	}
    	
    }

    Je sais déjà que le jeu sur lequel je travaille sera cappé à 60FPS (c'est du pixel art principalement, peu gourmand donc très très peu de chances que ça drop en dessous de 50 anyways), toutes mes animations sont donc hard-codées en 60 frames par seconde, et avec la solution que j'ai écris ci-dessus, donc dans le cas d'une update qui prendrait exceptionnellement plus longtemps que prévu, au pire on skip un tick et on affiche la frame suivante de l'animation.

    Est-ce que ma solution présente des biais?

    Merci d'avance!

    EDIT: J'ai essayé cette solution et le ventilo de mon PC s'est enervé, est-ce que ça veut dire qu'il faut que je fasse en sorte de sleep un petit peu à la fin de chaque boucle?

    -
    Edité par AxelCarré 1 mai 2020 à 17:43:02

    • Partager sur Facebook
    • Partager sur Twitter

    Game Loop Architecture

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown