Einzelnen Beitrag anzeigen

Phobeus

Registriert seit: 14. Sep 2003
Ort: Tespe
65 Beiträge
 
Delphi 7 Professional
 
#16

Re: OpenGL für Strategie-Spiel?

  Alt 7. Aug 2005, 03:24
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.
Florian Sievert
http://www.delphigl.com/
  Mit Zitat antworten Zitat