ubuntuusers.de

3D OpenGL Engine auf ansi C

Status: Gelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

new1

(Themenstarter)
Avatar von new1

Anmeldungsdatum:
23. Januar 2009

Beiträge: 117

Lysander Was möchtest du von mir?

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

new1 schrieb:

Lysander Was möchtest du von mir?

Hä? Ich möchte gar nichts - *Du* suchst hier doch Rat und stellst Fragen! 😲

new1

(Themenstarter)
Avatar von new1

Anmeldungsdatum:
23. Januar 2009

Beiträge: 117

Lysander schrieb:

new1 schrieb:

Lysander Was möchtest du von mir?

Hä? Ich möchte gar nichts - *Du* suchst hier doch Rat und stellst Fragen! 😲

Hier hast du es richtig erfast. Was ich an deinen Posts nicht verstehe wieso jammerst du über irgendwelche unvollständige Projekte. Wenn du spielen möchtest gibt es Genug Spiele Benutze diese. Wenn ich eine fertiges Konzept benutzen möchte dann wäre ich bei WC3 oder Battle for Wesnoth geblieben.

Aber neben deinem Pessimismus hast du einige interessante dinge erweht und dafür bin ich dir dankbar.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

new1 schrieb:

Wenn du spielen möchtest gibt es Genug Spiele Benutze diese.

Es geht doch gar nicht um mich - sondern um Dich! Ich habe Dir nur versucht zu erklären, dass man selber als Entwickler wissen muss, *was* man möchte. Meiner Erafhrung nach gibt es da eben zwei Wege; und beide führen zu unterschiedlichen Ergebnissen.

Wenn ich eine fertiges Konzept benutzen möchte dann wäre ich bei WC3 oder Battle for Wesnoth geblieben.

Ist ja Dein gutes Recht. Aus Deinen Äußerungen hatte ich Dich so verstanden, dass Du Wert auf das *Spiel* als Ergebnis legst und nicht unbedingt auf den *Weg* zum Ziel. Auch Deine generellen Fragen usw. lassen mich eher vermuten, dass Du im Umfeld der Softwareentwicklung nicht wirklich gut bewandert bist und eher Wert auf die Umsetzung der Ideen legst. Daher mein Ratschlag, eben etwas *sehr fertiges* zu nutzen.

Du kannst aber natürlich tun und lassen, was Du möchtest! ☺

Aber neben deinem Pessimismus hast du einige interessante dinge erweht und dafür bin ich dir dankbar.

Ich würde das aufgrund meiner Jahre langen Erfahrung zu dem Thema eher Realismus nennen 😈

Glocke

Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

new1 schrieb:

Ich suche was für ein RPG. Ins besondere möchte ich ein versuch in Richtung Silver starten.

RPG ist immer gut 😀 Davon gibt es irgendwie zu wenige nichtkommerzielle.. ☺

new1 schrieb:

Danke für die Verdeutlichung das ich C++ nehmen sollte. Ich möchte trotzdem mit C das machen weil die zeit und kraft was ich in das lernen stecke kann ich genau so gut in das Programmieren stecken. Die Entscheidung ist nicht endgültig hängt von euren Argumenten und der Engine ab.

So habe ich auch mal gedacht 😀 Das ist zwar gut, dass du Lernen willst, aber bei Hobbyprojekten geht es auch immer mit um die persönliche Langzeitmotivierung - und eine "Erfolgskurve". Soll heißen: mit C wirst du (vermute ich!) wesentlich länger brauchen einen Stand X zu erreichen, als mit C++. Allein die STL bringt enorme Vorteile. Und seit C++11 finde ich persönlich C++ extrem geil zum coden!!

new1 schrieb:

Ein RPG soll sein mit vollständig drehbarer Kamera (360°) Second-Person-View am Charakter fixiert. Was mir an "Silver" gefehlt ist die Steuerung, das aufgeräumtes Interface und Kampfsystem.

Irgendwie beißt sich das mit dem Silver-Ansatz und der 360°-Kamera. Ich habe selber Silver lange Zeit gespielt - schade, dass es so unbekannt geblieben ist. Silver verwendet afaik eine starre Kamera, ohne Möglichkeit zur Drehung. Btw sind die Hintergründe vorgerendert und werden effektiv nur geblittet. Die Figuren an sich sind wiederum 3D-Objekte. Das ist so ähnlich wie bei Pool of Radiance 2 - falls das irgendeinem irgendetwas sagt 😀

new1 schrieb:

Ich möchte was lauffähiges machen und auch was auch unter Linux Nativ nutzen kann.

Dann bist du in der Ecke C/C++ schon einmal goldrichtig! ☺ Und hier muss ich nochmal die Vorteile von C++ erwähnen und einen Freund zitieren:

Boost ist verdammt gut darin, die nervigen, nervigen, nervigen, NERVIGEN Betriebssystemunterschiede zu überbrücken

Gerade für möglichst plattformunabhängige Systeme (und wenn du eh mit OpenGL arbeiten willst, bist du da schon auf einem guten Weg) ist das extrem hilfreich und nicht zu unterschätzen! Spiele/Battle For Wesnoth arbeitet z.B. mit Teilen der Boost-Library 😉

new1 schrieb:

Was ich jetzt weiß das C++ wichtig ist wenn ich möchte das mit jemand hilft und das Game Zukunft haben soll. Es muss nun eine Engine ran. Wichtig wäre mir Open Source und OpenGL.

Ausgehend von meiner Vermutung, dass du neu in der Spieleentwicklerei bist, würde ich dir ersteinmal von der 3D-Sache abraten, dich zunächst auf die 2D-Bahn schieben und dich auf SDL bzw. SFML aufmerksam machen. Ich persönlich habe mit SDL angefangen - die SDL-Bibliothek ist dabei C-artig aufgebaut (Structs und Funktionen), SFML ist afaik objektorientiert. Gerade wenn du Lernen willst, wie man Spiele programmiert, ist der Umgang mit SDL extrem hilfreich. Kleiner Ausblick: SDL bietet auch die Möglichkeit später OpenGL einzubetten. Ich spreche an dieser Stelle absichtlich nur von SDL, da ich mich mit SFML nicht wirklich befasst habe.

LG Glocke

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

Glocke schrieb:

Und seit C++11 finde ich persönlich C++ extrem geil zum coden!!

Hui, da hast Du ja noch nicht viel von der Welt gesehen... 😛

Boost ist verdammt gut darin, die nervigen, nervigen, nervigen, NERVIGEN Betriebssystemunterschiede zu überbrücken

Qt auch! ☺ Und dabei programmiert es sich bei vielem deutlich weniger sperrig - und nein, ich rede nicht (ausschließlich) über den GUI-Teil des Frameworks.

Ausgehend von meiner Vermutung, dass du neu in der Spieleentwicklerei bist, würde ich dir ersteinmal von der 3D-Sache abraten, dich zunächst auf die 2D-Bahn schieben ...

👍 Aber auch da gilt eben: Was will der OP wirklich? Auch SDL ist *extrem* Low-Level und weit weg davon, eine Engine zu sein. Zudem beißt es sich speziell mit C++ wieder, da es sehr C-esque ist; selbst Bindings a la PyGame empfinde ich von der API her ziemlich mies, da sie SDL nur dünn kapseln.

Ich würde da eher Qt und QML empfehlen - läuft auch auf vielen Plattformen out of the box und ist extrem performant bei deutlich besserer Ausdrucksstärke als Wrapper auf SDL. Allerdings weiß ich nicht, ob es dafür bereits Frameworks / Engines gibt, die auf diesen Toolstack setzen. Andererseits müsste man da brauchbares auch auf SDL-Ebene erst noch finden...

Glocke

Avatar von Glocke

Anmeldungsdatum:
1. März 2009

Beiträge: 880

Wohnort: Thüringen

Lysander schrieb:

Hui, da hast Du ja noch nicht viel von der Welt gesehen... 😛

Einige Dinge habe ich schon gesehen ^^

Lysander schrieb:

Qt auch! ☺ Und dabei programmiert es sich bei vielem deutlich weniger sperrig - und nein, ich rede nicht (ausschließlich) über den GUI-Teil des Frameworks.

Ich glaube an der Stelle sollten wir das dabei belassen 😉

Lysander schrieb:

Aber auch da gilt eben: Was will der OP wirklich? Auch SDL ist *extrem* Low-Level und weit weg davon, eine Engine zu sein. Zudem beißt es sich speziell mit C++ wieder, da es sehr C-esque ist; selbst Bindings a la PyGame empfinde ich von der API her ziemlich mies, da sie SDL nur dünn kapseln.

Richtig! Der OP sucht eine 3D-Engine und SDL ist weder 3D noch Engine. Aber (wie bereits geschrieben) unter der Voraussetzung, dass er neu ist, ist "sofort" 3D und alleine Arbeiten schon sehr viel. Wir können ihm effektiv "nur" Ideen und Wege zeigen - was er daraus macht entscheidet er. Und wenn er 3D will, wird er 3D machen^^

new1

(Themenstarter)
Avatar von new1

Anmeldungsdatum:
23. Januar 2009

Beiträge: 117

Danke! Ich freue mich das der Meinung Fluss nicht aufhört.

Der Tipp mit der 2D Grafik erscheint mir logisch. Dennoch werde ich weiter mit 3D weiter machen es ist wenig Sturheit sonder mehr Ehrgeiz. Ich trage die Idee eines Spiel schon seit einem Jahr und bildet sich mittlerweile eine gutes Konzept. Meine Erfahrung in der Spiele Entwicklung ist so gut wie nicht vorhanden dennoch fehlt mir ein Spiel auf dem markt was meiner Vorstellung eines RPG's entspricht.(Linux Spiel!)

Ich stelle mir vor:

  • Eine vollständige 3D Welt

  • Keine Charakter Stufen System sondern lörnig bei duing

  • Also Kleidung hat ein Bequemlichkeit grad, Schutz, Haltbarkeit und mit Geschicklichkeit und Stärke werden die Sachen tragbar sein (bei Waffen lasse ich mir was einfallen) (ich habe nie verstanden warum Klamotten einen stärker machen sie geben Schutz und teilweise behindern sie einen)

  • Die Steuerung wird kein stumpfes tasten Gehämmer. Gestiken werden das Interface aufräumen und es wird dem Spieler ermöglicht seine eigenen Maus/Tatshpad Bewegungen zu nutzen.

  • Rassen Mensch.

So ist für das erste ein grober umriss der Idee. Als Realismus getarnter Pessimismus trift bei mir auf taube Ohren. Konstruktiver Kritik wird eher erwünscht.

mfg new

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

new1 schrieb:

Als Realismus getarnter Pessimismus trift bei mir auf taube Ohren.

Dann schicke mir bitte eine Nachricht, sobald Du etwas lauffähigs hast, ok? 😎

Konstruktiver Kritik wird eher erwünscht.

Ist ja nicht so, als hätte ich Dir nichts konstruktives genannt! Ob Du das annimmst ist eine andere Sache... welche Erfahrungen hast Du denn in Sachen Programmierung? Also welche Sprachen beherrschst Du? Weleche generellen Paradigmen sind Dir bekannt?

Ich vermute mal stark, dass Du bisher sicher nicht versucht hast, das Regelwerk in Code zu gießen? Evtl. wäre das mal ein Anfang - komplett ohne Grafik usw. Einfach nur das Regelwerk und die damit zugrunde liegenden Entitäten. Wenn Du das sauber hinbekommst, wirst Du auch den Rest schaffen ☺

TraumFlug

Avatar von TraumFlug

Anmeldungsdatum:
16. Juli 2009

Beiträge: 999

Wohnort: zwischen den ohren

Naja, mach's nicht zu hastig - weil du ja schon den Zeitspareffekt am Anfang genannt hattest. Den Pessimismus hier fand ich auch belustigend, entweder man versucht's oder nicht. Ein Mod oder Baukastenspiel ist immer was schwächeres, limitierteres als eins was auf einer eigenständigen Engine basiert, und richtige Verwendung von C/C++ bedeutet auch, dass das Spiel auf schwächerer Hardware besser laufen kann, als eines wo die entscheidenden Algos zum Beispiel rein auf python basieren.

Ich kann dir auch noch den Tipp geben: schau' dir ein Paar C++ Opensource 3d-Spiele an, wie die vom Code her aufgebaut sind. Auch wenn es eigentlich noch nichts in deiner Richtung gibt. Ruhig Shooter wie Sauerbraten, Nexuiz, die Doom/Quake Engine basierenden, auch einfachere wie supertuxracer und so. Wenn du umfangreichere Bibliotheken wie Ogre, ... benutzt, was wo genau das möglichst gut benutzt wird. Da lernst du vieles, was du auch brauchen wirst. Bevor du als unerfahrener alles probierweise intuitiv umsetzt, und hinterher zuviel "Matsch" drin ist, der schlecht funktioniert und neugeschrieben werden muss. 3d ist nicht grade simpel.

Lysander

Avatar von Lysander

Anmeldungsdatum:
30. Juli 2008

Beiträge: 2669

Wohnort: Hamburg

TraumFlug schrieb:

Den Pessimismus hier fand ich auch belustigend, entweder man versucht's oder nicht.

Ihr seid vermutlich wirklich noch nicht so lange in Foren unterwegs wie ich 😉 Ansonsten wäre es für Euch auch eher Realismus! 😉 Und dem OP geht es ja gerade *nicht* um das Versuchen, sondern um das Erstellen eines *Spiels*. Auch wenn das jüngere oder unerfahrene nicht gerne hören, aber die Kunst etwas zu erreichen liegt zu einem großen Teil darin, die richtigen Werkzeuge und Konzepte zu wählen. Der OP versucht sich an etwas, was man alleine nicht stemmen kann! An irgend einer Stelle musst Du auf fertiges zurückgreifen; ein Bauer klopft auch nicht erst das Erz aus dem Berg, verhüttet es, schmiedet sich einen Pflug und spannt dann das Pferd davor. Wenn es einem um diese Erfahrung geht ok, aber ob Du jemals ein Brot aus dem Korn Deines Feldes backen wirst ist dabei wirklich ungewiss. Ich kapiere nicht, wie man diese einfache Logik nicht verstehen kann oder will! Von mir aus kann der OP tun und lassen was er will - ich habe ihm nur versucht zu vermitteln, dass er *klare* Vorstellungen davon haben muss, *was* er genau will. Denn genau daran entscheidet sich eben, welchen Weg er verfolgen sollte.

Ein Mod oder Baukastenspiel ist immer was schwächeres, limitierteres als eins was auf einer eigenständigen Engine basiert,

Kühne These! Ich vermute mal, dass Counterstrike niemals entstanden wäre, wenn es kein HL gegeben hätte. Auch ein Dota wäre ohne WC3 niemals geboren worden. Darüber hinaus gibt es zu vielen kommerziellen Spielen viel hübschere und besser designte Mods als es dazu im Vergleich selbst entwickelte Spiele gibt. Da der OP zudem ohne Team entwickeln will / starten muss, liegt die Hürde noch mal eine Ecke höher. Vorsicht also mit solchen Aussagen.

Im übrigen *muss* man sich zwangsläufig limitieren. Die Festlegung der Grenzen ist durchaus eine Kunst, da ein Spiel ansonsten nie spielbar wird. Ich werfe mal Duke Nukem 3D in den Raum 😀 Ein gutes Beispiel, welches zeigt, wie es nicht geht. Schau Dir Spiele von Sid Meier als Kontrast an: Technologisch nie führend, aber inhaltlich absolute Klassiker und Avangardisten ihrer Zeit. Ein guter Designer muss gerade mit Limitierungen leben.

Die absolute Freiheit scheint verlockend - aber im Endeffekt kann sie auch zu unendlichen Projekten führen, die nie etwas spielbares hervorbringen.

und richtige Verwendung von C/C++ bedeutet auch, dass das Spiel auf schwächerer Hardware besser laufen kann, als eines wo die entscheidenden Algos zum Beispiel rein auf python basieren.

Auch wieder Vorsicht. Zum einen diskreditiert sich jemand automatisch schon, wenn er C/C++ schreibt (das sind komplett verschiedene Sprachen mit unterschiedlichen Paradigmen!), zum anderen stimmen solche Aussagen auch nur bedingt. Ohne ausdrucksstarke Sprachen sind viele Inhalte quasi gar nicht oder nur sehr schwer umzusetzen! Natürlich ist CPython recht lahm - aber fürs Number-Crunching wurde es auch nicht gemacht - aber Civ5 setzt nicht ohne Grund auf Python als Sprache für die Domänen-Logik. Das von mir oben zitierte "Rastullas Lockenpracht" hatte iirc auf Ruby als Sprache für ihre Inhalte gesetzt; der 3D-Editor basierte dann auf PyQt. WoW greift für Logiken auf Lua zurück, usw. Die kritischen Algorithmen, die Du ansprichst, sind doch gerade Sachen, die in dem benutzen Framework / Engine bereits gelöst sind und auch sein sollten! Das kann man nicht einfach mal so effizient gestalten, nur weil man Sprache XYZ nimmt. Dazu gehört eine riesen Portion Domänen-Verständnis. Speziell im 3D-Sektor haben das nur wenige Menschen. Das passt wieder zu meinem Bauern-Beispiel: Dieser kennt sich mit Jahreszeiten, Bodenbeschaffenheit und Pflanzenwuchs aus - nicht aber mit Bergbau und Schieden!

Erst durch Arbeitsteilung und dem Aufbauen auf Wissen von anderen, kann man komplexe Systeme oder Prozesse erschaffen und durchführen. Und ein Spiel in 3D wie es dem OP vorschwebt ist nun einmal etwas sehr komplexes, bei dem man auf so viel wie möglich zurückgreifen sollte.

Ich würde dem OP erst einmal empfehlen, sich klare Gedanken darüber zu machen, was genau sein Spiel umfassen soll! Das können Mischungen aus Storyboards, textuelle Beschreibungen, Skizzen oder sogar auch Diagramme a la UML o.ä. sein. Er muss da erst einmal ein Konzept reinbekommen. Wenn er das hat, kann er besser analysieren, welche Technologien sich dafür wirklich eignen. Sauber den Domänen-Layer, unabhängig von der darunter liegenden Technologie, zu definieren ist schon eine Herausforderung an sich. Wer das zu früh mit 3D mischt oder sich darauf fokussiert, kommt zu allem möglichen aber nicht zu einem Spiel.

Je nach dem, wie ernst es dem OP ist, könnte er durchaus kleine "Demos" in fertigen Sachen entwickeln. Wieso nicht einfach mal "Neverwinter Nights" zum Erstellen der ein oder anderen Spiel-Sequenz verwenden? Dann hat er auch das (grafische) Ziel vor Augen: "Das will ich in meinem Spiel haben, nur besser und hübscher". So etwas kann auch helfen...

new1

(Themenstarter)
Avatar von new1

Anmeldungsdatum:
23. Januar 2009

Beiträge: 117

Ich werde den Thread als gelöst setzen die Antwort habe ich ja schon.

Es ist mehr Info geflossen als ich mir vorgestellt habe.

Mal schauen wie weit ich komme^^

Antworten |