Seite 1 von 1

3D Engines...

Verfasst: 10.09.2007 20:18
von C4rizz
Moinsen
Also ich wollt mich da ma nach was erkundigen was mir schon lange net mehr ausm kopf geht...
Mehrere Fragen^^

1.Ist es rein Theoretisch!*Betonung* möglich mit einem Basic dialekt zb oder insbesondere Pb^^ eine Komplexe und gut ausehende 3D engine zu proggen, damit meine ich schon eine engine die an kommerzielle Spiele rankommt...net schimpfen ich wills ja nur wissen, das ichs net hinbekomme is mir auch klar..-.^

2.Wenn nein wieso nicht? weil es langsamer is als c++?
Ich versteh diesbezüglich den Unterschied net ganz...auch wenns langsamer is als c++ wieso siehts denn trozdem net so gut aus? woran liegt das *genau*!.

3.Jetzt ma aufn c++ compiler...
Womit werden Kommerzielle spiele erzeugt? gibts da nen bestimmten c++ compiler der ?xxxx€ tausende von euro kosttet oder benutzen die ganz normale c++ compiler die gar kostenlos sind und den code nur auspucken weil die programmierer so gut sind?

4.An sich nochmal veralgemeinert. Worin bestehen immer die unterschiede zwischen Verschiedennen Compilern einer Sprache?
Können die einen besser sein als die andern oder kann man dort mit allen gleichwertige Produkte machen?

5.Wo liegt jetzt genau der Unterschied zwischen Basic und C++ in der 3D Engine/Spiele entwicklung?
Also ist es möglich sowohl mit einem Basic Compiler ein Gleichwertiges Spiel wie mit einem C++ Compiler zu schaffen?

So das wars denn erstmal^^
Achja ich schrieb zwar zu meist "Basic Compiler" damit mein ich zwar auch Basic im Allgemein geh aber natürlich damit insbesondere auf PB ein...da ich aber danke das es nicht unbedingt Basic Compiler gibt die Sehr vile mehr können als PB und einfach besserer sind, Stelle ich somit "alle" basic Compiler auf ein und dieselbe Stufe...Sprich Alle Basic compiler sind gleich...is nich so aber davon gehen wa jetzt ma aus.

So vielen Dank schonmal :mrgreen:

PS:Net wegen der Rechtschreibung meckern, aber bei so langen texten hab ich da einfach keine Lust auf genaue Rechschreibung zu achten. :freak:

Verfasst: 10.09.2007 20:38
von Vermilion
Man, ich habe doch schon über ICQ versucht, dir das im groben zu erklären... :roll:

Dir fehlt der Durchblick bei den "Basics".

Verfasst: 10.09.2007 20:43
von ZeHa
1. Dazu bin ich vielleicht nicht der richtige Antworter, aber ich könnte mir vorstellen, daß das geht (vor allem ist "kommerzielle Spiele" ja auch kein wirklich aussagekräftiger Begriff - aber ich kann mir vorstellen was Du meinst).

2. Wenn's langsamer sein sollte dann ist es - sofern es ÜBERHAUPT möglich ist - dennoch möglich, sowas hinzukriegen, es ist nur so, daß es dann mit weniger FPS laufen würde.

3. Es gibt ein paar große, man kann jedoch sagen, daß der von Microsoft einer der besten ist (an alle Microsoft-Hasser: JA er ist einer der besten). Zudem ist 'ne gute IDE dabei. Alternativen sind der von Intel, Watcom, GCC, Borland etc.

4. Auf Dein Thema bezogen liegt der Unterschied wohl hauptsächlich in den Optimierungen. Manche Compiler erzeugen Maschinencode, der es wirklich in sich hat, und manche wiederum erzeugen eher umständlichen und redundanten Code.

5. Das hängt davon ab, wie gut die Compiler optimieren (siehe Punkt 4), aber auch davon, wie gut die Anbindungen spezieller Libs an die Sprachen sind. Für modernes 3D-Zeug brauchst Du OpenGL und DirectX, und wenn Du damit nicht arbeiten kannst, weil es keine Anbindung für Deine Sprache gibt, sieht's natürlich eher mager aus.

Verfasst: 10.09.2007 20:46
von ZeHa
Zusammenfassend kann man sagen, daß die eigentliche Sprache THEORETISCH komplett egal ist. Wichtig ist das, was nach dem Kompilieren dabei rauskommt. Und das hängt vom Compiler ab. In der Praxis spielt es eben aber auch 'ne große Rolle, was für Libs verfügbar sind und solche Dinge.

Re: 3D Engines...

Verfasst: 10.09.2007 20:53
von AndyX
C4rizz hat geschrieben:Moinsen
Also ich wollt mich da ma nach was erkundigen was mir schon lange net mehr ausm kopf geht...
Mehrere Fragen^^

1.Ist es rein Theoretisch!*Betonung* möglich mit einem Basic dialekt zb oder insbesondere Pb^^ eine Komplexe und gut ausehende 3D engine zu proggen, damit meine ich schon eine engine die an kommerzielle Spiele rankommt...net schimpfen ich wills ja nur wissen, das ichs net hinbekomme is mir auch klar..-.^

2.Wenn nein wieso nicht? weil es langsamer is als c++?
Ich versteh diesbezüglich den Unterschied net ganz...auch wenns langsamer is als c++ wieso siehts denn trozdem net so gut aus? woran liegt das *genau*!.

3.Jetzt ma aufn c++ compiler...
Womit werden Kommerzielle spiele erzeugt? gibts da nen bestimmten c++ compiler der ?xxxx€ tausende von euro kosttet oder benutzen die ganz normale c++ compiler die gar kostenlos sind und den code nur auspucken weil die programmierer so gut sind?

4.An sich nochmal veralgemeinert. Worin bestehen immer die unterschiede zwischen Verschiedennen Compilern einer Sprache?
Können die einen besser sein als die andern oder kann man dort mit allen gleichwertige Produkte machen?

5.Wo liegt jetzt genau der Unterschied zwischen Basic und C++ in der 3D Engine/Spiele entwicklung?
Also ist es möglich sowohl mit einem Basic Compiler ein Gleichwertiges Spiel wie mit einem C++ Compiler zu schaffen?

So das wars denn erstmal^^
Achja ich schrieb zwar zu meist "Basic Compiler" damit mein ich zwar auch Basic im Allgemein geh aber natürlich damit insbesondere auf PB ein...da ich aber danke das es nicht unbedingt Basic Compiler gibt die Sehr vile mehr können als PB und einfach besserer sind, Stelle ich somit "alle" basic Compiler auf ein und dieselbe Stufe...Sprich Alle Basic compiler sind gleich...is nich so aber davon gehen wa jetzt ma aus.

So vielen Dank schonmal :mrgreen:

PS:Net wegen der Rechtschreibung meckern, aber bei so langen texten hab ich da einfach keine Lust auf genaue Rechschreibung zu achten. :freak:
1. Kommt auf den Programmierer an, in deinem Fall würde ich sagen, nein.
2. Kommt drauf an, wie gut man programmiert.
3. Compiler "spucken" kein Code aus, die verwandeln Code in was essba... öh, ausführbares.
4. Die unterschiedlichen C++ Compiler benutzen unterschiedliche Konventionen: VC++ : void main, gcc: int main (AFAIK)
5. siehe CH

Re: 3D Engines...

Verfasst: 10.09.2007 21:33
von C4rizz
@Vermillion
Danke für diesen geistreichen Kommentar...

@ZeHa
Genau das wollte ich wissen! :allright:
Vielen Dank

@AndyX
C4rizz hat geschrieben:...ich wills ja nur wissen, das ichs net hinbekomme is mir auch klar..-.^
AndyX hat geschrieben:1. Kommt auf den Programmierer an, in deinem Fall würde ich sagen, nein.
Die Frage war ob es geht oder nicht, nicht ob ich es kann...


Dank ZeHa's Post haben sich alle Fragen geklärt.

/closed

Verfasst: 10.09.2007 22:10
von Kaeru Gaman
@1

dadurch, dass du in PB zugriff nehmen kannst aufs komplette oGL, und auf DX9,
kannst du natürlich deine eigene extrem leistungsfähige 3D-Engine proggen.

die frage ist immer, worauf du wert legst...

z.b. die "Black Sun"-Engine, die in NEXUS zum einsatz kam, ist ausgelegt auf Weltraumscenarios.
für Bot-Schlachten wie in UnrealTurnament wird sie weniger geeignet sein,
dafür braucht man was anderes.

also, die Frage nach "der idealen 3D-Engine" ist unfug, es kommt drauf an, was du machen willst.

letztendlich wirst du immer bei der grundlegenden kommunikation mit der Graka landen, sei es openGL oder DX.

@2,3,4,5
es kommt nur auf dein Können an. das verwendete Werkzeug ist zweitrangig.
jedenfalls im bereich Prozessor-naher Compilersprachen wie PB oder C++

fürs Organisatorische ist zusätzliche Anwendung von z.b. Python und XML sinnvoll (beides für ihren Anwendungsbereich),
aber bei der Basis-Engine kommts auf sowas nicht an.

Verfasst: 12.09.2007 14:20
von xperience2003
1.Ist es rein Theoretisch!*Betonung* möglich mit einem Basic dialekt zb oder insbesondere Pb^^ eine Komplexe und gut ausehende 3D engine zu proggen, damit meine ich schon eine engine die an kommerzielle Spiele rankommt...net schimpfen ich wills ja nur wissen, das ichs net hinbekomme is mir auch klar..-.^
rein praktisch ja..insbesondere mit purebasic

wie die sachen dann "aussehen" ist eher ein problem des grafikers
wenn du zb eine gl-engine codest , egal mit mit was und benutzt
cubemapping, wird das in deiner basic-engine genauso aussehen wie in
einer c, oder asm geschriebenen engine, das hat mit der sprache selber
nichts zu tun

2.Wenn nein wieso nicht? weil es langsamer is als c++?
Ich versteh diesbezüglich den Unterschied net ganz...auch wenns langsamer is als c++ wieso siehts denn trozdem net so gut aus? woran liegt das *genau*!.
wie oben, es geht genauso gut, geschwindigkeiten koennen allerdings
ein problem werden

du kannst auch mit amigabasic einen raytracer coden...das prob ist nur
das die kiste dann ne ganze nacht an einem bild rendern muss =)
3.Jetzt ma aufn c++ compiler...
Womit werden Kommerzielle spiele erzeugt? gibts da nen bestimmten c++ compiler der ?xxxx€ tausende von euro kosttet oder benutzen die ganz normale c++ compiler die gar kostenlos sind und den code nur auspucken weil die programmierer so gut sind?
wohl die meisten spiele werden mit c++ erstellt
allerdings gibt es auch einige firmen die andere sprachen benutzen
blitz3d , purebasic + diverse engines, delphi, autoringsysteme ..etc

ausserdem ist nicht alles durchgaengig eine sprache
die einen haben ne math-lib aus asm , die anderen binden flash
animation ein
..kommt ganz darauf an

gamestudios haben nicht nur einen c-compiler , sondern eher eine ganze programmier umgebung, zb auch mit solchen tools, die den code
auf nem server ablegen, so das mehrere coder an einem code bauen koennen und der immer up2date ist
5.Wo liegt jetzt genau der Unterschied zwischen Basic und C++ in der 3D Engine/Spiele entwicklung?
Also ist es möglich sowohl mit einem Basic Compiler ein Gleichwertiges Spiel wie mit einem C++ Compiler zu schaffen?
es gibt verschiedene basics (gibt auch immer noch so interpreterdinger ^^)
wenn du purebasic meinst und c, dann gibts keinen unterschied ausser
ausser eventuell bei der performance, da c compiler sehr..sehr gut optimieren

moeglich:
kommt drauf an was du coden willst, ein textadventure is in c genauso affig wie in pb ^^
eine ut engine in pure wird wohl nicht moeglich sein , es sei denn
die machst das meiste in asm ...wird bei ut auch glaube viel der fall sein
So das wars denn erstmal^^
Achja ich schrieb zwar zu meist "Basic Compiler" damit mein ich zwar auch Basic im Allgemein geh aber natürlich damit insbesondere auf PB ein...da ich aber danke das es nicht unbedingt Basic Compiler gibt die Sehr vile mehr können als PB und einfach besserer sind, Stelle ich somit "alle" basic Compiler auf ein und dieselbe Stufe...Sprich Alle Basic compiler sind gleich...is nich so aber davon gehen wa jetzt ma aus.
alle basic compiler sind ueberhaupt nicht gleich
und pb ist einer der besten ...deswegen bin ich ja hier =)

Re: 3D Engines...

Verfasst: 13.09.2007 10:31
von gekkonier
AndyX hat geschrieben:3. Compiler "spucken" kein Code aus, die verwandeln Code in was essba... öh, ausführbares.
Natürlich spucken Compiler Code aus (nämlich vom Zielsystem weiterverarbeitbaren Code -> in den meisten Fällen also ausführbaren Code).

Der Code der dann "hinten rauskommt" ist auch von Compiler zu Compiler verschieden. Es kommt drauf an in wie weit ein Compiler seine Ausgabe optimiert! Hierbei gibt es eigentlich schon Unterschiede zwischen verschiedenen Herstellern.