|
JLI Spieleprogrammierung
|
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
|
Verfasst am: 20.04.2006, 17:17 Titel: DirectX und noch zusätzlich eine Engine? |
|
|
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
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 |
|
|
foreach ehem. hanse
Anmeldedatum: 08.05.2004 Beiträge: 183
Medaillen: Keine
|
Verfasst am: 20.04.2006, 17:33 Titel: |
|
|
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 |
|
|
GreveN JLI Master
Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 20.04.2006, 17:53 Titel: Re: DirectX und noch zusätzlich eine Engine? |
|
|
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 |
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.
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 |
|
|
t10ottoo Senior JLI'ler
Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 20.04.2006, 18:49 Titel: |
|
|
Hi,
Erfolgserlebnisse brauch ich schon *g* Und ne eigene Engine zu programmieren ist mir glaube doch noch ein bissl zu hoch
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 |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.04.2006, 00:43 Titel: |
|
|
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.
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.
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 |
|
|
t10ottoo Senior JLI'ler
Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 21.04.2006, 10:24 Titel: |
|
|
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.
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
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 |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 21.04.2006, 13:26 Titel: |
|
|
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 |
|
|
fast hawk Senior JLI'ler
Anmeldedatum: 15.07.2005 Beiträge: 237 Wohnort: Freiburg Medaillen: Keine
|
Verfasst am: 21.04.2006, 13:39 Titel: |
|
|
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 . _________________ 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 |
|
|
foreach ehem. hanse
Anmeldedatum: 08.05.2004 Beiträge: 183
Medaillen: Keine
|
Verfasst am: 21.04.2006, 13:56 Titel: |
|
|
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 |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 21.04.2006, 13:59 Titel: |
|
|
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 |
|
|
t10ottoo Senior JLI'ler
Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 21.04.2006, 13:59 Titel: |
|
|
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*
Danke und Gruß
Otti _________________ Meine kleine Projekte-Seite |
|
Nach oben |
|
|
KI JLI Master
Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 21.04.2006, 15:10 Titel: |
|
|
Und scheu dich nicht D3DX-Funktionen zu benutzen.
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 |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 22.04.2006, 09:52 Titel: |
|
|
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 |
|
|
t10ottoo Senior JLI'ler
Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 22.04.2006, 10:25 Titel: |
|
|
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
Ich werd das meiste dann wohl mehr oder weniger selbst programmieren.
Gruß
Otti _________________ Meine kleine Projekte-Seite |
|
Nach oben |
|
|
|
|
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
|