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

1

26.11.2010, 18:03

Eigene Engine erstellen

Hallo Liebe Community,

ich bin gerade dabei meine eigene Engine zu erstellen. Nun steht im Buch das ich Bei der Klassendefinition

C-/C++-Quelltext

1
TRIBASE_API
vor den eigentlichen Namen der Klasse schreiben soll, damit der Compiler versteht, dass diese Klasse zu *.dll-Datei gehört. soweit so gut. Ich bin mir aber nicht im Klaren, wie ich überhaupt das Projekt für die Engine gestalten soll. Muss ich jetzt in das Projekt für mein Engine das in der CD-Mitgelieferte Engine einbauen bzw. Das DirectX-SDK usw. ? Besonders verwirrte mich das Marko "TRIBASE_API", da ich nicht weiß wo ich es einfügen soll. Kann mich jemand über die Gestaltung des Engine-Projektes "aufklären".

Ich wäre demjenigen sehr dankbar!

Grüße, Euer GreenPepper

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »GreenPepper« (27.11.2010, 00:39) aus folgendem Grund: ein kleiner Rechtschreibfehler hat sich eingeschlichen


2

26.11.2010, 18:17

Hallo GreenPeper,

wenn du eine *.dll Erstellen möchtest, dann benötigst du für jede Funktion / Klasse ein Schlüsselwort, das dem Kompiler sagt ob er diese Funktion / Klasse in die *.dll packen soll oder aus dieser "rausholen" soll. Es handelt sich um __declspec(dllexport) bzw. __declspec(dllimport). Damit automatisch in der entsprechenden Situation das richtige Schlüsselwort gesetzt wird (also entweder export oder import) nutzt man ein Makro. Bei der Tribase-Engine heißt das TRIBASE_API.
Ich bin an dieser Stelle einfach mal so frei und verweise auf ein kleines, nettes Tutorial von E122 , das das nochmal genauer erläutert.

Gruß
SaRu_

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

26.11.2010, 19:57

Hallo Liebe Community,

ich bin gerade dabei meine eigene Engine zu erstellen.

Du solltest Dir wohl erstmal das Wissen darüber aneignen, was genau eine Engine überhaupt ist und was sie macht. Dein Beitrag zeigt nämlich, dass Du gar nicht weißt, was das überhaupt ist, was natürlich eine sehr schlecht Voraussetzung für das Projekt ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

4

26.11.2010, 21:38

Ich gehe davon aus, dass er die Tribase abzutippen gedenkt, bzw. mit der was zu tun gedenkt.

5

27.11.2010, 00:34

Also ich kann dem BlueCobold nur versichern, dass ich weiß, was eine Engine ist. Leider habe ich aber noch keine Erfahrung von der Programmierung einer Engine, deshalb habe ich mir ja auch das Buch gekauft...(Natürlich nicht nur für die Engine, sondern auch für das Erlernen der 3D-Programmierung) Mal ganz ehrlich, ich finde das der Post ist - sagen wir mal - nicht gut durchdacht.

PS: nicht das BlueCobold denkt, ich wäre einer von denen, welche meinen ohne Probleme mal ganz schnell ein High-Level Spiel zu schreiben. Wenn ich nicht schon genug Erfahrung in C++ hätte (zb. Polymorphie) und andern Sprachen wie C# und PHP, würde ich mich gar nicht an die 3D-Programmierung ran wagen.

@SaRu: Danke für den Link, hat mir weitergeholfen!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

27.11.2010, 09:17

Der Fakt, dass Du die Tribase in Deine Engine einzubetten versuchst, obwohl die ja bereits eine Engine ist, der zeigt, dass Du eben nicht weißt, was eine Engine ist. Eine Engine auf eine andere oben drauf zu setzen ist nämlich grober Unfug. Du kannst gern die Beispiele abtippen und dabei was lernen, aber Du baust keine Engine indem Du die Tribase verwendest. Du baust damit maximal einen Wrapper.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

7

27.11.2010, 09:25

Vielleicht meinte er mit der eigenen Engine ja auch die TriBase engine.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

8

27.11.2010, 09:51

Die wäre ja dann aber wohl kaum als "eigen" zu bezeichnen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

9

27.11.2010, 10:08

Also wenn du genug Erfahrung in C++ hast wie du meinst da wuerde ich dann jedoch so Sachen wie dllimport, etc. an Grundwissen schon voraussetzen.
Das Konzept wie du die Engine aus dem Buch auf eine eigene Engine aufsetzen willst verstehe und auch nicht. Kann mich da nur den anderen anschliessen.

10

27.11.2010, 10:48

Ich gebe zu, eine Engine in eine Engine einzubetten, ergibt wenig Sinn (Außer vielleicht man möchte eine allgemeine Engine in eine für Shooter-Spiele spezialisierte einbauen). Ich habe gedacht, das ich die Engine vielleicht für das Beispielspiel (des Buches) etwas modifizieren soll...
Aber kein Problem, ich weiß jetzt was das Buch von mir will (Ich soll mir nämlich eine Eigene zusammen bauen)
Im Übrigen habe ich mich schon einmal mit einer Engine flüchtig beschäftigt, wer es genau wissen will: Irrlicht

Noch mal zu der Sache mit dem Dll-Import und Export:
Visual C++ hat ja seine Markos die ich nur noch nicht so gut kenne. Das heißt aber noch lange nicht, dass ich mich mit der Sprache C++ an sich nicht auskenne.

Werbeanzeige