Downloads 14.05.2018, 00:00 Uhr

Spiele entwickeln und Daten einlesen

Mit diesen Bibliotheken können Sie Spiele programmieren und der BinaryMapper hilft bei der Deserialisierung.
Soll ein Dokument auf der Festplatte gespeichert werden, so muss es serialisiert werden. Aus den Strukturen, die im Speicher gehalten werden, wird also eine Abfolge von Daten erzeugt.
Das ist von der Programmierung her meistens wenig aufwendig. Denn das Programm weiß sehr gut um die Datenformate, die es vorhält, und kann sie dementsprechend einfach auf Platte bannen.
Aber das dicke Ende kommt noch. Sollen die Daten nämlich von der Platte wieder in den Speicher eingelesen werden, sodass das Programm mit ihnen weiterarbeiten kann, wird es knifflig.
Beim Deserialisieren gilt es die Datei zu parsen und die einzelnen Inhalte in die jeweiligen Strukturen zu überführen. Glücklich der, der eine Bibliothek zur Verfügung hat, die das für ihn vollführt.
BinaryMapper ist eine solche Bibliothek. Sie deserialisiert binäre Daten. So holt folgender Code Daten aus der binären Datei dnp.bin in die Struktur DNPFILE_HEADER_STRUCT:
public class DNPFILE_HEADER_STRUCT
{
  public uint Signature;
  public uint Version;
  public uint SomeOffset;
  public uint NumberOfEntries;
  [ArraySize(nameof(NumberOfEntries))]
  public DNPFILE_STREAM_STRUCT[] MyStructures;
}

public class DNPFILE_STREAM_STRUCT
{
  public uint Flags;
}

var stream = File.OpenRead("dnp.bin");
var streamBinaryMapper = new StreamBinaryMapper();
var header = streamBinaryMapper
  .ReadObject< DNPFILE_HEADER_STRUCT >(stream);
BinaryMapper ist für .NET Core 2.0 geschrieben und ist deshalb auch plattformübergreifend einsetzbar.
Schwerpunkt
GameFramework
Game Framework für Unity ist ein freies, community-unterstütztes Framework und bietet vollen Quellcode. Ziel ist es, die Features zu bieten, die die meisten Spiele brauchen, in flexibler Weise und mit einem Minimum an Codierung, so dass Sie sich darauf konzentrieren können, Ihr Spiel einzigartig zu machen, anstatt Menüs oder andere Grundeinstellungen erstellen zu müssen.
https://github.com/FlipWebApps/GameFramework
dotGAME
.GAME ist eine Show auf Channel 9, die sich der Spieleentwicklung widmet mit primärem Fokus auf die .NET-Technologie. Jede Episode bietet Tutorials, hilfreiche Tips/Tricks oder ein Interview mit einem Industrieexperten.
https://github.com/staceyhaffner/dotGAME
Forge
Forge ist eine Sammlung von Libraries, die entwickelt wurden, um das Schreiben eines Spieles einfacher zu machen. Auf gewisse Weise ist es eine Game Engine. Die Kernlibrary in Forge ist Forge.Entities, die eine neue Entity-Component-System (ECS)-Implementierung hat.
https://github.com/jacobdufault/forge
C64Studio
C64 Studio ist eine .NET-basierte IDE. Das Programm unterstützt projekt-basierte C64-Assembly und/oder Basic V2 und ist ausgerichtet auf Spieleentwicklung. Der interne Assembler verwendet die ACME-Syntax.
https://github.com/GeorgRottensteiner/C64Studio
behaviac
behaviac ist ein Framework der Spiele-AI-Entwicklung, und es kann auch als schnelles Designtool für Spiele-Prototypen genutzt werden.
https://github.com/Tencent/behaviac
Entity-Engine
Ein C# Entity Component System Framework zur Verwendung in der Spieleentwicklung. Es ist noch in der Entwicklung. Ein Entity Component System (ECS) ist ein architektonisches Designmuster, das dynamisches Erstellen von Spielobjekten durch die Verwendung von Komponenten erlaubt.
https://github.com/davidoff28/Entity-Engine
GameInc
Ein Spieleentwicklungs-Studio-Management-Game erstellt mit Unity und C#6, inspiriert durch Spiele wie Game Dev Story und Game Dev Tycoon.
https://github.com/pierreyoda/GameInc
Ultraviolet
Ultraviolet ist ein plattformübergreifendes .NET-Spieleentwicklungsframework geschrieben in C# und veröffentlicht unter der MIT-Lizenz. Es ist stark inspiriert durch Microsoft's XNA Framework. Anders als MonoGame und ähnliche Projekte, soll Ultraviolet kein drop-in Ersatz für XNA sein. Die aktuelle Implementierung ist geschrieben auf SDL2 und OpenGL, aber sein modulares Design macht ein Re-Implementieren unter Verwendung anderer Technologien (relativ) einfach, falls es in der Zukunft einmal nötig sein sollte.
https://github.com/tlgkccampbell/ultraviolet
3D-Parkour-Game
Dieses 3D-Parkour-Spiel wurde entwickelt über die Unity-Engine. Der Entwicklungsprozess enthält die Konstruktion der Spielszenen, der Mauseingabemechanismen sowie der Aktionskontrolle der Charaktere, Interaktionen zwischen den Charakteren und den Requisiten, sowie zufällige Generierung der Szenen.
https://github.com/landiveo/3D-Parkour-Game
Reef Wrecker
Unter RocketX sollen Spiele entstehen. Das erste ist Reef Wrecker.
https://github.com/SohamPatel/RocketX
Gorgon
Eine modulare Sammlung von Libraries, die nützlich sind für grafische und/oder Video-Spieleentwicklung. Gorgon verwendet Direct 3D (via SharpDX) und bietet damit High-Performance Grafiken für Ihre Anwendungen.
https://github.com/Tape-Worm/Gorgon
Games-Development-Process-coursework
Facharbeit zum Spielentwicklungsprozess. Es sollte ein Rahmen entstehen, der es möglich macht, verschiedene Spiele als Marketingwerkzeug zu entwickeln.
https://github.com/Nahar360/Games-Development-Process-coursework
UnityGameDev
Zum Üben der C#-Spieleentwicklung mit der Unity-Engine
https://github.com/dcsee/UnityGameDev
3D_Rad_Space
3DRADSpace ist eine freie, anwenderfreundliche, einfache, schnelle Anwendungsentwicklungs-Game-Engine. Dieses Projekt ist eine Game Engine erstellt in Visual C# und Monogame.
https://github.com/NicusorN5/3D_Rad_Space
GamesWebApp
Diese einfache Applikation ist verbunden mit MySQL-Server. Die Datenbank besteht aus drei Tabellen: Games, Developers sowie die GameDev (m:n)-Verbindung zwischen den Spielen und den Entwicklern. CRUD-Operation über die Tabellen.
https://github.com/PlamenPenchev/GamesWebApp
YourNetworkTools
Dieses Plugin hilft beim einfachen Erstellen von Multiplayer-Spielen sowie Apps, die dank UNET lokal und dank Sockets global arbeiten. Verwenden Sie denselben Code und kümmern Sie sich nicht um die Verbindung.
https://github.com/EstebanGameDevelopment/YourNetworkTools
Aktuelle Downloads
Cosmos
Cosmos ist ein Construction Kit für Betriebssysteme. Erstellen Sie Ihr eigenes Betriebssystem unter Verwendung verwalteter Sprachen wie C#, VB.NET, und mehr.
https://github.com/CosmosOS/Cosmos
ImageMagick
ImageMagick ist eine leistungsstarke Bildbearbeitungslibrary und unterstützt über 100 Dateiformate - Subformate nicht eingeschlossen. Mit Magick.NET können Sie ImageMagick in Ihrer C#/VB.NET/.NET-Core-Applikation verwenden ohne ImageMagick auf Ihrem Server oder Desktop installieren zu müssen.
https://github.com/dlemstra/Magick.NET
Blazor
Blazor ist ein .NET Web Framework und läuft auf jedem Browser. Sie schreiben Blazor Apps unter Verwendung von C#/Razor und HTML. Blazor verwendet nur die neuesten Web-Standards.
https://github.com/aspnet/Blazor
RepoDb
Eine dynamische ORM .NET Library, die zum Erstellen von entity-basierten Repository-Klassen während des Zugriffs auf Daten von der Datenbank verwendet wird.
https://github.com/mikependon/RepoDb
Deipax
Eine schnelle, anpassbare Klon-Library. Zugriff auf jede relationale Datenbank, die eine ADO.NET-Implementierung bietet - auf LINQ-ähnliche Weise unter Verwendung von Erweiterungsmethoden.
https://github.com/deipax/Deipax
BinaryMapper
Dies ist eine einfache plattformübergreifende Library zum Parsen binärer Dateien in ihre zugehörigen Datenstrukturen in C#.
https://github.com/alanedwardes/BinaryMapper
VoidMain
VoidMain ist ein Framework zum Erstellen von Befehlszeilenanwendungen. Inspiriert von ASP.NET Core. Fast jeder Teil des Frameworks kann erweitert oder ersetzt werden.
https://github.com/Maxim-Kornilov/VoidMain
ASPNetCoreUnitTesting
Ausführen von Unit Tests auf Diensten, APIs auf N-Layer Architekture unter Verwendung von ASP.NET Core, XUnit, Moq, etc.
https://github.com/eduflornet/ASPNetCoreUnitTesting
FluentMigrator
Fluent Migrator ist ein Migrationsframework für .NET ähnlich wie Ruby on Rails Migrations. Migrations bieten eine strukturierte Möglichkeit, Ihr Datenbankschema zu ändern und ist eine Alternative zum Erstellen einer Vielzahl von SQL-Skripts, die von jedem beteiligten Entwickler manuell ausgeführt werden müssen. Veränderungen des Datenbankschemas werden beschrieben in Klassesn geschrieben in C#.
https://github.com/fluentmigrator/fluentmigrator
XyLang
XyLang ist eine einfachere und freundlichere .NET-Programmiersprache.
https://github.com/kulics/xylang
ULIS.NET
.NET-Port der Universal Language Intelligence Service JavaScript Library. Sie implementiert fast die gleiche Sammlung an Funktionalitäten, aber ist keine hundertprozentige Kopie des Originals. Der Hauptunterschied ist, dass sie eine UlisDialog-Klasse enthält, die Sie in Ihren eigenen C#-Bots wiederverwenden können.
https://github.com/peterbozso/ULIS.NET
Juhta.NET
Juhta.NET ist ein open-source App-Framework erstellt auf .NET Core. Die grundlegende Idee von Juhta.NET ist es, eine modulare Annäherung für die Anwendungsentwicklung zu bieten. Sie wählen nur die Module, die für Ihre Anwendung passen, ohne jegliche unnützige Dependencies für das gesamte Framework.
https://github.com/jlahteen/Juhta.NET
ASP.NET Core MVC
ASP.NET Core MVC bietet eine leistungsstarke, pattern-basierte Möglichkeit zum Erstellen dynamischer Webseiten und ermöglicht eine klare Trennung der Inhalte sowie volle Kontrolle über Markup für ansprechende, agile Entwicklung.
https://github.com/aspnet/Mvc
Networking Tools
Einfache Tools zum Experimentieren mit Netzwerkkommunikation geschrieben in erster Linie für Windows in .NET.
https://github.com/tewarid/net-tools
PetaJson
Eine einfache, leichte, schnelle, anwenderfreundliche, flexible sowie portierbare JSON Library für .NET
https://github.com/toptensoftware/PetaJson
AutoMapper
AutoMapper ist eine einfache kleine Library, die ein trügerisch einfach aussehendes Problem eleminiert: ein Objekt auf ein anderes abzubilden.
https://github.com/AutoMapper/AutoMapper
VisualPlus Framework
Mit Hilfe von VisualPlus Framework (VPF), VisualPlus UI für WinForms können Sie schnell professionell .NET-Anwendungen erstellen mit anpassbaren Komponenten sowie Controls.
https://github.com/DarkByte7/VisualPlus
liteweb.info
lw-code ist ein Framework basierend auf ASP.NET-Formularen, aber stark modifiziert, um Webseiten mit folgendem Inhalt zu erstellen: Pages, News, Photo Albums, Kalender, Members, Einkaufswagen und viele weiter Features.
https://github.com/Alanove/liteweb.info
ASP.NET Core Identity
ASP.NET Core Identity ist das Mitgliedschaftssystem zum Erstellen von ASP.NET Core Webanwendungen, einschließlich Mitgliedschaft, Login, sowie Userdaten. ASP.NET Core Identity ermöglicht das Hinzufügen von Login-Features zu Ihren Anwendungen und vereinfacht das Anpassen der Daten über den eingeloggten User.
https://github.com/aspnet/Identity
Dokumente
Artikel als PDF herunterladen


Das könnte Sie auch interessieren