Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi OpenGL für Strategie-Spiel? (https://www.delphipraxis.net/51005-opengl-fuer-strategie-spiel.html)

Nonsense 4. Aug 2005 11:58


OpenGL für Strategie-Spiel?
 
Hallo,

ich spiele mit dem Gedanken, ein rundenbasiertes Netzwerkstrategiespiel zu schreiben. Nichts "Großes", soll ich die Richtung von Panzer General I gehen. Jedenfalls stellt sich die Frage, ob ich für die Grafik auf OpenGL setzen sollte oder ob für das einfache Einheitenrumschieben auch normale WinAPI reicht. Was würdet ihr empfehlen?

Danke. :)

Edit: Da OOP kann man es später immer noch ändern, nur denkt ihr, dass WinAPI ausreicht?

Speedmaster 4. Aug 2005 12:01

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Nonsense
Hallo,

ich spiele mit dem Gedanken, ein rundenbasiertes Netzwerkstrategiespiel zu schreiben. Nichts "Großes", soll ich die Richtung von Panzer General I gehen. Jedenfalls stellt sich die Frage, ob ich für die Grafik auf OpenGL setzen sollte oder ob für das einfache Einheitenrumschieben auch normale WinAPI reicht. Was würdet ihr empfehlen?

Danke. :)

Edit: Da OOP kann man es später immer noch ändern, nur denkt ihr, dass WinAPI ausreicht?

WinAPI ist komplizierter, von daher Rate ich zu OpenGL, das ist auch nicht so schwer!

Nonsense 4. Aug 2005 12:07

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Speedmaster
WinAPI ist komplizierter, von daher Rate ich zu OpenGL, das ist auch nicht so schwer!

Für mich nicht. Es geht nicht darum, was komplizierter ist (für mich eindeutig OpenGL) sondern ob die Geschwindigkeit ausreicht. Ich hatte vor ein-zwei Jahren mal kleine Tile-Set-Demos geschrieben, u.a. auch für OpenGL, nur waren die nicht besonders kompliziert. Ich habe "Angst", dass die Geschwindigkeit beim Scrollen in die Knie geht (Nungut, es werden keine 1000x1000 Felder Maps, trotzdem bin ich etwas unsicher).

Speedmaster 4. Aug 2005 12:18

Re: OpenGL für Strategie-Spiel?
 
Die Geschwindigkeit in OpenGL ist auch beim Scrollen mehr als Ausreichend!

Nonsense 4. Aug 2005 12:20

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Speedmaster
Die Geschwindigkeit in OpenGL ist auch beim Scrollen mehr als Ausreichend!

Hui...
Es geht um die Geschwindigkeit mit der Win32 API. :roll:

Speedmaster 4. Aug 2005 13:04

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Nonsense
Zitat:

Zitat von Speedmaster
Die Geschwindigkeit in OpenGL ist auch beim Scrollen mehr als Ausreichend!

Hui...
Es geht um die Geschwindigkeit mit der Win32 API. :roll:

Das war nicht deine direkte Frage! :warn:
Aber zu der neuen Frage:
Das kommt drauff an wie es aussehen soll, aber im Normalfall sollte OpenGL schneller sein!
Die Frage die sich hier stellt ist eher ob es für deine Zwecke ausreichend ist, aber dafür brauch man genauere Informationen über die Grafik die du haben willst!

Nonsense 4. Aug 2005 17:39

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Speedmaster
Das war nicht deine direkte Frage! :warn:
Aber zu der neuen Frage:
Das kommt drauff an wie es aussehen soll, aber im Normalfall sollte OpenGL schneller sein!
Die Frage die sich hier stellt ist eher ob es für deine Zwecke ausreichend ist, aber dafür brauch man genauere Informationen über die Grafik die du haben willst!

Meine Frage war, ob WinAPI ausreicht.
Sagen wir, ich habe eine Map von 60 mal 40 Feldern, wo das Terrain, die Städte und Einheiten gezeichnet werden müssen. Grafik (nur Spielfeld) wäre ähnlich Panzer General I (Screenshot), nur, dass sich die Einheiten auch drehen können (wie bei II bzw. IIID). Vielleicht auch Civ3, nur nicht so komplex. Nichts "Besonderes" also. Zum Zeichnen wird WinAPI ausreichen, nur wie sieht es aus, wenn ich scrolle? Da muss das Spielfeld ja komplett neu gezeichnet werden.

Speedmaster 4. Aug 2005 17:42

Re: OpenGL für Strategie-Spiel?
 
Das neuzeichnen lässt sich nicht verhinder, aber wie gesagt wird es ohne etwas größeren Aufwand eine Recht stockende Angelegenheit wie auch in Civ3! Deshalb Rate ich zu OpenGL, besonderst da dort auch 2D sehr hübsch aussehen kann. Und Vielleicht möchtest du ja doch ein bischen 3D haben, z.b. so wie in GTA2 ( Von Oben runtergucken )!

Nonsense 4. Aug 2005 19:01

Re: OpenGL für Strategie-Spiel?
 
Ich überleg' mir das nochmal. Danke erst einmal.

Oxmyx 4. Aug 2005 19:38

Re: OpenGL für Strategie-Spiel?
 
Im Prinzip ist es egal, ob du OpenGL oder die WinAPI (NonVCL, nehme ich an) verwendest. Beides ist hinreichend schnell, um einen Bildschirm mit Bildchen zuzupflastern. Die WinAPI ist halt ohne die VCL etwas komplizierter als OpenGL.

supermuckl 4. Aug 2005 20:06

Re: OpenGL für Strategie-Spiel?
 
ne ist es nicht.
openGL und DirectX können die Hardware benutzen, Windows GDI eben nicht.
Ich würde mir die sachen entweder aus openGL (2d) coden oder via Canvas auf DirectDraw

Oxmyx 4. Aug 2005 23:13

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von supermuckl
ne ist es nicht.
openGL und DirectX können die Hardware benutzen, Windows GDI eben nicht.
Ich würde mir die sachen entweder aus openGL (2d) coden oder via Canvas auf DirectDraw

Ich sagte nicht "gleich schnell", sondern "hinreichend schnell".

Nonsense 5. Aug 2005 09:54

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von Oxmyx
Ich sagte nicht "gleich schnell", sondern "hinreichend schnell".

Das ist ja der springende Punkt: ob es ausreicht. Muss eh erst den ganzen mathematischen Kram auf dem Papier ausrechnen und dann kann man weitersehen.

faithman 5. Aug 2005 22:15

Re: OpenGL für Strategie-Spiel?
 
ich nehm mal an da das spiel sowieso netzwerkfähig sein soll bietet sich die Nutzung von DirectX Komponenten an, OpenGL is aber auch Klasse.
Kann dir nur empfehlen ne hardwarebeschleunigte Schnittstelle zu verwenden denn dein Prozessor möchte später vllt. auch noch mal andere Sachen machen als nur die grafikausgabe und wenn du plötzlich noch auf die idee kommst das die einheiten in 3D doch schöner aussehen hast du dann immernoch genug spielraum.

Nonsense 6. Aug 2005 12:26

Re: OpenGL für Strategie-Spiel?
 
Für's Netzwerk wollte ich selbst was schreiben -- habe ja sonst nix zu tun... :mrgreen:
Da ich 3D nicht mag ( :drunken: ) werde ich sicher nicht umsteigen, Du hast aber trotzdem Recht. Viel Spielraum bleibt da nicht.

Phobeus 7. Aug 2005 02:24

Re: OpenGL für Strategie-Spiel?
 
Also die WinAPI mit OpenGL zu vergleichen, schockiert mich schon ein wenig. Die wichtigste Frage, die Du dir stellen solltest ist halt, ob Du auch Gebrauch von Alpha Blending machen möchtest. Selbst im Bereich 2D lassen sich damit einige sehr schöne Effekte machen und gerade in die heutigen Zeit, wäre man dumm Beraten würde man dies nicht an die GPU weiterreichen. Solltest Du auf solche Effekte verzichten, wäre es evtl. in deinem Fall sogar doch ratsamer auf eine 2D-API zurückzugreifen. 2D mit OpenGL lohnt sich in den meisten Fällen in der Tat, allerdings nicht dann, wenn Du mit sehr vielen kleinen Tiles rumhantierst, die Jenseits einer Zweierpotenz liegen (soll ja auch überall laufen). Du solltest also diese Entscheidung primär davon abhängig machen, ob Du ab und an fadest oder nicht. Auch sollte man unbedingt zu bedenken geben, dass 3D in vielen Bereichen einfacher ist als 2D, sofern Du nicht alle Achsen frei rotieren läßt. Eine Quadrat mit einem Dach kann man leichter von verschiedenen Seiten auf der Karte plazieren als ein Bitmap. Auch ist so manche ISO-Engine schneller in 3D-realisiert als in 2D.
Nun allerdings zum wirklichen Rat. Die WinAPI würde ich definitiv nicht mehr verwenden. Auf den ersten Blick mag gerade für die Spieleentwicklung einige Vorteile darinne zu liegen die volle "Macht" über das Windowssystem zu haben. Unter Angebetracht der Tatsache, dass bereits MS die letzte Ölung der WinAPI hinter sich gebracht hat, würde ich kein neues Projekt mehr darauf aufsetzen. Ich empfehle Dir daher einen Blick auf SDL zu setzen, dass sowohl als Windows-Manager herhalten kann, also auch eine gute API für 2D darstellt und auch leicht auch Zugriff auf OpenGL bietet, falls man doch mal irgendwo die GPU benötigt. Der Lernaufwand dafür soltle ähnlich hoch sein wie bei der WinAPI, allerdings hat es gleich den positiven Nebengeschmack, dass dein Projekt auch noch leicht auf andere Plattformen portiert werden kann. Dazu gibts alles was das Herz beglückt von Input, Sound und Netzwerkschnittstellen.
Ob das Scrolling ruckelt oder nicht hat in jedem Fall nichts mit der gewählten API zu tun. Egal, ob OpenGL, Direct3D, SDL oder DirectDraw oder GDI ohne entsprechende Optimierung wird alles ruckeln, wenn Du ein 10000x10000 Feld ohne Verstand runterzeichnest. Das Eineschränken des Sichtbereiches bei einem 2D-Spiel ist allerdings extrem leicht.
Hoffe das hilft ein wenig weiter. ;)

Nonsense 7. Aug 2005 14:33

Re: OpenGL für Strategie-Spiel?
 
Hmm, da hast Du wohl vollkommen Recht. Werde mich wohl oder übel wieder mit OpenGL anfreunden müssen.

Danke erst einmal.

DGL-luke 7. Aug 2005 15:54

Re: OpenGL für Strategie-Spiel?
 
WinAPI und OpenGL kann man nicht nebeneinander stellen - die WinAPI ist das, was MS den Programmierern(und der VCL) zur verfügung stellt, damit Sie was im Betriebssystem anstellen können.

OpenGL ist ein Grafiksystem, das den Zugriff auf die Grafikkarte regelt.

Somit kann man vielleicht nur mit WinAPI grafische Darstellungen machen - aber ohne WinAPI kann man, zumindest unter Windows, kein OpenGL benutzen.(inzwischen gibt es .NET, okay, aber das setzt auch auf der WinAPI auf - oder?)

Und ich würde dir OpenGL durchaus ein wenig offensiver als Phobeus empfehlen:

2D-OpenGL-Tutorial - inklusive ein wenig Theorie.

VCL-Template - zwar nicht direkt auf 2D festgelegt, aber mit bereits vorhandenem 2d-teil.

Das sollte alles sein, was du brauchst.

Nonsense 8. Aug 2005 23:15

Re: OpenGL für Strategie-Spiel?
 
Zitat:

Zitat von DGL-luke
VCL-Template - zwar nicht direkt auf 2D festgelegt, aber mit bereits vorhandenem 2d-teil.

Programmiere zwar nicht mit der VCL, aber danke trotzdem. ;) Die Tutorials kenne ich übrigens schon alle.

r2c2 9. Aug 2005 08:30

Re: OpenGL für Strategie-Spiel?
 
Ich kann zwar weder die eine, noch die andere Möglichkeit beurteilen, weil ich mich damit noch nicht beschäftigt habe, aber ich kann auf n anderes Projekt verweisen: C-Evo. Das Spiel is sone Art Civilization-Klon und die Grafik is auch gut. Über die Geschwindigkeit kann man auch nicht meckern. Geschrieben in D4, meineswissens weder mit DirectX, noch mit OpenGL. Sourcecode is Online.

mfg

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz