|
|
Re: @JCL: Die Zukunft von 3dgs: 2.Versuch
[Re: FBL]
#125833
04/23/07 17:04
04/23/07 17:04
|
Joined: Jul 2001
Posts: 6,904
HeelX
Senior Expert
|
Senior Expert
Joined: Jul 2001
Posts: 6,904
|
Hier eine kurze Information zu Lua. Ich habe sie nicht selbst geschrieben (zu faul), aber selbst gefunden. Ein LUA binding ist über eine DLL durchaus machbar! In Kombination mit LiteC durchaus mächtig - aber nicht trivial. "(...)Lua hat eine sehr effiziente Implementierung. Unabhängige Benchmarks haben gezeigt, dass Lua eine der schnellsten Sprachen in der Kategorie der (interpretierten) Scriptsprachen ist.(...)
Lua hat einen vernünftigen Abstand zur Hardware, dynamische Datenstrukturen, keine Redundanz, einfache Möglichkeiten zum Testen und Fehlersuchen (Debugging). Dazu bietet es eine sichere Umgebung, automatische Speicherverwaltung und gute Fähigkeiten beim Umgang mit Strings und weiteren Arten von Daten, deren Größe zur Laufzeit variieren kann.
Zum großen Teil verdankt Lua seine Stärke auch seinen Bibliotheken. Das ist kein Zufall; schließlich ist Erweiterbarkeit eines der wesentlichen Konzepte der Sprache. Die Erweiterbarkeit basiert auf vielen Eigenschaften: Dynamische Typisierung ermöglicht einen hohen Grad an Polymorphie. Automatische Speicherverwaltung vereinfacht Schnittstellen, weil niemand entscheiden muss, wer für die Allokierung und Deallokierung von Speicher oder die Behandlung eines Überlaufs verantwortlich ist. Funktionen höheren Grades und anonyme Funktionen ermöglichen einen hohen Grad an Parametrisierung, was die Funktionen vielseitiger macht.
Lua ist nicht nur eine erweiterbare Sprache, sondern darüber hinaus auch eine Klebesprache (Glue Language). Es unterstützt einen komponentenorientierten Ansatz bei der Softwareentwicklung, bei dem eine Anwendung durch die Kombination existierender High-Level-Komponenten entsteht. Diese Komponenten werden in einer kompilierten, statisch typisierten Sprache wie C oder C++ geschrieben. Lua ist der Klebstoff, den wir verwenden, um diese Komponenten zusammenzustellen und miteinander zu verbinden. Normalerweise stellen die Komponenten (bzw. Objekte) konkretere Low-Level-Konzepte (wie Widgets und Datenstrukturen) dar, die sich während der Programmentwicklung kaum noch verändern und die im fertigen Programm den Großteil der CPU-Zeit verbrauchen. Lua bestimmt die äußere Form der Anwendung, die sich vermutlich über den Lebenszyklus des Produkts hinweg stark verändern wird. Aber im Gegensatz zu anderen Klebetechnologien ist Lua gleichzeitig selbst eine vollständige Sprache. Darum lässt es sich nicht nur benutzen, um Komponenten zu verbinden, sondern auch um sie anzupassen und umzugestalten und um völlig neue Komponenten zu erstellen.
Die Erweiterbarkeit von Lua ist so beachtlich, dass es von vielen nicht als Sprache betrachtet wird, sondern als Baukasten zur Erstellung domänenspezifischer Sprachen. Lua wurde von Grund auf so entworfen, dass die Sprache sowohl durch Lua-Code als auch externen C-Code erweitert werden kann. Als Beweis implementiert Lua das meiste der eigenen Grundfunktionalität mit Hilfe von externen Bibliotheken. Es ist sehr leicht, eine Schnittstelle zwischen Lua und C/C++ zu benutzen, und Lua wurde auch mit mehreren anderen Sprachen integriert, darunter Fortran, Java, Smalltalk, Ada, C# und sogar anderen Scriptsprachen wie Perl und Ruby.(...)"
source: http://www.edv-buchversand.de/suse/productinfo.php?cnt=productinfo&id=op-22&type=0&lng=
|
|
|
Re: @JCL: Die Zukunft von 3dgs: 2.Versuch
[Re: HeelX]
#125834
04/23/07 18:05
04/23/07 18:05
|
Joined: Jun 2003
Posts: 1,017 Germany
Thomas_Nitschke
Senior Developer
|
Senior Developer
Joined: Jun 2003
Posts: 1,017
Germany
|
Da Wicht hier von einem Zitat ausgegangen ist, das zu allem Übel auch noch von mir stammt, mische ich mich auch mal ein. Quote:
Nach Ihren dramatischen Einleitungen hatte ich harte Fragen erwartet, aber was schlichtes ist mir auch recht:
Das Lightmanagement funktioniert natuerlich auch mit Modellen und mit Levels, die aus solchen bestehen.
Und LUA ist eine interpretierte Sprache - damit haetten Sie in einer Echtzeit-Engine keine Freude.
JCL: Ich habe ja Sinn für einen gewissen Sarkasmus und ich finde daran sollten Sie auch nichts ändern. Trotzdem muss ich sagen, dass Ihre Antworten auf Fragen von *Kunden* mittlerweile ein wenig, nunja, "verhöhnend" wirken können. Sie sollten davon ausgehen, dass sich User wie Wicht vorher darüber schlau gemacht haben, was LUA genau ist und welche Vor- und Nachteile es hat. Es ist nicht sehr förderlich, wenn Sie sich als der Weisheit letzter Schluss präsentieren und Antworten geben, die suggerieren, dass LUA überhaupt nur geschaffen wurde um von ihnen als nicht einsatzfähig befunden zu werden. Wenn Sie konkrete Beispiele suchen, nehmen Sie zum Beispiel das -relativ aktuelle- Spiel "Starwars Battlefront 2". Das Spiel verwendet LUA für alle möglichen Ingame-Scripts und bietet eine fantastische Performance (eine nach heutigen Maßstäben recht gute Grafik, die auf einem Uraltsystem mit 866 Mhz und 256 MB RAM bei fast ganz hohen Details läuft). Man sollte ja nicht den Fehler machen, mit dem Relativieren aufzuhören, und so kann man auch hier sagen: Natürlich sind viele andere Faktoren für diese beeindruckende Performance mitverantwortlich. Trotzdem sollte Ihnen das Beispiel zeigen, dass LUA keinswegs so langsam ist wie Sie uns weismachen wollen.
Ganz allgemein ist es auffallend, dass Sie immer öfter in einem Stil antworten, der die Sprache von "das werden Sie dann schon sehen" spricht. Das ist ja gar nicht böse gemeint, wenn ich das anprangere, aber ich würde mir das für die Zukunft gut überlegen. Entweder können Sie mir -und vielen anderen- für A7 einen "Fahrplan" bieten, von dessen Einhaltung man als Kunde auch ausgehen darf und der A7 zu einem wertvollen Stück Software macht (siehe unzählige andere Thread speziell zum Thema Lighting), oder Sie verlieren einen Kunden. So einfach ist das.
Last edited by The Matrix; 04/23/07 18:06.
Formerly known as The Matrix - ICQ 170408644
I've been here for much longer than most people think. So where's my "Expert" status?
|
|
|
Re: @JCL: Die Zukunft von 3dgs: 2.Versuch
[Re: Thomas_Nitschke]
#125835
04/24/07 10:16
04/24/07 10:16
|
Joined: Jul 2000
Posts: 27,935 Frankfurt
jcl

Chief Engineer
|

Chief Engineer
Joined: Jul 2000
Posts: 27,935
Frankfurt
|
Ich moechte hierauf kurz eingehen, will aber ansonsten ungern ueber Sprach- und Antwortstile, Unterstellungen oder Psychologie diskutieren. Es gibt andere Foren, auf denen Sie solche Fragen behandeln koennen.
Wenn Sie hier etwas wissen moechten, stellen Sie einfach eine konkrete Frage. Manchmal kann oder mag ich diese Frage nicht beantworten. Etwa wenn es sich um Dinge handelt, die noch gar nicht feststehen oder die gar nichts mit konkreten Problemloesungen zu tun haben. Ich bitte daher um Verstaendnis dafuer, das ich nicht auf alles, was Ihnen am Herzen liegt, ausfuehrlich eingehen kann. Auf konkrete und sinnvolle Fragen bekommen Sie aber normalerweise ebensolche Antworten.
Ich verstehe aber auch, das es fuer manche User sehr wichtig ist, die Welt auf dem Laufenden darueber zu halten, was sie alles ueber Engines wissen und dass eine Engine, der das Feature X fehlt, fuer sie unzumutbar ist. Auch in diesem Zusammenhang bin ich gerne bereit, sinnvolle Fragen zu beantworten. Da ein solcher Post aber eher ein Ausdruck der Persoenlichkeitsentwicklung ist und keine technische Frage, erntet er zuweilen keine, zuweilen gar eine sarkastische Antwort. Ich bin auch nur ein Mensch und habe nicht immer die Zeit, ellenlange Threads teils persoenlicher Natur durchzulesen oder Antworten diplomatisch auszutuefteln. Ich hoffe, dass Sie damit fertig werden.
- Zu LUA: Gamestudio ist ein Entwicklungssystem, mit dem Sie komplette Anwendungen programmieren und compilieren koennen sollen - sogar unabhaengig von der Engine. Das stellt natuerlich entsprechende Anforderungen an die Sprache und schliesst Skript-Interpreter wie LUA aus vielen Gruenden aus, nicht nur wegen der Geschwindigkeit. Was wollen Sie z.B. mit DirectX-Samples in LUA anfangen? Manche Anwendungen, wie sie User bereits jetzt in den paar Wochen seit der Einfuehrung in lite-C programmiert haben, waeren in LUA nur sehr umstaendlich oder gar nicht machbar.
|
|
|
Re: @JCL: Die Zukunft von 3dgs: 2.Versuch
[Re: Wicht]
#125836
04/24/07 14:11
04/24/07 14:11
|
Joined: Sep 2002
Posts: 8,177 Netherlands
PHeMoX
Senior Expert
|
Senior Expert
Joined: Sep 2002
Posts: 8,177
Netherlands
|
Quote:
Crytek verwendet ja LUA. Die werden mir aber mit Sicherheit auf diese Frage nicht antworten. Also lasse ich es lieber.
Dennoch ist anzunehmen, dass sich Crytek bei der Entscheidung, LUA einzusetzen, doch etwas dabei gedacht hat.
Finden Sie nicht auch?
Nö, eigentlich nicht, denn Crytek benützt LUA nur für ihren AI, und das ist wohl zum grössten teil hardkodiert in c++ ... LUA ist wirklich nur da für die level designers und die MOD-community...
http://www.crytek.com/technology/index.php?sx=eng2
Mfg,
|
|
|
Re: @JCL: Die Zukunft von 3dgs: 2.Versuch
[Re: PHeMoX]
#125837
04/24/07 14:48
04/24/07 14:48
|
Joined: Jun 2003
Posts: 1,017 Germany
Thomas_Nitschke
Senior Developer
|
Senior Developer
Joined: Jun 2003
Posts: 1,017
Germany
|
JCL: Danke für die ausführliche Antwort. Natürlich habe ich Verständnis, und ich bin sicher, dass es viele anderen genauso gehen wird. Es verlangt auch keiner, dass Sie sich stundenlangg durch irgendwelche Threads "durchhangeln" und zwischen den Zeilen erst einmal die Frage finden müssen. Es wäre lediglich wünschenswert, wenn Sie öfters eine halbe Minute mehr für 3-4 Zeilen mehr investieren würden, damit solche Antworten wie Ihre letzte zustande kommen. Wir hier auf dem Forum sind auch nur Menschen, und deshalb geht's uns ja ähnlich. Ist die Frage nicht konkret, haken Sie nach wie gehabt. Ist sie es, antworten Sie einfach ein ganz kleines bisschen ausführlicher als bisher, und viele werden schon voll zufrieden sein.
Formerly known as The Matrix - ICQ 170408644
I've been here for much longer than most people think. So where's my "Expert" status?
|
|
|
|