Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

21.06.2014, 01:26

Yggdrasil


(Link)


Yggdrasil ist eine SFML erweiternde Bibliothek, die auf jedem System laufen sollte. Bis auf die SFML gibt es keine weiteren Abhängigkeiten.
Die Bibliothek benutzt CMake und sollte von jedem Compiler mit C++11 Support kompiliert werden. Der Code selbst steht unter der GPL, die Lizenz selbst ist in der Datei COPYING einsehbar.
Es gibt eine vollständige Dokumentation, die dahingehend weiter ausgebaut werden soll, dass konkrete Anwendungsbeispiele und typische Fallbeispiele einsehbar sind.
Yggdrasil selbst besteht aus mehreren 'Modulen':
  1. Animation - Nützliche Klassen um Dinge zu animieren
  2. GUI - (sehr) Schlanke GUI
  3. Graphics - Funktionen für den vereinfachten Umgang. z.B. setzen des Alphakanals eines beliebigen Objekts
  4. Math - Von Polarvektor bis Trigonometrie
  5. Resources - Einfach zu benutzendes Resource-Management-System. Hierzu bitte Thor einsehen.
  6. System - Mehrere Funktionalitäten, wie zum Beispiel ein einfacher StateStack oder ein simpler Timer
Das Repository ist erreichbar unter der folgenden URL: https://bitbucket.org/DasNaCl/yggdrasil/
Die Dokumentation ist erreichbar unter der folgenden URL: http://matthiskruse.taista.net/ygg/index.html

Abschließende Worte:
Im Fokus steht die Verbesserung meines Stils und vor allem das Gewinnen von weiterem Wissen.
Ich hoffe auf Kritiken um Yggdrasil zu verbessern und damit wahrscheinlich auch meine Art zu programmieren.
Auch Wünsche lese ich gerne.

Mit freundlichen Grüßen,
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (11.07.2014, 16:53)


2

21.06.2014, 12:43

Hi,

Ohne mir das jetzt genauer angesehen zu haben? Was nutzt du für die GUI? Oder ist die selbst entwickelt?

Für mich besonders ineressant: Planst du ein C# Binding?

So Far...
Laguna
Portfolio runvs.io | Gamejolt | itch.io | PEWN | Twitter

PuppetMaster

Frischling

Beiträge: 20

Beruf: Embedded-System Entwickler (C++)

  • Private Nachricht senden

3

21.06.2014, 12:51

Hi,
die Library sieht doch schon mal gut aus.
Der Code ist sauber geschrieben, leicht lesbar und ausführlich dokumentiert.

Wenn ich SFML benutzen würde, könnte ich mir vorstellen diese Lib zu verwenden.

Ein paar Fragen stellen sich mir aber dann doch:
Mit der ABI Stabilität scheinen heutzutage viele Projekte auf Kriegsfuß zu stehen.
Die Verwendung von PIMPL / D'Pointer ist jedoch so einfach, dass ich mich jedes Mal frage ob Programmierer sie unabsichtlich nicht benutzen.
Planst du für die Library ein stabiles ABI?

Werden STL Strings per implicit sharing mit copy on write übergeben (so wie bei Qt QString), oder wurde bei String Parametern aus anderen Gründen die const reference weggelassen?



MfG
PuppetMaster

Zitat von »"Billy Talent - Fallen Leaves"«

Run away before you drown, or the streets will beat you down.
Fallen leaves, fallen leaves, fallen leaves on the ground.

4

21.06.2014, 14:07

Danke für eure Rückmeldungen! :)

Die GUI ist selbst geschrieben und nach momentanem Zeitpunkt eher uninteressant, doch sie soll natürlich weiter ausgebaut werden.
Die GUI insgesamt soll nicht unbedingt so groß und mächtig werden wie Qt. Es soll lediglich bei primitiven, für Spiele im Menü etc. benutzte Elemente bleiben, sodass ich es nicht für nötig erachte derartiges einzubauen. Groß selbst zur Anwendung ist jenes bei mir noch nie gekommen, zur Planung kann ich also eher wenig sagen. Ich lasse es mir im Laufe der Entwicklung nochmal durch de Kopf gehen, aber eben angesichts dessen, dass es noch nie wirklich zur Anwendung kam, eher nicht.
Einen Grund für non-const-reference bei den STL Strings gab es nicht. Danke für die Rückmeldung!
Ein C# Binding ist nicht in Planung, nicht zuletzt, da ich mich mit solchen Dingen noch nicht ausreichend beschäftigt habe.

MfG
Check

5

11.07.2014, 16:55

Nun ist die Dokumentation auch online verfügbar! Der erste Beitrag wurde dahingehend hinreichend aktualisiert. :)
An Yggdrasil selbst gab es weiterhin kleine Änderungen. Auf der ToDo-Liste steht noch so manches, besonders im Bereich der GUI, der bislang aber nur bei Bedarf ausgebaut wird.
Doch steht durchaus auch ein Partikelsystem in Planung. Mal sehen. ^^

MfG
Check

Werbeanzeige