GFX - OpenSource C# Game Framework

  • Hallo :) Ich möchte euch gerne eines meiner aktiveren Projekte vorstellen: ein Game Framework für C#, dass die Entwicklung von 2D-Spielen ermöglicht. Es nutzt verschiedene Technologien wie OpenGL 4.5, Bullet Physics (eingebunden über BulletSharp), GLM und Assimp für das Laden von 3D-Modellen.

    Warum ein 2D-Framework, wenn Assimp für das Laden von 3D-Modellen verwendet wird? Ganz einfach: Es gibt bereits einige Funktionen für die Entwicklung von 3D-Spielen, und es wäre auch möglich, kleinere 3D-Spiele damit zu entwickeln. Allerdings fehlen noch einige Features wie z.B. Schatten und Multithreading für die Physik. Es soll aber ein vollwertiges Framework auch für 3D spiele werden. Daher habe ich mich für Bullet als Physik-Engine entschieden, nicht für Box2D oder ähnliches.

    Hier sind die wichtigsten Features des Frameworks:

    • Szenenverwaltung
    • Layering (mehrere Ebenen in einer Szene möglich)
    • Entity Component System mit sogenannten Behaviors
    • 2D-Animationen
    • Instanced Rendering mit BufferedSprites
    • 2D-Pathfinding mit dem A*-Algorithmus
    • 2D-Partikel-Emitter
    • Rendering im SRGB-Farbraum
    • 2D-Physik mit Kollidern und Triggern über Bullet Physics
    • Unterstützung für OpenGL 4.5 (ähnlich wie DirectX 11)
    • Abstraktes Render-System (eigene Renderer erstellbar)
    • Abstraktes Physik-System (eigene Physik-Handler erstellbar)
    • Laden und Rendern von 3D-Modellen
    • 3D-Animationen
    • 3D-Physik
    • und vieles mehr

    Wie im Titel bereits erwähnt, handelt es sich um ein Open-Source-Projekt. Ich würde mich freuen, den ein oder anderen dafür zu begeistern, vielleicht sogar Leute zu finden, die Interesse haben, gemeinsam an dem Projekt weiterzuarbeiten.

    Hier sind die wichtigsten Links zum Projekt:

    Hier auch ein kleines video von dem was das Framework derzeit mit den 3D Funktionen kann:

    Watch 2024-03-17 13-24-07 | Streamable


    Hey :) Da ich mit dem letzten Major Update 2D so gut wie komplett habe, geht es nun mehr darum in Richtung 3D sich zu bewegen. Obwohl es bereits möglich ist 3D Modele zu Rendern und Animationen abzuspielen, gibt es jedoch noch keine Shadowmaps und vor allem ist es für 3D viel wichtiger einen Level editor bereit zu stellen. Also habe ich damit begonnen einen ersten Editor zu erstellen

    Zugegeben es ist nicht der schönste Editor jetzt aber er funktioniert und das ist ja erstmal ein Anfang, da ich mehr wert auf die Funktionalität lege als auf das aussehen.

    Außerdem wurde mir bewusst, dass es sin macht diverse Kollisionsgruppen zu haben. Dies war mir aufgefallen als ich das Gizmo implementiert hatte. Da ich gerne einen Raycast machen möchte der nur das Gizmo Trift und einen Raycast welcher nur die Game Elemente trifft. Also habe ich die letzten tage diese Gruppen implementiert:

    Einmal editiert, zuletzt von Andy (15. August 2024 um 15:49) aus folgendem Grund: Ein Beitrag von Andy mit diesem Beitrag zusammengefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!