Game Loop

Sogomn

Bekanntes Mitglied
Ich mache mich gerade an die Spieleprogrammierung mit Java. Leider verstehe ich die berühmte 'Game Loop' nicht so ganz.
Ich habe dazu einige Fragen:
  • Was ist die Variable 'delta'?
  • Was ist die Variable 'lastFpsTime'?
  • Was ist der Unterschied zwischen der Methode render() und update()?
  • Warum benutzt man nicht einfach einen Timer?

Hier z.B. eine Game Loop, die ich nicht verstehe...
Java:
public void gameLoop()
{
   long lastLoopTime = System.nanoTime();
   final int TARGET_FPS = 60;
   final long OPTIMAL_TIME = 1000000000 / TARGET_FPS;   

   // keep looping round til the game ends
   while (gameRunning)
   {
      // work out how long its been since the last update, this
      // will be used to calculate how far the entities should
      // move this loop
      long now = System.nanoTime();
      long updateLength = now - lastLoopTime;
      lastLoopTime = now;
      double delta = updateLength / ((double)OPTIMAL_TIME);

      // update the frame counter
      lastFpsTime += updateLength;
      fps++;
      
      // update our FPS counter if a second has passed since
      // we last recorded
      if (lastFpsTime >= 1000000000)
      {
         System.out.println("(FPS: "+fps+")");
         lastFpsTime = 0;
         fps = 0;
      }
      
      // update the game logic
      doGameUpdates(delta);
      
      // draw everyting
      render();
      
      // we want each frame to take 10 milliseconds, to do this
      // we've recorded when we started the frame. We add 10 milliseconds
      // to this and then factor in the current time to give 
      // us our final value to wait for
      // remember this is in ms, whereas our lastLoopTime etc. vars are in ns.
      try{Thread.sleep( (lastLoopTime-System.nanoTime() + OPTIMAL_TIME)/1000000 )};
   }
}

private void doGameUpdates(double delta)
{
   for (int i = 0; i < stuff.size(); i++)
   {
      // all time-related values must be multiplied by delta!
      Stuff s = stuff.get(i);
      s.velocity += Gravity.VELOCITY * delta;
      s.position += s.velocity * delta;
      
      // stuff that isn't time-related doesn't care about delta...
      if (s.velocity >= 1000)
      {
         s.color = Color.RED;
      }
      else
      {
         s.color = Color.BLUE;
      }
   }
}
Von der Seite: Java-Gaming.org

MFG Sogomn
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J SNAKE-GAME-LOOP / (Applet zu Application) Spiele- und Multimedia-Programmierung 4
R Game Loop verhält sich eigenartig Spiele- und Multimedia-Programmierung 1
R Game Loop scheitert.. Spiele- und Multimedia-Programmierung 2
J Verständnissfragen zur Game-Loop Spiele- und Multimedia-Programmierung 2
S Problem mit Zeitsteuerung der Game Loop Spiele- und Multimedia-Programmierung 4
L Spider game, Ist es verloren? Spiele- und Multimedia-Programmierung 4
P Snake Game Verbessern Spiele- und Multimedia-Programmierung 15
E Organisation für Game Spiele- und Multimedia-Programmierung 1
G [Game-Multiplayer] Welt vom Server zum Client senden. Spiele- und Multimedia-Programmierung 0
C 3d Game Engine : PERFORMANTE Räumliche Verdeckung Spiele- und Multimedia-Programmierung 5
R Durch String Platform Game erstellen Spiele- und Multimedia-Programmierung 8
G Component System Java 2D Game LibGDX Spiele- und Multimedia-Programmierung 6
G Collision Detection in einem 2D Sandbox Game. Spiele- und Multimedia-Programmierung 2
J Problem mit Game Of Life Spiele- und Multimedia-Programmierung 3
B "Snake"-Game Logikfehler Spiele- und Multimedia-Programmierung 1
H Game Crash Spiele- und Multimedia-Programmierung 7
B Game of Life: Was mache ich falsch? Spiele- und Multimedia-Programmierung 3
$ Einstieg in Java Game Development Spiele- und Multimedia-Programmierung 11
BraunBerry Java Game Pixel "einfärben" Spiele- und Multimedia-Programmierung 6
BraunBerry Java Game verbesserte Kollisionserkennung Spiele- und Multimedia-Programmierung 18
BraunBerry Java Game Waypoint System Spiele- und Multimedia-Programmierung 3
T Moddable Game Spiele- und Multimedia-Programmierung 6
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
T Game-Rendering Spiele- und Multimedia-Programmierung 5
I 2D-Side-Scrolling-Game in Chunks splitten Spiele- und Multimedia-Programmierung 9
Z 2D Pixer art RPG Game - Alpha auf Indie DB spielbar Spiele- und Multimedia-Programmierung 0
F Game of Life Spiele- und Multimedia-Programmierung 1
S Game/Cheat Spiele- und Multimedia-Programmierung 20
wolfgang63 Mit JavaFX einfaches Game programmieren Spiele- und Multimedia-Programmierung 5
D Textfield im Game ,Problem: while-Schleife Spiele- und Multimedia-Programmierung 3
O Pause Menu im 2D Game, bitte um Rat! Spiele- und Multimedia-Programmierung 4
J Java Game performance Probleme Spiele- und Multimedia-Programmierung 7
K Online Game? Spiele- und Multimedia-Programmierung 1
Androbin Verschwindender Spieler in 2D-Game Spiele- und Multimedia-Programmierung 7
M Jump 'n' Run Game - Blöcke? Spiele- und Multimedia-Programmierung 7
N Game GUI Programmieren Spiele- und Multimedia-Programmierung 16
Black_ixx ManaWar Action Game Spiele- und Multimedia-Programmierung 5
M Multiplayer-Game auf Website Spiele- und Multimedia-Programmierung 2
M Multiplayer Game mit Frontend auf HTML5 - ohne ständigen Client Request - Möglich?! Spiele- und Multimedia-Programmierung 12
P Mein Android Game Spiele- und Multimedia-Programmierung 3
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
Kenan89 Kleines Game Spiele- und Multimedia-Programmierung 26
M Vektor Game Spiele- und Multimedia-Programmierung 13
F Bot updaten von einem Browser game Spiele- und Multimedia-Programmierung 7
Samake03 [Game]"Plumbo - Lost in Depth" Preview und Fragen Spiele- und Multimedia-Programmierung 18
K Game Engine für selbstprogrammiertes Spiel Spiele- und Multimedia-Programmierung 27
A Music für Android game Spiele- und Multimedia-Programmierung 3
A Wie wird die Person im Game animiert, dass sie ihre Körperteile bewegen? Spiele- und Multimedia-Programmierung 3
K 3D Game wie Minecraft Spiele- und Multimedia-Programmierung 3
T Torquemada´s erstes Game (Pong) Spiele- und Multimedia-Programmierung 5
X Möglichst komplette 2D Game Engine? Spiele- und Multimedia-Programmierung 12
Kr0e Red Dwarf Game Server Spiele- und Multimedia-Programmierung 5
M Euer erstes Game Spiele- und Multimedia-Programmierung 16
M Netzwerk-Game mit UDP Spiele- und Multimedia-Programmierung 8
ruerob Eure Meinung über Applet-game Spiele- und Multimedia-Programmierung 12
J das erste Game Spiele- und Multimedia-Programmierung 2
M Einen Hobby Game - / Grafik Designer zu finden (Screenshot vom Spiel) Spiele- und Multimedia-Programmierung 7
S Game Client für kleine Competition Spiele- und Multimedia-Programmierung 3
J 2D-Game-Engine? Spiele- und Multimedia-Programmierung 2
F Game mit LWJGL/JOGL in executable JAR packen, wie? Spiele- und Multimedia-Programmierung 6
P 2D Game - Alternative zur TileMap? Spiele- und Multimedia-Programmierung 2
W Memory Game Spiele- und Multimedia-Programmierung 4
Steev EGE - Easy Game Engine Spiele- und Multimedia-Programmierung 2
Developer_X X-Shooter Game Spiele- und Multimedia-Programmierung 21
C 2D Multiplayer Game Spiele- und Multimedia-Programmierung 5
O Mein erstes Game Spiele- und Multimedia-Programmierung 10
Developer_X PingPong-the Game by Developer-X Spiele- und Multimedia-Programmierung 170
K My First Game "ORB" vielen Dank Quaxli Spiele- und Multimedia-Programmierung 23
hdi Das java-forum.org 2D-Game Projekt/Tutorial Spiele- und Multimedia-Programmierung 6
hdi Quiclix : Game download Spiele- und Multimedia-Programmierung 5
A Java 2D Game Spiele- und Multimedia-Programmierung 4
K Game-Tutorial von Quaxli Fragen Spiele- und Multimedia-Programmierung 18
G Suche passende Game api Spiele- und Multimedia-Programmierung 9
K Java Game Programming Buch Spiele- und Multimedia-Programmierung 3
C Hilfe bei einfachen Game Spiele- und Multimedia-Programmierung 15
L Kleines RTS Game -> Netzwerkproblem Spiele- und Multimedia-Programmierung 5
P Suche Leute für ein Hobby-Projekt (Browser Game) Spiele- und Multimedia-Programmierung 4
Q online game programieren Spiele- und Multimedia-Programmierung 8
G Welche Game Api Spiele- und Multimedia-Programmierung 9
S 3d applet - online game Spiele- und Multimedia-Programmierung 4
C Open-Source Game Spiele- und Multimedia-Programmierung 2
sparrow 3D-Game-Engine Spiele- und Multimedia-Programmierung 20
J Isometric Tile Game (x,y) inklusive Z cordinaten? Spiele- und Multimedia-Programmierung 2
M Java online multiplayer game Spiele- und Multimedia-Programmierung 2
J java netzwerk strategie game programmiert Spiele- und Multimedia-Programmierung 4
D Jump and Run Game -- Kollisionsabfrage Spiele- und Multimedia-Programmierung 30
B Snake-Game fürs Handy Spiele- und Multimedia-Programmierung 3
F Online Game mit Java? Spiele- und Multimedia-Programmierung 11
M Space PingPong Game --> Performance ok? Spiele- und Multimedia-Programmierung 44
R 2D Game Oberfläche. Wie am besten? Spiele- und Multimedia-Programmierung 2
H LWJGL - Lightweight Java Game Library! Ist Java3D jetzt out? Spiele- und Multimedia-Programmierung 4
K Sound im loop abspielen, wenn boolscher wert true ist Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben