JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=68fb9c5051664915872c4ad84464ba4aMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

DirectX und noch zusätzlich eine Engine?

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 20.04.2006, 17:17    Titel: DirectX und noch zusätzlich eine Engine? Antworten mit Zitat

Hi,

ich hab in diversen Foren gelesen, dass für Anfänger unter anderem die Irrlicht-Engine empfohlen wird. Nun frage ich mich aber, ob ich nicht auch nur mit DirectX auskomme?
Klar, DirectX ist keine Engine, sondern nur die Schnittstelle zur Grafikkarte, wenn ich das richtig verstanden habe. Aber eine Engine ist doch auch nur dazu da, um unter anderem auch das Laden eines Bildes zu verwalten. Dies kann man doch aber auch wunderbar mit DirectX machen.

Konkrete Frage: Brauche ich noch zusätzliche beim Programmieren eines Spiels eine Engine, wenn ich eh schon DirectX benutze? Hat das irgendwelche Vorteile? Wenn ja, welche?
Oder sogar Nachteile, dann bitte auch welche Smile

Ich hoffe, mein "Problem" ist verständlich rübergekommen, da ich immer öfters von Engines lese.

Gruß und Danke
Otti
_________________
Meine kleine Projekte-Seite
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
foreach
ehem. hanse



Anmeldedatum: 08.05.2004
Beiträge: 183

Medaillen: Keine

BeitragVerfasst am: 20.04.2006, 17:33    Titel: Antworten mit Zitat

Nein du brauchts nicht unbedingt einen Engine um ein Spiel zu programmieren, allerdings erleichtert dir die Engine das entwickeln von Spielen wesentlich.
Die Engine ist sozusagen die nächste Abstraktionsebene. Sie stelt dir Schnittstellen zur verfügung die dir viel Arbeit abnehmen z.B. Optimiertes Verwalten von Objekten, das Rendering, Effekte, etc. Meist gibt es auch eine Skriptsprache die es dir ermöglicht Dinge (z.B. Materialien, Partikeleffekte, etc.) auserhalb zu Definieren.

Irrlicht ist sicher eine wunderbare Engine allerdings ziehe ich die Ogre3D Engine vor, da sie die meisten aktuellen Techniken beherscht und vollkomen Objektorientiert ist.

Troz allem Grundlagenwissen (DirektX bzw. OpenGL) ist sicher trozdem von nöten um eine Engine effektiv einzusetzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 20.04.2006, 17:53    Titel: Re: DirectX und noch zusätzlich eine Engine? Antworten mit Zitat

t10ottoo hat Folgendes geschrieben:
Konkrete Frage: Brauche ich noch zusätzliche beim Programmieren eines Spiels eine Engine, wenn ich eh schon DirectX benutze? Hat das irgendwelche Vorteile? Wenn ja, welche?
Oder sogar Nachteile, dann bitte auch welche Smile

Hängt stark davon ab, was du machen willst würde ich so pauschal sagen. Für ein dummes, kleines Tetris oder Snake brauchst du sicher keine Engine in dem Sinne, das wäre dann die typische Mit-Kanonen-nach-Spatzen-Schieß-Situation. Da da in der Regel ja eh nur eine handvoll Sprites über den Screen zuckeln, sich im Hintergrund irgend'ne mp3 dumm und dusslig dudelt und der ganze Verwaltungskram minimalistisch ausfällt.
Bei 'größeren' Projekten kann es hingegegen sinnvoll sein, zumindest für Teilsparten im Gesamtproblem irgendwelche Fremdengines, -API's, -SDK's, -frameworks zu verwenden.

Zur Frage ob Engine selbst coden - ja oder nein, lässt sich letztendlich nur sagen, dass es mehr oder weniger eine Geschmacks- und Interessenfrage ist. Ist ein zweischneidiges Schwert, es gibt Leute die programmieren nur Engine und kommen vor lauter Engine-programmieren überhaupt nicht mehr dazu mal ein Spiel zu programmieren. Wink
Was aber nicht unbedingt abwertend gemeint ist, der Lerneffekt ist beim Do-It-Yourself natürlich unbezahlbar und was man einmal sauber implementiert hat, hat man auch in Zukunft immer parat.

Wenn du schnell was Eigenes sich bewegen sehen willst, dazu am besten noch mächtig viel Feuerwerk und Tamtam dann nimm einfach irgendwas mehr oder weniger Fertiges. Willst du dagegen langfristig lernen und kannst auf Erfolgserlebnisse weitesgehend verzichten dann kann es auch sehr interessant sein, sich mit den tieferen technischen Grundlagen auseinander zusetzen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 20.04.2006, 18:49    Titel: Antworten mit Zitat

Hi,

Erfolgserlebnisse brauch ich schon *g* Und ne eigene Engine zu programmieren ist mir glaube doch noch ein bissl zu hoch Wink

Ich schau mir mal die OGRE3D an. Gibts da evtl. auch gute Seiten auf deutsch? (glaub ich zwar nicht, aber vorsichtig nachfragen kostet ja nichts)

Danke erstmal für die wirklich guten Antworten.

Gruß
Otti

[edit]
Die OGRE3D-Engine kann man aber auch für 2D benutzen, oder?
_________________
Meine kleine Projekte-Seite
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 00:43    Titel: Antworten mit Zitat

hanse hat Folgendes geschrieben:
Sie stelt dir Schnittstellen zur verfügung die dir viel Arbeit abnehmen z.B. Optimiertes Verwalten von Objekten [...]

Wobei sich hier oftmals die Frage stellt, ob sie gut optimiert sind und auf was sie optimiert sind. Wink
Sobald du eine Schnittstelle "verallgemeinerst", sodass du sie mehr oder weniger universell einsetzen kannst, musst du davon ausgehen, dass diese Schnittstelle(oder Engine) für bestimmte Dinge nicht optimal läuft.
Natürlich - um schnell Ergebnisse zu bekommen, ein bisschen Eye Candy zu verteilen und um die Möglichkeiten der heutigen Technik auszutesten, ist eine Fremdengine natürlich optimal. Doch wenn du wirklich so viele FPS wie möglich herausschlagen willst und die Kontrolle über alles, was läuft, haben willst, solltest du dich selbst hinsetzen und direkt auf DX/OpenGL/whatever-Ebene programmieren. Wink
Wie von GreveN angesprochen, ist natürlich der Lerneffekt bei zweiterem ungleich größer...
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 10:24    Titel: Antworten mit Zitat

The Lord of Programming hat Folgendes geschrieben:
Doch wenn du wirklich so viele FPS wie möglich herausschlagen willst und die Kontrolle über alles, was läuft, haben willst, solltest du dich selbst hinsetzen und direkt auf DX/OpenGL/whatever-Ebene programmieren. Wink
Wie von GreveN angesprochen, ist natürlich der Lerneffekt bei zweiterem ungleich größer...


Bei kleineren Spielen (die, die ich noch mache) werde ich auch denk ich keine Engine benutzen. Weil ich da denk ich wirklich mit Kanonen auf Spatzen schießen würde. Ich glaub sogar, das ich bei meinem letzten Spiel eh unbewusst eine klitzekleine Engine schon gemacht hat. Denn wenn ich ne Funktion brauch, dann programmier ich die einfach. Diese könnte dann aber auch genausogut in einer Engine vorhanden sein.

Naja, ich werde mal sehen Wink

Gruß
Otti

PS: Durch Christians Buch hab ich denke ich eh eine gute Grundlage mit den ganzen Klassen. Dort werden ja im Prinzip auch die ganzen Objekte verwaltet. Klar, die DirectDraw-Class beispielsweise muss man immer wieder erweitern, weil da für einen speziellen Fall immer mal was fehlt. Aber das "Problem" hat man bei einer Engine denk ich auch, weil solch eine auch nicht alles abdecken kann.
_________________
Meine kleine Projekte-Seite
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


Alter: 37
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 13:26    Titel: Antworten mit Zitat

Jo, also ich würde dir empfehlen erstmal einfach nur mit DX zu coden. Damit erstmla einige schöne 2D Spielchen machen, die nach und nach imemr komplexer werden und dann vielleicht mal ein wenig mit 3D beschäftigen.
Auch im 3D Bereich kann es sinnvoll sien, zunächsteinmal sich nur mit DX zu beschäftigen, dadurch lernt man halt die Grundlagen und wie alles funktioniert. Danach kann man ja immer noch eine offene 3D Engine verwenden, zum Beispiel um Modelle einfach laden und animieren zu können.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
fast hawk
Senior JLI'ler



Anmeldedatum: 15.07.2005
Beiträge: 237
Wohnort: Freiburg
Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 13:39    Titel: Antworten mit Zitat

Ich kann dir eigentlich sehr empfehlen immer eigene Funktion(Klassen) zu machen die das Render mit DirectX machen.Ich selber habe eine klitze kleine
Enigne geproggt die kann fast gar nichts aber das was sie macht halt top vorallem kann ich die immer so umproggen das sie das was ich brauch optimal macht wärhend du das bei fremd enegines nicht kannst. Aber der arbeitsaufwand steigt extrem dafür der lern Effekt auch Wink .
_________________
Jetziges Projekt: The Ring War
Status: 40%
-----------------------------------
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
--
Lucius Annaeus Seneca (4)
röm. Philosoph, Dramatiker und Staatsmann
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
foreach
ehem. hanse



Anmeldedatum: 08.05.2004
Beiträge: 183

Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 13:56    Titel: Antworten mit Zitat

t10ottoo hat Folgendes geschrieben:

Die OGRE3D-Engine kann man aber auch für 2D benutzen, oder?

Nein die Ogre3D Engine ist für 3d gedacht. Es gibt zwar auch möglichkeiten 2D Sachen zu zeichnen (für HUDs etc.) Die kann man aber sehr schlecht für reine 2D Spiele verwenden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.04.2006, 13:59    Titel: Antworten mit Zitat

Für 2D Sachen würde ich dir die HGE (OpenSource/Free) empfehlen oder Torque2D (100$), du hast da zwar keine neusten Techniken aber die beiden sind schnell und relativ ausgereift.

Für neuere Techniken gibts zwar auch was aber AFAIK nur für C#
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 13:59    Titel: Antworten mit Zitat

Danke erstmal noch für eure Antworten.
Erstmal werde ich eh ium 2D-Bereich bleiben.
Was DirectX betrifft:
Hab zwar das Buch durch und auch alles soweit verstanden, aber nen richtiges Projekt habe ich mit DirectX noch nicht geschafft, und das soll sich jetzt ändern. Bin grad mit der ganzen Planung beschäftigt. Will mein dezeitiges Projekt richtig und vollständig aufbauen, mit Planung und allem, was dazu gehört. Und da denk ich auch, dass ich mich vorerst nur auf DirectX konzentriere. Denn wie ich sehe, isses ja auch nicht gerade einfach, mithilfe einer Engine zu programmieren, die man nicht kennt. Also bräucht ich da auch wieder Einarbeitungszeit...
Und bei meinen kleinen Spiele wäre ne Engine wie schon gesagt Verschwendung.

So *weiterplan* Smile

Danke und Gruß
Otti
_________________
Meine kleine Projekte-Seite
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 21.04.2006, 15:10    Titel: Antworten mit Zitat

Und scheu dich nicht D3DX-Funktionen zu benutzen. Wink
Die nehmen einem wirklich viel Arbeit ab und man kommt schnell zu guten Ergebnissen.

Wenn man tiefer in die Materie einsteigen will kann man später immernoch versuchen sein D3DY zu programmieren oder so.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 22.04.2006, 09:52    Titel: Antworten mit Zitat

Die Torque 3D Game Engine ist auch sehr zu empfehlen (kostet jedoch auch wie Torque2D $100). Noch mehr zu empfehlen ist natürlich die Torque Shader Engine (Early Adopters Release für $150 wenn man die Game Engine besitzt).

Für eine komplette Engine sehr günstig, und spielt schon in einer ganz anderen Qualitätsliga als die meisten Open Source Engines.

http://www.garagegames.com/products/28/images/?current=13
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
t10ottoo
Senior JLI'ler


Alter: 40
Anmeldedatum: 15.04.2004
Beiträge: 210
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 22.04.2006, 10:25    Titel: Antworten mit Zitat

Geld ausgeben wollt ich für eine Enige nicht. Dafür ist mir das Geld zu schade. Außer ich bin ein Vollprofi in der Programmierung, dann könnt ich ja auch evtl. damit Geld machen, aber so nicht Wink

Ich werd das meiste dann wohl mehr oder weniger selbst programmieren.

Gruß
Otti
_________________
Meine kleine Projekte-Seite
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum