Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

05.09.2004, 18:30

2D Engine - Was braucht sie alles?

Hi, ich schreib grad an einer 2D-Engine für meine Spiele :)
Ich arbeite mit der SDL. Was sollte sie alles können?

Bisher :
  • Schnellere Initialisierung
  • Schnelleres Clean-Up
  • Bitmaps einfach Laden
  • Bitmaps einfach darstellen
  • Kollisionprüfung zwischen 2 Objekten (Es wird eine Bounding-Box drum gezeichnet)

Was sollte sie noch alles benötigen?
Ich würd gern noch Drehungen einbauen (Immer um 90°). Aber wie realisiert man das? :/
Und wie kann ich Text ausgeben? Kann ich nicht eine der WinAPI-Funktionen benutzen?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

05.09.2004, 18:53

also ich hab die sdl noch nie verwendet, aber ich glaub text ausgeben kann die sdl von selber!?

ich würd sagen eine drehung um 90° lässt sich doch wie eine spiegelung realisieren.
unter WinAPI würd ich einfach bei BitBlt/StretchBlt negative werte für width bzw. height angeben.

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

3

05.09.2004, 19:17

Hi,

nein mit SDL kann man keinen Text ausgeben, aber BitmapText ist sowieso besser.

Wenn Du Win32API Funktionen benutzen willst, schmeißt Du damit das ganze SDL Konzept übern Haufen ;) Nimm Bitmaps für Textausgabe. (ist sehr einfach)

Was eine 2D Engine braucht?

Hmm ok fang ich mal an ;D

  • Initialisierung aller Interfaces die benutzt werden (Grafik, Sound, Input)
  • Grafikdateien Laden (Vorzugsweise TGA [sehr gut für OpenGL!!]) (Das selbe für Sound)
  • Grafikdateien (Surfaces) Darstellen, dafür Klassen wie Animationsklassen, TileSetKlassen, Surfaceklassen (Das selbe für Sound)
  • Grafikmanager, soundmanager, inputmanager
  • Debugmanagement (das selbe für Exceptions)
  • Scenemanagement
  • usw.

So das wars erstmal zur Engine, den Rest den Du schreibst ist für das Spiel nicht für die Engine.
  • Kollisionsmanagement zwischen Primitven (Rechteck und Kreis)
  • Datenmanagement
  • Quadtree (Octree lohnt sich für 3D nicht) für die Umgebung (z.B. eine Iso-Map)
  • GUI
  • Animationshandling
  • uvm.

Du solltest am besten erstmal Dir Papier nehmen und planen, dabei unterscheiden was mit der "Engine" zu tun hat und was mit dem Spiel.

- Patrick :)

Werbeanzeige