ich bin sicher, dass die folgenden Fragen alle schon mal gestellt und bestimmt auch ausführlich beantwortet wurden. Aber ich bin das Recherchieren im Vorfeld so leid und möchte ganz einfach so schnell wie möglich anfangen. Deshalb die gebündelte Anfrage:
Vor allem benötige ich eine Mathe-Library in Pascal (egal, ob OOP oder als simple Funktionssammlung). Gebraucht wird das Übliche im Rahmen von 3D-Programmen: Vektoren, Matrizen und die wichtigsten Quaternion-Funktionen.
Dann die Physik-Engine. Im anderen Thread wurde mir Newton empfohlen, und ich werde es auch testen. Wird eigentlich ODE noch weiterentwickelt? Und vor allem: Gibt es eine Portierung von Bullet nach Pascal? Unter C++ hatte ich Bullet mal ausprobiert, und ich war von der Leistungsfähigkeit beeindruckt. Andererseits ist Bullet wegen der strikten OOP-Ausrichtung sehr sperrig, was die Einbindung generell und - wie ich vermute - die Verwendung unter Pascal betrifft.
Dann das Laden und Speichern von Konfigurationen und textbasierten Ressourcen. Bisher (unter C) hatte ich eine eigene Lösung favorisiert (so eine Art modifizierte Stringliste), aber ich würde zukünftig lieber auf XML zürückgreifen. Ich möchte aber nicht Tage oder Wochen damit verbringen, XML-Zeilen auseinanderzupflücken oder Daten ins XML-Format zu pressen.
Ich denke, zunächst sind das wohl die wichtigsten Dinge, die ich geklärt haben muss. Wenn es dafür praktikable Lösungen gibt, können die Ärmel hochgekrempelt werden ...
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2621 Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich würde mir überlegen, ob es überhaupt xml sein soll. Zum einem ist das parsen sehr viel komplizierter und damit auch das portieren und Bugfreiheit unwahrscheinlicher und zum anderem tendiert man zu schnell zu komplexen Strukturen zu kommen, die wiederrum viel eigener Code bedeuten. Einfachere Formate wie ini, csv oder json sind da eher zu empfehlen. Auch wenn Performance bei textformaten kein Kritischer Punkt ist(sonnst hätte man ja binary gewählt) gibt es sehr starkte Geschwindigkeitsunterschiede. LibXML gibt es für FreePascal, das hab ich damals ne Zeit lang verwendet und hat ausgereicht. https://bitbucket.org/reiniero/fpctwit/src Da schein ein json lib zu sein, die sogar Objekte serialisiert, was mit RTTI und Object Pascal recht einfach ist.
ODE wird nicht mehr gepflegt, die Entwickler sind zu Bullet gegangen, was sich als quasi Industriestandard entwickelt hat. Angesichts, dass Programmierer von Intel, AMD, Sony, Nvidia, VIA(wenn auch nicht immer offiziell) und einige andere Firmen dran entwickeln und es in allen Bereichen einzug hält(Kino Filme, Simulationen, MMOG,...) würde ich auf langes Sicht zu Bullet gehen. Newton ist recht gut aber der Entwickler ist recht komisch und blockt sämtliche weiterentwicklung von großen Spielefirmen und daher sind diese dann zu Bullet gegangen. Was ich damit sagen will, wissen über Bullet kann dir im Leben weiter helfen und Pluspunkte in der Vita bringen aber Spiele kann man mit beiden machen(sollte die Verfügbarkeit eines pascal Wrappers die Hürde sein).
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
@end Ja, die ist wirklich etwas überdimensioniert. Ich weiß auch nicht, ob Aktualität hierbei so wichtig ist, denn Vektoren u. Co. haben ja irgendwie etwas Zeitloses an sich. Aber indirekt ist Dein Tipp wichtig: Wenn man in den Quelltexten von - sagen wir mal - mittelgroßen Delphi-Projekten herumstöbert, findet man einiges. Ich halte es für wichtig, sich von Anfang an für eine Mathelib zu entscheiden, weil man sich damit auch auf Typen festlegt, die das gesamte Programm durchziehen. Oder man legt die eigenen Typdeklarationen drüber, mal sehen.
Was XML oder andere Formate angeht: Ich selber bin kein Freund von XML, weil da wenig Daten in einem Riesengerüst versteckt werden. Mir wurde halt von mehreren Personen empfohlen, XML zu benutzen, um einfach professioneller auftreten zu können. Tatsächlich bringt FPC eine Unit mit, die ich mir mal angesehen habe. Der Programmieraufwand scheint dennoch erheblich zu sein. Native XML werde ich mir noch ansehen. Wenn das alles nicht überzeugt, bleibe ich meiner eigenen Lösung, die übersichtlich und vor allem sehr robust und fehlerresistent (z.T. selbstheilend) ist.
Ja, und dann die Physik-Engine. Hier muss ich wirklich einiges verlangen, vor allem eine schnelle Kollisionsbehandlung. Bullet wäre demnach tatsächlich die beste Lösung, aber ich trau mir nicht zu, diese C++-Library unter Pascal zu verwenden. Hat das schon mal jemand geschafft?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.