AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Spiel - Ablaufsteuerung
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel - Ablaufsteuerung

Ein Thema von Sebastian Nintemann · begonnen am 27. Okt 2004 · letzter Beitrag vom 28. Okt 2004
Antwort Antwort
Sebastian Nintemann
(Gast)

n/a Beiträge
 
#1

Spiel - Ablaufsteuerung

  Alt 27. Okt 2004, 17:30
Hallo zusammen!

Ich möchte mit der Graphics32 Lib ein Spiel programmieren.
Nun steh ich vor einem wichtigen Grundsatzproblem, nämlich der Steuerung der Abläufe.

Es müssen einerseits Berechnungen vorgenommen werden (wie zum Beispiel das Bewegen der Charaktere und anderer Objekte, die aktiven Objekte sollen diese Berechnungen selbstständig durchführen), andererseits muss, nachdem alle Objekte mit ihren Berechnungen fertig sind, die graphische Darstellung neu gezeichnet werden.

Problem dabei ist: Zum Beispiel die Laufgeschwindigkeit eines Charakters sollte möglichst konstant sein, unabhängig von der Framerate. Es wäre unschön, wenn alle Charaktere plötzlich langsamer würden, weil gerade viele Berechnungen anstehen. Besser wäre es da, die Charaktere bekämen eine feste Geschwindigkeit (beispielsweise 30 Pixel pro Sekunde), bei hoher Auslastung müsste man dann das Wegfallen einiger Zwischenschritte in Kauf nehmen, was mir aber besser gefallen würde als eine starke Verlangsamung.

Wie wäre es sinnvoll das zu lösen?
Ein (Standard-) Timer ist vielleicht etwas zu ungenau.
Eine Endlosschleife wäre vielleicht eine Möglichkeit (eventuell mit sleep-Unterbrechung), dann müsste aber jedes Objekt selbstständig schauen, wann es zuletzt gezeichnet wurde, und wie weit es sich seit diesem Zeitpunkt bewegt hat. Die Auflösung von GetTickCount würde meiner Meinung nach hier ausreichen.

Wie seht ihr das, wie habt ihr soetwas gelöst?

Viele Grüße,
Sebastian (vorher Grotesquery, siehe Signatur!)
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#2

Re: Spiel - Ablaufsteuerung

  Alt 28. Okt 2004, 11:14
Moin,

ich weiss nicht ob graphics32 so prall für spiele ist. vielleicht für kleine sachen ..genau damit würde ich auch anfangen. Also erstmal kleine brötchen backen.

Was du haben willst ist eine kleine rudimentäre game-engine, die quasi nur aus einem renderloop besteht. oder was? am besten du ordnest deine game-objekt in einem baum an (da kannst du auch TComponent als infrastruktur benutzen) und schickst dann, vom root aus, events rekursiv durch den baum. zB. Move und Draw. Vielleicht kannste TObject.Dispatch dafür benutzen.

Damit sich alles gleich schnell bewegt, kannst zu du einen Highresolution Performance Counter einsetzen. Siehe zB. hier:

http://www.delphidx.de/index.php?action=1;&tut=hpc

ich wünsche viel spass!
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz