Ogre3D oder Panda3d?
Ogre3D oder Panda3d?
Hi Leute,
ich habe in letzter Zeit etwas mit C++ und SDL gearbeitet und möchte bald mit der 3D-Spieleprogrammierung beginnen. Ich kann Java eigentlich weit besser als C++, aber letzteres ist in der Spieleprogrammierung verbreiteter. Ich war auf der Suche nach passenden Engines und habe Ogre3D und Panda3d als passend empfunden. Ich tendiere jetzt eher zu Panda3D, weil es eine komplette Game Engine ist, allerdings hat es im Gegensatz zu Ogre3D eine viel kleinere Community.
Mein Ziel ist es, irgendwann ein Spiel zu entwicklen, das im Prinzip Fahrenheit und Heavy Rain ähnelt. Für die 3D-Modellierung müsste ich noch jemanden finden. Sobald ich was vorzuzeigen habe, kann ich auch sicherlich mehr Leute dafür interessieren. Mich würde auch interessieren wie ihr meine Chancen diesbezüglich einschätzt.
Habt ihr Erfahrung mit den beiden Engines gesammelt und welche würdet ihr mir empfehlen. Einige von euch werden sich bestimmt fragen, wieso ich nicht einfach beide ausprobiere statt so blauäugig zu fragen. Aber mein Studium nimmt mehr Zeit ein als ich erwartet habe und es wird bestimmt eine Weile dauern bis ich die Engines kennengelernt habe.
MfG
hill 2
ich habe in letzter Zeit etwas mit C++ und SDL gearbeitet und möchte bald mit der 3D-Spieleprogrammierung beginnen. Ich kann Java eigentlich weit besser als C++, aber letzteres ist in der Spieleprogrammierung verbreiteter. Ich war auf der Suche nach passenden Engines und habe Ogre3D und Panda3d als passend empfunden. Ich tendiere jetzt eher zu Panda3D, weil es eine komplette Game Engine ist, allerdings hat es im Gegensatz zu Ogre3D eine viel kleinere Community.
Mein Ziel ist es, irgendwann ein Spiel zu entwicklen, das im Prinzip Fahrenheit und Heavy Rain ähnelt. Für die 3D-Modellierung müsste ich noch jemanden finden. Sobald ich was vorzuzeigen habe, kann ich auch sicherlich mehr Leute dafür interessieren. Mich würde auch interessieren wie ihr meine Chancen diesbezüglich einschätzt.
Habt ihr Erfahrung mit den beiden Engines gesammelt und welche würdet ihr mir empfehlen. Einige von euch werden sich bestimmt fragen, wieso ich nicht einfach beide ausprobiere statt so blauäugig zu fragen. Aber mein Studium nimmt mehr Zeit ein als ich erwartet habe und es wird bestimmt eine Weile dauern bis ich die Engines kennengelernt habe.
MfG
hill 2
Re: Ogre3D oder Panda3d?
Wenn du Java viel besser kannst, warum nimmst du nicht die jMonkeyEngine?
Re: Ogre3D oder Panda3d?
Wenn es dir um die Entwicklung eines bestimmten Spiels geht, was spricht denn gegen UDK oder Unity?
Ansonsten, meines Wissens ist die Ogre Engine eher eine Grafikengine. Sprich da musst du natürlich mehr selber machen als mit Panda 3d.
Ansonsten, meines Wissens ist die Ogre Engine eher eine Grafikengine. Sprich da musst du natürlich mehr selber machen als mit Panda 3d.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Ogre3D oder Panda3d?
tl;dr: Ich stand neulich vor derselben Wahl (Unity, OGRE, Panda) und hab letztlich Panda genommen. Ob's schlau war, weiß ich noch nicht.
Langfassung:
Jetzt bin ich hier schon ewig ohne je ein Spiel auf die Beine gestellt zu haben, deswegen wollte ich es auch nicht ankündigen, dass ich an was arbeite, für den Fall das es nichts wird, aber gut, jetzt ist es aus dem Sack.
- Ich wollte dafür Unity nehmen, um was geschafft zu kriegen, aber ich hab Unity nicht kapiert. Total nicht. Die Dokumentation, die ich gefunden hab war nicht hilfreich für das was ich gerne gewusst hätte. Viel Doku ist in Form von Videos und In-Engine Tutorials. Sehr modern, aber ich hätte ein .pdf gewollt. Ich hab auch keinen Ansatz gefunden wie ich meine Spielidee mit dem Konzet einer Szene in Übereinstimmung bringen soll. Meine "Szenen" sollen aus einigen Grundelementen dynamisch immer neu aufgebaut werden. Ich brauch keinen Editor dafür ich will etwas gerendert kriegen. Das ist doch irgendwie tragisch, eine Engine bei der man nicht in 5 Minuten ein Grundlagentutorial findet wie man Modelle läd und rendert. Oder ich bin zu blöd.
- OGRE kenne ich aus dem Studium auf Linux Maschinen. Gescheitert ist es letztlich daran, dass es kein Binaries für VC2012 zum Download gab. Ich hab offen gesagt einen Horror davor unter Windows irgendwas 3rd Party-iges from Source zu bauen. Es kann heute anders sein, aber früher gab bei solchen Aktionen es immer irgendeine Abhängigkeit die nur unter Linux kompilierte. Ich vermute da OGRE CMake benutzt wäre es nicht so ein Problem geworden, aber so oder so empfinde ich es als Zumutung. Und wenn selbst CodingCat, soweit ich mich erinnere, Qt nicht out-of-the box bauen konnte, dann brauche ich damit nicht anzufangen. Ich hab das gefühl das wir in der loose/loose Situation sind, dass VS als IDE sagen wir mal zumindest um Lichtjahre angenehmer ist als das garstige Eclipse, dafür aber der ganze Rest der Infrastruktur die man zum Entwickeln bräuchte einfach scheiße ist. VS für Linux wäre mal 'ne Innovation. So wie es ist, stirbt man auf beiden Platformen irgendeinen Tod.
- Panda war eigentlich nur dritte Wahl, aber es hat halt ohne Mätzchen und Probleme funktioniert. Mehr als man von den anderen sagen kann. Was man wissen sollte, bevor man sich dafür entscheidet:
-- Man entwickelt in Python (das empfinde ich als Vorteil)
-- Es bringt seinen eigenen Python Interpreter mit. Keine Ahnung was an dem anders ist als an dem "normalen", aber ist so. Man ist dann auf eine bestimmte Version von Python festgelegt. Wenigstens hat es den Vorteil dass man alles was man dafür braucht irgendwie relativ zum Panda Verzeichnis installieren kann/muss. Erhöht leicht die Übersicht. Wenn man das nicht will muss man es vermutlich selbst from source bauen. Aber s.o.
-- Das GUI System (DirectGUI) ist nicht soo cool. Panda "wirbt" mit libRocket Unterstützung aber die ist ungefähr gar nicht dokumentiert. libRocket wiederum kann man nicht als Binaries runterladen, sondern muss es selbst bauen. (Was ich nicht versucht habe)
-- Panda ist ziemlich altbacken as in DirectX9. Ich denke moderne Effekte werden damit nicht gehen.
Langfassung:
Jetzt bin ich hier schon ewig ohne je ein Spiel auf die Beine gestellt zu haben, deswegen wollte ich es auch nicht ankündigen, dass ich an was arbeite, für den Fall das es nichts wird, aber gut, jetzt ist es aus dem Sack.
- Ich wollte dafür Unity nehmen, um was geschafft zu kriegen, aber ich hab Unity nicht kapiert. Total nicht. Die Dokumentation, die ich gefunden hab war nicht hilfreich für das was ich gerne gewusst hätte. Viel Doku ist in Form von Videos und In-Engine Tutorials. Sehr modern, aber ich hätte ein .pdf gewollt. Ich hab auch keinen Ansatz gefunden wie ich meine Spielidee mit dem Konzet einer Szene in Übereinstimmung bringen soll. Meine "Szenen" sollen aus einigen Grundelementen dynamisch immer neu aufgebaut werden. Ich brauch keinen Editor dafür ich will etwas gerendert kriegen. Das ist doch irgendwie tragisch, eine Engine bei der man nicht in 5 Minuten ein Grundlagentutorial findet wie man Modelle läd und rendert. Oder ich bin zu blöd.
- OGRE kenne ich aus dem Studium auf Linux Maschinen. Gescheitert ist es letztlich daran, dass es kein Binaries für VC2012 zum Download gab. Ich hab offen gesagt einen Horror davor unter Windows irgendwas 3rd Party-iges from Source zu bauen. Es kann heute anders sein, aber früher gab bei solchen Aktionen es immer irgendeine Abhängigkeit die nur unter Linux kompilierte. Ich vermute da OGRE CMake benutzt wäre es nicht so ein Problem geworden, aber so oder so empfinde ich es als Zumutung. Und wenn selbst CodingCat, soweit ich mich erinnere, Qt nicht out-of-the box bauen konnte, dann brauche ich damit nicht anzufangen. Ich hab das gefühl das wir in der loose/loose Situation sind, dass VS als IDE sagen wir mal zumindest um Lichtjahre angenehmer ist als das garstige Eclipse, dafür aber der ganze Rest der Infrastruktur die man zum Entwickeln bräuchte einfach scheiße ist. VS für Linux wäre mal 'ne Innovation. So wie es ist, stirbt man auf beiden Platformen irgendeinen Tod.
- Panda war eigentlich nur dritte Wahl, aber es hat halt ohne Mätzchen und Probleme funktioniert. Mehr als man von den anderen sagen kann. Was man wissen sollte, bevor man sich dafür entscheidet:
-- Man entwickelt in Python (das empfinde ich als Vorteil)
-- Es bringt seinen eigenen Python Interpreter mit. Keine Ahnung was an dem anders ist als an dem "normalen", aber ist so. Man ist dann auf eine bestimmte Version von Python festgelegt. Wenigstens hat es den Vorteil dass man alles was man dafür braucht irgendwie relativ zum Panda Verzeichnis installieren kann/muss. Erhöht leicht die Übersicht. Wenn man das nicht will muss man es vermutlich selbst from source bauen. Aber s.o.
-- Das GUI System (DirectGUI) ist nicht soo cool. Panda "wirbt" mit libRocket Unterstützung aber die ist ungefähr gar nicht dokumentiert. libRocket wiederum kann man nicht als Binaries runterladen, sondern muss es selbst bauen. (Was ich nicht versucht habe)
-- Panda ist ziemlich altbacken as in DirectX9. Ich denke moderne Effekte werden damit nicht gehen.
Re: Ogre3D oder Panda3d?
Nur ganz kurz, bzgl Unity:
:)
Es gibt natürlich noch mehr Methoden, auch dynamische. Das Ding ist, du musst verstehen, dass bei Unity "Editor" und "will etwas gerendert kriegen" stark miteinander verwoben ist.
Man lädt Modelle, indem man sie einfach per Drag'n'Drop in das Projekt zieht. Man rendert Modelle, indem man sie einfach per Drag'n'Drop aus dem Projekt in die Hierarchie zieht.Alexander Kornrumpf hat geschrieben:Ich brauch keinen Editor dafür ich will etwas gerendert kriegen. Das ist doch irgendwie tragisch, eine Engine bei der man nicht in 5 Minuten ein Grundlagentutorial findet wie man Modelle läd und rendert. Oder ich bin zu blöd.
:)
Es gibt natürlich noch mehr Methoden, auch dynamische. Das Ding ist, du musst verstehen, dass bei Unity "Editor" und "will etwas gerendert kriegen" stark miteinander verwoben ist.
Zuletzt geändert von rüp am 24.03.2013, 14:04, insgesamt 1-mal geändert.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Ogre3D oder Panda3d?
Ich wollte das on the fly irgendwie beeinflussen können.
Re: Ogre3D oder Panda3d?
Das geht auch, z.B. mit Resources.Load(). Lieber nimmt man aber Prefabs, die man sich im Editor zusammenbastelt.
Re: Ogre3D oder Panda3d?
Hm, die Doku in Unity ist eigentlich so schlecht nicht. Da kenn ich echt schlimmeres. Vor allem finden sich reichlich Videos zu den Basics und dem Workflow schon auf der Unity Seite. Und es gibt auch genug Texttutorials. Wobei sie die alten Tutorials inzwischen in den Asset Store verbannt haben. Gibt jetzt ne neue Learning Sektion mit ganz neuen Tutorials. Last but not least, es gibt auch mehr als ein Buch. Da ist also echt für jeden Geschmack was dabei. Du hattest wohl einfach ein unglückliches Händchen bei der Suche :)
Klar ist dass das meiste Material auf Englisch ist. Auf Unity Insider findest du aber auch einiges deutsches Material.
Ich ärgere mich allerdings immer über die Scripting Referenz. Wenn sie einem nur den Begriff vor den Latz knallen und du dann selber knobeln musst was dann da zwischen die Klammern gehört. Was leider viel zu oft vorkommt. Ein Königreich für eine kommentierbare Scripting Referenz ...
Nur für den Fall dass du es noch mal probieren willst, hier ist mehr als ein Unity User unterwegs. Frag halt wenn du wo hängst :)
Klar ist dass das meiste Material auf Englisch ist. Auf Unity Insider findest du aber auch einiges deutsches Material.
Ich ärgere mich allerdings immer über die Scripting Referenz. Wenn sie einem nur den Begriff vor den Latz knallen und du dann selber knobeln musst was dann da zwischen die Klammern gehört. Was leider viel zu oft vorkommt. Ein Königreich für eine kommentierbare Scripting Referenz ...
Nur für den Fall dass du es noch mal probieren willst, hier ist mehr als ein Unity User unterwegs. Frag halt wenn du wo hängst :)
Re: Ogre3D oder Panda3d?
Vielen Dank für die zahlreichen Antworten.
Bei Java habe ich den Vorteil, dass ich viel mehr Praxis habe, aber ich denke, dass ich mit ein bisschen Übung in C++ genausoweit komme. Ich programmiere gerade zum Lernen einen Spaceshooter in C++ mit SDL. Und um ehrlich zu sein, finde ich die Sprachen überhaupt nicht so verschieden. Der größte Unterschied in der Praxis sind für mich die Zeiger und ich finde die verdammt praktisch. Von daher benutze ich lieber C++, weil es einfach verbreiteter ist.
@Alexander
Ich habe eigentlich auch zu Panda3D tendiert, weil es einfach das komplette Paket liefert und angeblich einfacher zu benutzen ist. Allerdings schreckt mich ein bisschen ab, dass fast alle Projekte, die ich auf Youtube gefunden, sehr schwache Performance aufweisen. Panda3D hat auch kaum Referenzen aufzuweisen hat. Mit Ogre wurden sehr viele kommerzielle Spiele entwickelt.
Deshalb denke ich, dass ich vielleicht erstmal Ogre ausprobieren und wenn es reibungslos funktioniert dabei bleiben sollte.
Edit: Falls ich Panda3D nehmen sollte, würd ich auf jeden Fall in C++ programmieren.
rüp hat geschrieben:Wenn du Java viel besser kannst, warum nimmst du nicht die jMonkeyEngine?
Bei Java habe ich den Vorteil, dass ich viel mehr Praxis habe, aber ich denke, dass ich mit ein bisschen Übung in C++ genausoweit komme. Ich programmiere gerade zum Lernen einen Spaceshooter in C++ mit SDL. Und um ehrlich zu sein, finde ich die Sprachen überhaupt nicht so verschieden. Der größte Unterschied in der Praxis sind für mich die Zeiger und ich finde die verdammt praktisch. Von daher benutze ich lieber C++, weil es einfach verbreiteter ist.
Ich will lieber eine Open Source Engine wegen der Lizens und auch weil UDK und Unity eher gescriptet werden.Tiles hat geschrieben:Wenn es dir um die Entwicklung eines bestimmten Spiels geht, was spricht denn gegen UDK oder Unity?
@Alexander
Ich habe eigentlich auch zu Panda3D tendiert, weil es einfach das komplette Paket liefert und angeblich einfacher zu benutzen ist. Allerdings schreckt mich ein bisschen ab, dass fast alle Projekte, die ich auf Youtube gefunden, sehr schwache Performance aufweisen. Panda3D hat auch kaum Referenzen aufzuweisen hat. Mit Ogre wurden sehr viele kommerzielle Spiele entwickelt.
Deshalb denke ich, dass ich vielleicht erstmal Ogre ausprobieren und wenn es reibungslos funktioniert dabei bleiben sollte.
Edit: Falls ich Panda3D nehmen sollte, würd ich auf jeden Fall in C++ programmieren.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Ogre3D oder Panda3d?
Davon wird in der Doku sehr deutlich abgeraten und auch ich würde abraten. Panda will mit Python programmiert werden. Wenn das für dich nicht in Frage kommt nimm es nicht.hill 2 hat geschrieben:
Edit: Falls ich Panda3D nehmen sollte, würd ich auf jeden Fall in C++ programmieren.
-
- Moderator
- Beiträge: 2138
- Registriert: 25.02.2009, 13:37
Re: Ogre3D oder Panda3d?
Danke für den Zuspruch. Vielleicht überlege ich es mir nochmal.Tiles hat geschrieben:Nur für den Fall dass du es noch mal probieren willst, hier ist mehr als ein Unity User unterwegs. Frag halt wenn du wo hängst :)
Re: Ogre3D oder Panda3d?
UDK will seinen Anteil wenn der Gewinn einen bestimmten Betrag übersteigt. Das ist wahr. Ich glaube das waren 40k Dollar im Jahr. Und auch Unity hat eine Klausel drin dass man maximal 100k Umsatz im Jahr mit einem Spiel machen darf das mit der Free Version erstellt wurde. Sonst ist da die Pro fällig. Dafür bekommst du aber jeweils eine komplette Entwicklungsumgebung die das Spieleentwickeln deutlich beschleunigt. In einer Qualität die du als Hobbyist/Indie/Einzelentwickler einfach nicht leisten kannst. Weil du eben nur allein bist. Als Lonewolf wirds eh schwer die genannten Beträge zu überschreiten. Der Spielemarkt ist heutzutage unglaublich überlaufen.Lizenz .... UDK und Unity
Als Hobbyist sind die Lizenzen bei den Beiden schlicht Schnuppe. Die Teile kann man kostenlos runterladen und kostenlos nutzen. Und wenn du nichts verdienst wollen sie auch nichts von dir. Bei UDK hast du allerdings auch in der Free Version gleich den vollen Funktionsumfang dabei. In der Unity Free fehlen halt bestimmte Sachen. Realtime Shadow, Render to Texture, deferred Rendering oder der Profiler um mal die grössten Brocken zu nennen. Damit geht trotzdem erstaunlich viel. Und falls du wirklich 100k Umsatz machen solltest kannst du dir auch die Pro leisten.
Wollte ich einfach noch mal erwähnt haben :)
-
- Beiträge: 21
- Registriert: 01.05.2002, 18:39
- Wohnort: Dortmund
- Kontaktdaten:
Re: Ogre3D oder Panda3d?
UDK will seinen Anteil wenn der Entwickler mit den UDK-Projekten mehr als 50 000 USD Umsatz macht. Das ist nicht pro Jahr und auch nicht pro Projekt, die Projekte sind kummuliert. Ab den ersten USD, der darüber liegt, möchte Epic 25%. Was in meinen Augen auch berechtigt ist für so eine mächste Technologie inkl. Tools und Middleware, wie Speedtree etc. Zumindest ist es der Stand der Dinge, als wir uns August letzten Jahres erkundigt haben. Achso und es gibt eine kleine Gebühr von 99 USD.