Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Allround Game Editor
Shaarigan
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

Allround Game Editor

beantworten | zitieren | melden

Hallo lieber Leser

ich möchte dir hier heute mein aktuell laufendes Projekt eines allround Game Editors vorstellen dessen Konzept es Hobbyentwicklern, kleineren Teams aber auch Studios ermöglichen soll schnell und einfach die Werkzeuge zu bekommen, die diese für die Entwicklung von Spielen/Mods benötigen ohne größeren Kostenfaktor. Dafür benötige ich etwas unterstützung in Form mindestens eines weiteren C' Entwicklers aber dazu später mehr.

Zunächst zu mir

Ich bin seid mehreren Jahren professionell in der Spielebranche tätig und habe bereits in über einem Dutzend Projekte, Kundenprojekte, eigene Entwicklungen und einem AAA Titel, meine Finger gehabt. Als leidenschaftlicher Gamer und Content Creator mit mittlerweile über 19 Jahren und mehreren zehntausenden Stunden an investierter Zeit habe natürlich einen gwissen Blick sowohl aus Sicht des Content Creators (zu neudeutsch Modder) aber auch Entwicklers und daher eine genaue Vorstellung wie das Werkzeug aussehen soll mit dem ich meiner Leidenschaft nachgehen möchte.

Die Idee hinter dem Projekt

Das Projekt mit dem title WorkBench© soll wie der Name bereits sagt kein Editor im herkömmlichen Sinne sein sondern ein Arbeitsumgebung mit den Werkzeugen die es benötigt um heutzutage gute Spiele zu produzieren. Das System beruht dabei vor allem auf der Erweiterbarkeit/Anpassbarkeit der Werkzeuge wie beispielsweise ein Level-Editor der für 2D Spiele ganz andere Anforderungen hat als für 3D Spiele, zudem nicht jeder Arbeitsbereich in der Spieleentwicklung die selben Werkzeuge benötigt und so auch der Arbeitsbereich individuell angepasst werden können sollte.

Zu den angestrebten Basiswerkzeugen sollen unter anderem gehören
  • Projektverwaltung in der die Arbeitsumgebung je nach Projekt angepasst werden kann
  • Download Center für Erweiterungen
  • Asset Verwaltung
  • Shader Editor (Node-based und Code)
  • Material Editor (Node-based)
  • Game-Design Werkzeug (z.b. für Quests, Storylines, Node-based)
  • Engine Werkzeuge (z.b. Render-Pipeline, Scene graph, Node-based)
  • Scripting Werkzeuge (z.b. Gameplay Scripts, Node-based und Code)
  • Lokalisierungswerkzeug

Technische Umsetzung

Als technische Basis für das Projekt ist C# (aktuelle Version) und Winforms vorgesehen. Winforms aus dem Grund, da auch geplant ist die Umgebung auf Mono laufen zu lassen und nach meinen aktuellen Informationen Mono kein WPF unterstützt. Zielplattformen sind vorerst Windows und Linux, evtl. kann man je nach Stand der Entwicklung eine Android Version anbieten für Unterwegs.

Meine bisherigen Bemühungen bestanden vor allem darin Controls zu bauen z.b. für die Editierung von Node Graphen und um dem Ganzen noch ein kleines Wiedererkennungsmerkmal zu geben einer Skinning Library.
Attachments
private Nachricht | Beiträge des Benutzers
Shaarigan
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

beantworten | zitieren | melden

Aber auch an der Basis war ich nicht untätig. Neben Klassen für das Handling von JSON Dateien gibt es unter anderem auch verschiedene Downloader und ein paar Interfaces. Die Hauptarbeit mommentan besteht aber noch daraus die konkreten Funktionen der Software zu entwerfen und natürlich die umfangreiche Anbindung von Erweiterungen/Plugins zur Individualisierung.

Es gibt auch bereits einige Prototypen für Werkzeuge wie etwa das Node-based Shader Werkzeug
Attachments
private Nachricht | Beiträge des Benutzers
Shaarigan
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

beantworten | zitieren | melden

Aber alles in allem ist noch recht viel zu tun, ich schätze den Aufwand aber überschaubar ein, da sich das komplette Projekt in viele kleine einzelne Tasks aufteilen lässt und überwiegend GUI-Arbeit zu tun ist.

Aufruf und Disclaimer

Ich würde mich freuen wenn sich ein oder zwei Gamer und/oder passionierte Entwickelr einfinden würden mit deren Hilfe ich rechnen kann um das Projekt noch schneller an sein Zeil zu bringen. Ungeachtet dessen werde ich natürlich auch weiterhin selbst daran arbeiten.

Die Veröffentlichung wird vorraussichtlich unter einer eigenen Lizenz stattfinden, die die umfassende kostenfreie Nutzung für den nicht-kommerziellen Bereich garantiert, da ich gerne auch Anfängern und Hobbyisten gute Werkzeuge an die Hand geben möchte


Werter Leser, ich danke an dieser Stelle für deine Aufmerksamkeit und habe dich hoffentlich auch etwas zum Nachdenken angeregt oder für eine neue eigene Idee inspiriert
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Feedback an die Lizenz: erfinde keine eigene, denn das kann sowohl Dich wie auch potentielle Nutzer dazu zwingen, insbesondere wenn es dann auch verschiedene Lizenzen gibt, die juristisch absegnen zu lassen.
Anders sind bestehende Lizenzen (MIT, Apache, MsPL...), die dahingehen schon geprüft wurden.
private Nachricht | Beiträge des Benutzers
TBR
myCSharp.de - Member



Dabei seit:
Beiträge: 159

beantworten | zitieren | melden

Ich arbeite selber an einem Projekt der gleichen Idee. Zwei Iterationen in WinForms und die dritte und aktuelle nun in WPF, da so ein umfangreiches Programm mit WinForms einfach nur eine Tortur darstellt.

Das Projekt läuft bereits seit ~2012 und ist mittlerweile gut gereift. Ich hab regelmäßig gezweifelt, ob es denn wirklich Sinn mache, da Unity und Unreal bereits sehr starke Editoren besitzen.

Noch gibt es ja wenig zu bestaunen, ich wünsche aber viel Glück bei dem Unternehmen. Ich arbeite auch alleine und kann nur sagen: Es dauert Ewigkeiten so ein Projekt zu stemmen.
private Nachricht | Beiträge des Benutzers
Shaarigan
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

beantworten | zitieren | melden

Hallo TBR,

ich verwende relativ aufgeräumte UI's und möchte mir die Möglichkeit offen lassen alles für Linux und evtl. Android bereitzustellen. Da ist WPF unter Mono leider wenig hilfreich, da die Mono Entwickler selber sagen
Zitat
At this point, no group in the Mono project has plans to implement Windows Presentation Foundation APIs as part of the project.

We do not have any plans because the project is too large and there has not been any serious interest from the community to make this effort move forward.

Ich rendere dabei nicht nur wegen des custom styles alles selbst sondern habe auch versucht högst mögliche Optimierungen, etwa durch buffern des renderings auf dem root form die performance möglichst gut zu halten. Dies ist mir relativ gut gelungen, da in mehreren Tests z.b. das Node Control mit einer halben Million gerenderten Nodes trotzdem noch gut funktioniert.

Aus meiner beruflicher Sicht sind die bestehenden Lösungen Unreal, Unity durchaus brauchbar aber in vielen Dingen leider relativ generisch und somit kommt es oft zum Erreichen der von den Entwicklern gegebenen Grenzen, etwa im Punkt Multiprozessornutzung.

Das Projekt läuft bei mir bereits etwas länger, jedoch mangels Zeit ist der fortschritt nicht gerade üppig gesäht

Nebenher entwickle ich zudem die Engine/das Framework welches später geplant ist darauf zu laufen (natürlich als Extension), wodurch noch mehr Zeit verloren geht.

Wir können uns ja gerne einmal austauschen 8)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Dann mal hier ein Update für Cross-Platform für euch: Introducing XAML Standard and .NET Standard 2.0
private Nachricht | Beiträge des Benutzers
TBR
myCSharp.de - Member



Dabei seit:
Beiträge: 159

beantworten | zitieren | melden

Danke Abt, interessanter Artikel. Mir gefällt, wohin .Net geht.
Ich hab mir zwar Xamarin.Forms noch nicht angeschaut und hab grad keine Information zum Vergleich von WPF und Xamarin.Forms (mit dem XAML Standard) - aber sollte man WPF Programme nahezu problemlos portieren können, wäre das sehr fein.

Ich bedauere momentan, dass WPF schon wieder ein Abstellgleis-Projekt seitens Microsoft ist, das nun hoffentlich endlich durch etwas zukunftssichereres ausgetauscht wird. Forms kamen für mich nicht in Frage, jedoch ist fehlende Portabilität und das quasi nicht-vorhandensein von DirectX10+ Support traurig.

Nichtsdestotrotz, ich würd mich gern mal austauschen. Du kannst ja mal irgendwelche Kontaktmöglichkeiten per PN durchreichen.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Zitat von TBR
Ich bedauere momentan, dass WPF schon wieder ein Abstellgleis-Projekt seitens Microsoft ist,

Wie kommst Du darauf...?
Evtl. Artikel nicht ganz verstanden? ;-)
private Nachricht | Beiträge des Benutzers
TBR
myCSharp.de - Member



Dabei seit:
Beiträge: 159

beantworten | zitieren | melden

Naja, es war keine Rede von WPF, oder hab ich da was überlesen? (Hab das nach Feierabend gelesen, also durchaus fehleranfällig :D).

Okay, XAML wird standardisiert für diverse Plattformen. Das würd ich jedoch dennoch nicht auffassen als "WPF wird weiterentwickelt". Bisher hat sich an WPF nichts geändert. Die meiner Meinung nach wichtigsten Neuerungen sollten mit "WPF vNext" kommen, das irgendwie mal besprochen wurde aber irgendwie nie wieder erwähnt wurde. WPF hat ein paar massive Probleme in Sachen Performance und ist mit DirectX 9 als Rendering-Basis alles andere als zukunftssicher.

Ich les aus dem Artikel lediglich, dass ich ein WPF Projekt nach Xamarin oder UWP portieren könnte. Und hier hab ich die Befürchtung, dass sich meine damalige Investition in eine professionelle UI Library als Verschwendung rausstellt.

Wie auch immer, es sind erfreuliche News - gar keine Frage :)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

XAML ist ein Standard, der nun auf verschiedenen Plattform umgesetzt werden kann.

Auf Windows wird dies implementiert durch eben WPF; für mobile Anwendungen eben durch Xamarin oder UWP.
Auf Linux/Mac kann das zB. Avalonia sein.

Bitte verstehen, was WPF ist - und was es nicht ist; und dass XAML nicht gleich 1:1 WPF ist. :-)
XAML verhält sich hier hierarchisch nicht anders als HTML. HTML ist auch nur ein Standard und wird dann eben zB. gerendert durch WebKit oder anderen.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 3978

beantworten | zitieren | melden

Aber genau das heißt doch, daß WPF nicht als ganzes nun plattformunabhängig wird, sondern nur der im XAML-Standard beschriebene Teil.
Also wird man auch in Zukunft nicht ohne weiteres bisherige WPF-Projekte nach Xamarin oder UWP portieren können...
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Was macht denn WPF an für sich aus? Im Endeffekt auch nur die Engine, die XAML rendert.
Was XAML derzeit so "unbrauchbar" macht, ist, dass XAML bei anderen Plattformen (zB. UWP oder Xamarin) anders aussieht.
Ergo muss erstmal ein gemeinsamer, abstrakter Standard her.

Nicht anders bewegt sich derzeit die gesamte .NET Welt mit dem .NET Standard.
Ohne das gehts nicht und es ist auch richtig so.
private Nachricht | Beiträge des Benutzers
TBR
myCSharp.de - Member



Dabei seit:
Beiträge: 159

beantworten | zitieren | melden

Ja, meine Aussage, dass WPF ein Abstellgleis-Projekt ist, ändert sich damit ja nicht. Ich bin mir dem was du/ihr gesagt habt absolut bewusst. Aber auch wenn der Standard geschaffen wird, heißt es nicht, dass WPF aktiv in Entwicklung ist. Das steht schon eine Weile überholt da. Aber langsam driften wir hier ziemlich off topic ;)
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Naja, dann informier Dich einfach mal auf den entsprechenden Kanälen von Microsoft.
Dann wirst Du sehen, wie viel Wert (=0) die Aussage hat, dass WPF auf dem Abstellgleis ist.

So ist es nichts anderes als eine Falschaussage, die unbeteiligte Leute überfliegen, für voll nehmen.
So entstehen Gerüchte, die dann engagierte Leute wieder mühsam ausbügeln müssen.
private Nachricht | Beiträge des Benutzers
Shaarigan
myCSharp.de - Member



Dabei seit:
Beiträge: 51

Themenstarter:

beantworten | zitieren | melden

Da es leider zeitlich im Moment etwas schwierig geworden ist dieses Projekt zu stämmen und ich darüber hinaus noch einiges an refactoring auch im Bezug auf den Kernaufbau und das UI System durchführen muss, ist dieses Projekt leider auf der TODO-Liste etwas nach hinten gerutscht aber nicht aufgegeben und ich arbeite daran =)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Shaarigan am .
private Nachricht | Beiträge des Benutzers