Autor Thema: Softwareumgebung für Charaktergenerator  (Gelesen 3258 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Ikarus

  • Experienced
  • ***
  • Beiträge: 283
  • Geschlecht: Männlich
  • Username: Ikarus
Softwareumgebung für Charaktergenerator
« am: 24.02.2020 | 17:01 »
Welche Programmiersprache würdet ihr mir empfehlen, um eine Charakterverwaltung digital zu realisieren.

Anforderungen:
- Sollte problemlos auf verschiedenen Plattformen laufen
- Es sollte relativ leicht sein, optische Elemente umzusetzen
- Charakterblätter sollten ausgedruckt und als PDF gespeichert werden können
- Abspeichern und laden von Charakterblättern ist möglich

Online Maarzan

  • Mythos
  • ********
  • Beiträge: 8.740
  • Username: Maarzan
Re: Softwareumgebung für Charaktergenerator
« Antwort #1 am: 24.02.2020 | 17:14 »
Ich würde es in C#/Visual Studio  machen:
.net sollte es - der Theorie nach - plattformübergreifend machen.
Es kann ohne weitere Hilfen  "Excel" und pdf.
(Aka du designest den Charakterbogen mit Excel und kannst es sogar als recht komfortabel editierbare Datenbasis benutzen, wenn du keine Datenbank dazu nehmen willst.)

Ich weiß nur nicht ob die freie Version (Visual Studio Community ) das auch alles kann. 
Storytellertraumatisiert und auf der Suche nach einer kuscheligen Selbsthilferunde ...

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #2 am: 24.02.2020 | 18:13 »
Eine Browser-Applikation wäre wohl eine ziemlich sinnvolle Variante.
Asp.Net Core in Kombination mit React oder Angular als Web-Frontend. Das alles ist mit der Community-Version von Visual Studio 2019 kostenlos machbar bzw. React oder Angular benötigen nur einen Editor und Node.js, was ebenfalls kostenlos ist.

- Sollte problemlos auf verschiedenen Plattformen laufen
ASP.Net Core läuft auf Win, Linux, Mac und React / Angular laufen in jedem modernen Browser.

- Es sollte relativ leicht sein, optische Elemente umzusetzen
Mit HTML und CSS hat man eigentlich das beste Framework, um Oberflächen zu gestalten.

- Charakterblätter sollten ausgedruckt und als PDF gespeichert werden können
Für den PDF-Export gibt es etliche Möglichkeiten. Ausdrucken geht so lala, da würde ich einfach ein exportiertes PDF aus dem Reader-Programm heraus drucken.

- Abspeichern und laden von Charakterblättern ist möglich
Gar kein Problem.


Das alles natürlich unter der Prämisse, dass du dich da reinarbeiten willst. Der o.g. Technologie-Stack ist mittlerweile sehr ausgereift, allerdings muss man sich einarbeiten.

Offline Xugro

  • Survivor
  • **
  • Beiträge: 73
  • Username: Xugro
Re: Softwareumgebung für Charaktergenerator
« Antwort #3 am: 24.02.2020 | 22:14 »
Das ganze als Webservice zu implementieren hat den Vorteil, dass es auf fast jeder Platform aufrufbar ist. Wenn du moderne Frontend-Technologien verwenden willst (React, Angular oder vue.js), dann ist die Programmiersprache dazu Javascript. Serverseitig bist du dann eigentlich ziemlich frei, solange es eine Bibliothek gibt, die PDFs erzeugen kann. Wenn du noch keine Sprache (gut genug) dafür kannst, dann bietet es sich an auch Javascript auf dem Server zu verwenden (node + express).

Offline Ikarus

  • Experienced
  • ***
  • Beiträge: 283
  • Geschlecht: Männlich
  • Username: Ikarus
Re: Softwareumgebung für Charaktergenerator
« Antwort #4 am: 24.02.2020 | 23:29 »
Danke schon mal für die Antworten. Etwas webbasiertes schwebt mir auch vor. Bisher habe ich allerdings nur mit MATLAB programmiert, was allerdings ein völlig anderer Anwendungsfall ist.

Was ich aktuell noch nicht verstehe ist, wie das ganze zusammenhängt:
- Wie läuft denn das ab? Erzeuge ich eine Datei die jeder runterladen kann und dann zu Hause in seinem Browser ausführen kann oder benötige ich immer eine Domain/eine Server wo die Datei zentral hinterlegt ist? Und wenn jemand seinen Charakter abspeichern möchte, wo liegt die Datei bei so einer Webanwendung ab, wenn man nicht gleich Accounts dafür anlegen möchte?
- Wenn JavaScript die Programmiersprache ist, was ist dann React bzw. ASP.Net core und warum brauche ich das alles? Wie hängen diese nun wieder mit html zusammen?

Sorry, die vielen Fragen, aber mit web-Programmierung kenne ich mich leider noch gar nicht aus.

Offline Xugro

  • Survivor
  • **
  • Beiträge: 73
  • Username: Xugro
Re: Softwareumgebung für Charaktergenerator
« Antwort #5 am: 25.02.2020 | 00:06 »
Wie läuft denn das ab? Erzeuge ich eine Datei die jeder runterladen kann und dann zu Hause in seinem Browser ausführen kann oder benötige ich immer eine Domain/eine Server wo die Datei zentral hinterlegt ist?
Da ist beides möglich. Wobei man normalerweise die Rohdaten speichert und erst wenn es benötigt wird ein PDF-generiert.

Und wenn jemand seinen Charakter abspeichern möchte, wo liegt die Datei bei so einer Webanwendung ab, wenn man nicht gleich Accounts dafür anlegen möchte?
Du kannst Daten auf dem Server speichern - z.B. in einer Datenbank oder einer Datei. Das Anlegen von Accounts ist in einigen serverseitigen Frameworks schon enthalten und ziemlich leicht zu verwenden. Alternativ kann man die Daten auch lokal im Browser speichern (Stichwort: Local Storage). Dabei speichert der Webbrowser Daten permanent (quasi größere und langlebige Cookies).

Wenn JavaScript die Programmiersprache ist, was ist dann React bzw. ASP.Net core und warum brauche ich das alles? Wie hängen diese nun wieder mit html zusammen?
Als alles angefangen hat, gab es nur HTML. Das ist eine Beschreibungssprache und sagt quasi immer nur, was was ist - z.B.: Das ist eine Liste, das ist ein Bild, das ist eine Überschrift, das ist ein Zitat, usw. Schön aussehen tut das aber nicht.
Also kam CSS dazu. Damit sagt man, wie HTML-Elemente auszusehen haben - z.B.: das Element hat einen grünen Hintergrund, das Element hat einen gestrichelten Rahmen, das Element hat nach oben 20 Pixel Luft, usw.
So richtig dynamisch sind HTML und CSS aber nicht. Also kam als nächstes Javascript (JS). Das ist eine Programmiersprache, mit der man Webseiten um dynamische Funktionen erweitern kann - z.B. Eingaben vor dem Absenden prüfen, Countdown-Timer anzeigen lassen, verständlichere Text-Editoren in Foren einbauen, usw.
Damit hat man aber nur Front-End, was im Browser läuft. Jetzt will man bei einigen Anwendungen - z.B. Blogs, Foren und Social-Media-Seiten - nicht jedes mal das HTML von Hand schreiben. Also lässt man sich das auf dem Server generieren - z.B. von ASP.Net oder PHP. Damit kann man dann Dinge auf dem Server speichern, dort berechnen und verifizieren - z.B. für Browsergames.
Und irgendwann hat man festgestellt, dass man auch ganze Programme mit HTML, CSS und JS im Webbrowser laufen lassen kann. Aber das wird mit reinem Javascript sehr schnell unwartbar. Also hat man sogenannte Single-Page-Applications entwickelt - z.B.: React. Dabei wird nicht jedes mal eine neue HTML-Seite geladen, sondern man macht im Hintergrund eine Javascript-Anfrage an den Webserver und zeigt die Daten dann dynamisch an. Der Clou daran ist, dass diese SPA-Frameworks einzelne Kompontenen erstellen, die man leicht testen sowie erweitern kann und vor allem koppeln sie Daten mit Aussehen. Damit kann man dann ziemlich gut arbeiten.

Edit: Wenn es nur darum geht Daten einzulesen, zu speichern sowie bearbeiten und am Ende daraus ein PDF zu generieren, dann reicht auch HTML+CSS sowie ein Framework auf Serverseite.
« Letzte Änderung: 25.02.2020 | 00:21 von Xugro »

Offline taranion

  • Bloody Beginner
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
  • Username: taranion
    • RPGFramework
Re: Softwareumgebung für Charaktergenerator
« Antwort #6 am: 25.02.2020 | 00:12 »
Die Frage ist eigentlich nicht klar zu beantworten, da es von sehr vielen Faktoren abhängt.

Wie schon erwähnt ist eine Browser-basierte Variante grundsätzlich die portabelste. Dazu braucht man in der Regel ein Web-Applicationframework, welches Dir die browser-spezifische Programmierung abnimmt und die Komplexität der Webentwicklung versteckt. Solche Web-Frameworks gibt es für verschiedene Programmiersprachen (oft JavaScript). Manche Frameworks können sogar Mobile Apps erstellen.

Ein Framework der anderen Art wäre die Spiele Engine Unity. Die würde Dir die Entwicklung plattformübergreifender mobile Apps ermöglichen - und wenn ich richtig informiert bin, neuerdings auf Progressive WebApps.

In eine ganz andere Richtung geht die Entwicklung von Offline Applikationen für Win/Mac/Linux. Hier bewegst Du dich eher in klassischen Programmiersprachen wie C#  oder Java. Hier ist positiv hervorzuheben, dass es über viele Jahre gereifte Entwicklungswerkzeuge gibt, die einem das Entwicklerleben versüßen. Ich habe das für meinen Splittermond/Space1889/Shadowrun/Coriolis-Charaktergenerator (in Java) gemacht und unterstützte damit Win/Mac/Linux. Allerdings bedarf es viele  Schritte, bis aus dem Code ein installierbares Software-Paket  wird. Man kann in Java sogar mit VIEL Aufwand bei möglichst viel Code-Reuse daraus eine Win/Mac/Linux/iOS/Android/WebApp machen, aber an den Details auf diesem Weg scheitere ich derzeit auch noch.

Jeder der Wege hat seine Berechtigung. 

Was deine Fragen angeht:
Du programmierst in JavaScript, aber React (eine JavaScript Bibliothek) stellt Dir Dinge wie "Buttons" zur Verfügung.  Mit HTML schlägst Du dich dabei nur noch selten herum - das wird von React generiert.
Und ja, für eine WebApp brauchst Du einen Server, wo die Datei hinterlegt ist. Der Anwender öffnet die Datei in seinem Browser, wo dann die Anwendung ausgeführt wird.
Was das Speichern angeht: eine Progressive WebApp (PWA) kann IIRC auf das lokale Dateisystem zugreifen. Der richtige Mehrwert einer WebApp entsteht aber erst, wenn die Daten auf dem Server abgespeichert werden - d.h. Du musst sowas wie Accountverwaltung auf deinem Server bereitstellen.

Mein persönlicher Tipp anhand deiner Fragen wäre: starte nicht mit einer WebApp. Der Weg mit der flachesten Lernkurve dürfte vermutlich die Unity-Engine mit dem Ziel Mobile Apps sein.

Offline AesSedai

  • Bloody Beginner
  • *
  • Beiträge: 21
  • Geschlecht: Weiblich
  • Username: AesSedai
Re: Softwareumgebung für Charaktergenerator
« Antwort #7 am: 25.02.2020 | 07:41 »
Danke schon mal für die Antworten. Etwas webbasiertes schwebt mir auch vor. Bisher habe ich allerdings nur mit MATLAB programmiert, was allerdings ein völlig anderer Anwendungsfall ist.

Was ich aktuell noch nicht verstehe ist, wie das ganze zusammenhängt:
- Wie läuft denn das ab? Erzeuge ich eine Datei die jeder runterladen kann und dann zu Hause in seinem Browser ausführen kann oder benötige ich immer eine Domain/eine Server wo die Datei zentral hinterlegt ist? Und wenn jemand seinen Charakter abspeichern möchte, wo liegt die Datei bei so einer Webanwendung ab, wenn man nicht gleich Accounts dafür anlegen möchte?
- Wenn JavaScript die Programmiersprache ist, was ist dann React bzw. ASP.Net core und warum brauche ich das alles? Wie hängen diese nun wieder mit html zusammen?

Sorry, die vielen Fragen, aber mit web-Programmierung kenne ich mich leider noch gar nicht aus.


Ehrliche Antwort:
Lass es lieber.


Nicht, dass ich Dich entmutigen will. Wenn Du Zeit und Lust hast ist das eine interessante Reise, die Du vor Dir hast. Aber


a) Hast Du einen riesen Batzen an Information zu verdauen, bevor Du sinnvoll loslegen kannst. Hier zu Angular oder React  zu raten zeugt entweder von mangelnder Sachkenntnis oder Naivität


b) Hast Du jede Menge Frust vor Dir


Ich würde die Zeit lieber zum Spielen nutzen wollen.


Einzige Ausnahme: Du möchtest später eh Softwareentwicklung machen. Dann sähe ich das als super Einstieg!




Offline 1of3

  • Richtiges Mädchen!
  • Titan
  • *********
  • Proactive Scavenger
  • Beiträge: 18.990
  • Username: 1of3
    • Sea Cucumbers and RPGs
Re: Softwareumgebung für Charaktergenerator
« Antwort #8 am: 25.02.2020 | 08:34 »
Die Anforderungen sind noch zu vage, um irgendeine Aussage treffen zu können.

Was sind optische Elemente und was bedeutet umsetzen? Üblicher Weise klärt man solche Sachen mit Sätzen der Form "Als Nutzer möchte ich ..., um zu...". Also z.B. als Nutzer möchte ich ein Bild für meinen Charakter hochladen, damit meine Mitspieler später einen besseren Eindruck bekommen können.

Generell ist noch gar nicht klar, was Charakterverwaltung bedeutet. Du redest eigentlich nur über Charakterbögen und pdfs. Die soll man hoch und runterladen können. Das sagt noch nicht, dass die Applikation irgendwas mit dem Inhalt dieser Blätter anstellen kann. Wenn du sie nur hoch und runterladen kannst, musst du nichts tun. Da reicht Google Drive oder ein vergleichbarer Filehoster und es ist letzendlich auch egal, dass da Charaktere auf dem Blatt stehen.

Also überlege dir am besten erstmal, was du da wirklich mit machen willst. Unter dem Vorbehalt, den die weise Magierin vor mir schon nannte: Du willst den Schmerz wirklich.

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #9 am: 25.02.2020 | 10:03 »
[..] Hier zu Angular oder React  zu raten zeugt entweder von mangelnder Sachkenntnis oder Naivität [..]
Geile Aussage, meine Dame!
*slowclap* :d
Gut, dass du das aus ein paar geschriebenen Zeilen ableiten kannst...

@Topic:
Kommt halt alles darauf an, wie gut die Vorkenntnisse in der Software-Entwicklung sind und was man daraus machen möchte. Warum sollte man immer davon ausgehen, dass die Leute alle keine Ahnung haben und auch nicht die nötigen Fähigkeiten (logisches Denkvermögen, Beharrlichkeit, etc.), sich in solche Themen einzuarbeiten? Sowas ist ja nun wirklich keine Raketenwissenschaft.
Seid doch nicht so negativ. Außerdem ist wohl völlig klar, dass das Projekt lange nicht aussehen wird wie ein SotA-Softwareprojekt. Woher kommt denn immer dieser Anspruch? Lasst die Leute doch einfach mal probieren. Was helfen denn solche Aussagen wie "lass es lieber" oder "das ist zu schwer"?

Klar, man könnte argumentieren, dass es demotivierend ist, wenn man nicht vorwärts kommt. Aber deswegen immer direkt davon abzuraten ist doch auch nicht zielführend.
Wenn jemand sagt, er möchte einen Schuppen im Garten bauen, dann kommt auch keiner auf die Idee zu sagen "fang doch erstmal mit Förmchen im Sandkasten an" oder "lass es lieber"...

Just my 2 cents...
« Letzte Änderung: 25.02.2020 | 10:13 von Shihan »

Offline KhornedBeef

  • Mythos
  • ********
  • Beiträge: 11.879
  • Username: KhornedBeef
Re: Softwareumgebung für Charaktergenerator
« Antwort #10 am: 25.02.2020 | 10:15 »
Zur Moderation: Keiner will wohl Ikarus sagen "Das schaffst du eh nicht!" . Das ist ja auch etwas anderes als "für das, was du machen willst, reicht eine andere Lösung, die dich mit deinen Kenntnissen ca. 100 h weniger kostet" oder so.
Kann ich das aus den Infos hier ableiten? Nein. Liegt das daran, dass diese Einschätzung generell unmöglich ist? Ich denke nicht, ich habe bloß keine Ahnung von Webentwicklung. Wenn jemand da Ahnung hat, wird er den Einarbeitungsaufwand wohl grob einschätzen können.
Ich kann nur allgemein sagen, guck was Leute mit ähnlich viel Ahnung mit bekanntem Aufwand und ähnlichen Zielen machen, oder frag sie nach dem Aufwand.
Edit: Wortfehler
"For a man with a hammer, all problems start to look like nails. For a man with a sword, there are no problems, only challenges to be met with steel and faith."
Firepower, B&C Forum

Ich vergeige, also bin ich.

"Und Rollenspiel ist wie Pizza: auch schlecht noch recht beliebt." FirstOrkos Rap

Wer Fehler findet...soll sie verdammt nochmal nicht behalten, sondern mir Bescheid sagen, damit ich lernen und es besser machen kann.

Offline Selganor [n/a]

  • Moderator
  • Titan
  • *****
  • Beiträge: 34.243
  • Geschlecht: Männlich
  • Username: Selganor
Re: Softwareumgebung für Charaktergenerator
« Antwort #11 am: 25.02.2020 | 10:24 »
Welche Programmiersprache würdet ihr mir empfehlen, um eine Charakterverwaltung digital zu realisieren.

Anforderungen:
- Sollte problemlos auf verschiedenen Plattformen laufen
- Es sollte relativ leicht sein, optische Elemente umzusetzen
- Charakterblätter sollten ausgedruckt und als PDF gespeichert werden können
- Abspeichern und laden von Charakterblättern ist möglich
Hmm... wenn ich mir die Anforderungen so anschaue dann kann eine "moderne" Website mit CMS alles das (ok, fuer den PDF-Export braucht man vermutlich ein Zusatzmodul) leisten.

Die Frage ist doch wie viel "Rechenaufwand" soll einem die "Charakterverwaltung" abnehmen?

Wenn man sich mal andere Beispiele wie z.B. Obsidian Portal anschaut, die bieten fuer zahlreiche Systeme Templates in die man Charaktere eintragen kann die dann noch gut sortiert aussehen. (Klick dich einfach mal durch verschiedene Kampagnen um zu sehen wie das aussieht)

Allerdings koennen diese Templates nicht den Charakter "bauen", das muss der Spieler selbst machen.
Das ist aber in der Liste der Anforderungen auch gar nicht erwaehnt oder habe ich da was uebersehen?
Da wird nichtmal die Anforderung, dass man innerhalb der Verwaltung was am Charakter aendern kann gefragt, nur dass man Charaktere laden und speichern kann.

Abraham Maslow said in 1966: "It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail."

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #12 am: 25.02.2020 | 10:25 »
[..] Das ist ja auch etwas anderes als "für das, was du machen willst, reicht eine andere Lösung, die dich mit deinen Kenntnissen ca. 100 h weniger kostet" oder so. [..]
Danke, dass du das ansprichst bzw. so formulierst. Genau darum geht es mir! Oder eben genau um das Gegenteil.

Vielleicht habe ich früher einfach nur Pech gehabt, aber als ich mit der Softwareentwicklung angefangen habe, gab es eine ganze Reihe von Empfehlungen dieser Art. Und ich habe mich damit abgefunden und diese beherzigt. Dann irgendwann merkte ich, dass (vermeintlich) größere/schwerere/komplexere Systeme mich deutlich besser zu dem Ziel geführt hätten, auch trotz des höheren Preises (an Einarbeitungszeit und/oder -stress). Und dass ich somit einige Umwege gemacht habe, die evtl. nicht nötig gewesen wären. Vielleicht waren sie es doch, das mag sein. Retrospektiv manchmal schwer zu sagen.

Aber meine Erfahrungen sagen mir mittlerweile, dass es nicht schadet, auch mal die größeren/schwereren/komplexeren Systeme zu nennen. Oder anders: die Profiwerkzeuge. Ob man damit dann klar kommt oder nicht, ist eine andere Frage. Aber nennen sollte man sie dennoch.


Mich triggert es nur, wenn dann jemand, der mich nicht kennt und gar keine Ahnung von meiner Erfahrung auf dem Gebiet hat, mir mangelnde Sachkenntnis und/oder Naivität vorwirft.

Offline ManuFS

  • Famous Hero
  • ******
  • En Taro Kardohan! En Taro Taysal!
  • Beiträge: 3.945
  • Geschlecht: Männlich
  • Username: ManuFS
Re: Softwareumgebung für Charaktergenerator
« Antwort #13 am: 25.02.2020 | 10:25 »
Welche Programmiersprache würdet ihr mir empfehlen, um eine Charakterverwaltung digital zu realisieren.

Anforderungen:
- Sollte problemlos auf verschiedenen Plattformen laufen
- Es sollte relativ leicht sein, optische Elemente umzusetzen
- Charakterblätter sollten ausgedruckt und als PDF gespeichert werden können
- Abspeichern und laden von Charakterblättern ist möglich

Kennst du https://savaged.us/ ? Wenn du sowas selbst bauen willst, frag am besten Gordon, der hilft gern und erklärt, was er wie und warum geschrieben hat. :)
[Ich bin nicht im Forum aktiv, Anfragen via PM]

Tanelorn Discord Server: Invite Link

Whisky & Wildcards SaWo und Whisk(e)y Reviews (englisch)

Veiled Fury Entertainment auf DriveThruRPG

Veiled Fury Entertainment Discord Server: Invite Link

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #14 am: 25.02.2020 | 10:34 »
Kennst du https://savaged.us/ ? Wenn du sowas selbst bauen willst, frag am besten Gordon, der hilft gern und erklärt, was er wie und warum geschrieben hat. :)
Geiles Teil, kannte ich noch nicht!

Ist übrigens tatsächlich in React geschrieben. Der Source-Code ist sogar unter GPL und somit einsehbar: https://github.com/jdgwf/savaged-us-react

Offline Blechpirat

  • Administrator
  • Titan
  • *****
  • Beiträge: 13.582
  • Username: Karsten
    • Richtig Spielleiten!
Re: Softwareumgebung für Charaktergenerator
« Antwort #15 am: 25.02.2020 | 10:34 »
Ich habe das für meinen Splittermond/Space1889/Shadowrun/Coriolis-Charaktergenerator (in Java) gemacht und unterstützte damit Win/Mac/Linux.

Wie komplex wäre es denn, wenn ein Dritter ein weiteres Spiel-Modul (quasi ein Plugin für ein neues Rollenspielsystem) für deinen Charaktergenerator schreiben würde? Geht das so einfach, oder müsstest du dazu alles mögliche ändern?

Online Maarzan

  • Mythos
  • ********
  • Beiträge: 8.740
  • Username: Maarzan
Re: Softwareumgebung für Charaktergenerator
« Antwort #16 am: 25.02.2020 | 12:24 »
Wäre nicht die erste entscheidende Verzweigung ob überhaupt offline oder online? 

Die Frage nach mehreren Platformen deutet zwar in die Richtung aber das kann auch eine lokale Spielrunde sein, wo die Leute dann Apple, Linux und Widnows zu Hause haben.
Storytellertraumatisiert und auf der Suche nach einer kuscheligen Selbsthilferunde ...

Offline Psycho-Dad

  • Ulkbeitrag
  • Mythos
  • ********
  • Beiträge: 8.863
  • Geschlecht: Männlich
  • Username: psycho-dad
Re: Softwareumgebung für Charaktergenerator
« Antwort #17 am: 25.02.2020 | 12:49 »
Wäre nicht die erste entscheidende Verzweigung ob überhaupt offline oder online? 

Die Frage nach mehreren Platformen deutet zwar in die Richtung aber das kann auch eine lokale Spielrunde sein, wo die Leute dann Apple, Linux und Widnows zu Hause haben.

Für den Fall würde ich dann noch den Qt-Creator in den Hut werfen. ;D

Der UI-Designer ist relativ einfach und Intuitiv bedienbar und nimmt einem viel Programmierarbeit (in C++) ab.
Durch die Anbindung der Qt-Lib beherscht das Ding nativ PDF, XML und noch einige anderer Dateiformate. Das Ergebniss ist für eine Kompilersprache erstaunlich einfach auf andere Platformen zu portieren, wenn die Zielplatform von Qt unterstützt wird (Windows, Linux, Android, IIRC auch Mac), und wenn man sich ein bisschen reinkniet bekommt man auch Webanbindung mit Dropbox o.ä. hin.

Ist vom Einarbeitsaufwand jetzt auch nicht sooo viel umfangreicher als das volle webdev-programm (html, css, JS, PHP), aber im gegensatz zu manchen webframeworks ändert sich da auch nur alle paar Jahre was Fundamentales. ~;D
« Letzte Änderung: 25.02.2020 | 12:53 von Psycho-Dad »

Offline Ikarus

  • Experienced
  • ***
  • Beiträge: 283
  • Geschlecht: Männlich
  • Username: Ikarus
Re: Softwareumgebung für Charaktergenerator
« Antwort #18 am: 25.02.2020 | 13:57 »
Hi, danke für das ausführliche Feedback, damit habe ich einige Anreize in welche Richtung ich mich weiter einarbeiten kann.

Noch eine kurze Frage, denkt ihr man so etwas in Wordpress realisieren?

(es geht eigentlich weniger um einen Charaktergenerator sondern mehr um eine Software zum Erstellen und verwalten des Charakters. Beim Vergeben der Erfahrungspunkte soll das Programm beispielsweise anzeigen, wieviele noch zu verteilen sind etc.)

Offline taranion

  • Bloody Beginner
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
  • Username: taranion
    • RPGFramework
Re: Softwareumgebung für Charaktergenerator
« Antwort #19 am: 25.02.2020 | 18:46 »
Wie komplex wäre es denn, wenn ein Dritter ein weiteres Spiel-Modul (quasi ein Plugin für ein neues Rollenspielsystem) für deinen Charaktergenerator schreiben würde? Geht das so einfach, oder müsstest du dazu alles mögliche ändern?

Das geht ohne größere Probleme. Das ganze Projekt ist in seinen Grundzügen modular und dafür gebaut, dass es über Plugins erweitert werden kann.
Seit Kurzem kann es auch besser mit Plugins umgehen, die von Dritten stammen und bietet den Entwicklern mehr Kontrolle über Veröffentlichungen.

Ich habe das jetzt nicht besonders hervorgehoben, weil @Ikarus schrieb, dass es ihm um eine Webapplikation geht - das wäre es bei mir nicht. Sollte es eine Desktop Applikation werden, unterstütze ich gerne.

Offline taranion

  • Bloody Beginner
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
  • Username: taranion
    • RPGFramework
Re: Softwareumgebung für Charaktergenerator
« Antwort #20 am: 25.02.2020 | 18:53 »
Noch eine kurze Frage, denkt ihr man so etwas in Wordpress realisieren?
Naja, WordPress bedeutet im Prinzip, Du würdest das mit PHP und JavaScript machen - evtl. mit weiteren Bibliotheken. So ein Generator wird dann (vermutlich) nicht hübsch, aber funktional.

Zitat
(es geht eigentlich weniger um einen Charaktergenerator sondern mehr um eine Software zum Erstellen und verwalten des Charakters. Beim Vergeben der Erfahrungspunkte soll das Programm beispielsweise anzeigen, wieviele noch zu verteilen sind etc.)

Ähm, was ist denn ein Charaktergenerator, wenn nicht eine Software zum Erstellen und Verwalten von Charakteren? Oder verstehst Du "Charaktergenerator" als ein automatisiertes, zufälliges Erstellen von Charakteren?

Offline Selganor [n/a]

  • Moderator
  • Titan
  • *****
  • Beiträge: 34.243
  • Geschlecht: Männlich
  • Username: Selganor
Re: Softwareumgebung für Charaktergenerator
« Antwort #21 am: 25.02.2020 | 19:39 »
Noch eine kurze Frage, denkt ihr man so etwas in Wordpress realisieren?
Wordpress ist nur ein CMS dass dir sozusagen eine Website macht.
Wenn du da irgendwas anderes drin haben willst als simple Webseitensachen (sprich: alles andere ausser formatierten Texten und irgendwie positionierten Bildern) wirst du sowieso eine andere "Programmierungsumgebung" nehmen duerfen.
Zitat
(es geht eigentlich weniger um einen Charaktergenerator sondern mehr um eine Software zum Erstellen und verwalten des Charakters. Beim Vergeben der Erfahrungspunkte soll das Programm beispielsweise anzeigen, wieviele noch zu verteilen sind etc.)
Was genau verstehst du unter einem "Charaktergenerator"?
Bei mir waere das naemlich "eine Software zum Erstellen und verwalten des Charakters" ;D

Ich vermute mal das soll sich auf dein selbstgebautes System (wie vollstaendig/fix ist das Regelwerk davon schon?).

Hast du mal geschaut wie sich das in Tabellenform (Excel bzw. Open-/LibreOffice Calc) umsetzen laesst?

Open-/LibreOffice sollte fast jeder bei sich zum laufen kriegen, Dokumente lassen sich als PDFs exportieren und wenn du eine "Online-Galerie" haben willst (damit auch Leute die den Charakterbogen zuhause vergessen haben schnell den Charakter nochmal holen koennen) dann kannst du das immer noch auf eine Wordpress (oder sonstwas) Site packen (ebenso wie ein leeres Tabellendokument mit dem "Charaktergenerator")
Abraham Maslow said in 1966: "It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail."

Offline AesSedai

  • Bloody Beginner
  • *
  • Beiträge: 21
  • Geschlecht: Weiblich
  • Username: AesSedai
Re: Softwareumgebung für Charaktergenerator
« Antwort #22 am: 25.02.2020 | 19:52 »
@Shihan
Ich weiß nicht, womit Du Deine Brötchen verdienst, aber ich mache den Quatsch schon lang genug, um  jemandem mit MATLAB Erfahrung davon abraten zu wollen.

Mal abgesehen davon, dass hier elementares Basiswissen nicht vorhanden ist, fehlts auch am Handwerkszeug Programmieren.

Aber ich will niemandem vorschreiben womit er seine Zeit verbringt. Nur befürchte ich ein "told you so"...

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #23 am: 25.02.2020 | 20:18 »
Habe lange genug Webentwicklung gemacht (und bin teilzeitweise immer noch dabei) und anderen näher gebracht, um sagen zu können, dass es nicht easy-peasy, aber auch ganz gewiss kein Hexenwerk ist. Insbesondere mit React und modernem Javascript kommen Anfänger oft besser klar, als man denkt.

Aber YMMV...



Triff einfach nur keine grundlagenlosen Urteile über dir Unbekannte, ok?

Offline AesSedai

  • Bloody Beginner
  • *
  • Beiträge: 21
  • Geschlecht: Weiblich
  • Username: AesSedai
Re: Softwareumgebung für Charaktergenerator
« Antwort #24 am: 25.02.2020 | 23:17 »

Triff einfach nur keine grundlagenlosen Urteile über dir Unbekannte, ok?
Um mal die Sache etwas aufzuklären:


Laut Selbstauskunft ist er quasi unerfahren. Hätte er geschrieben, dass er Entwickler ist, wäre das etwas anderes gewesen.


Daneben habe ich ihm abgeraten, weil ich den Aufwand für jemanden, der das just for fun machen will, für zu hoch halte.


Es geht nicht darum, dass man das nicht lernen kann, sondern dass man jede Menge Holz hacken muss, bevor man damit heizen kann.


Ich finde es nicht gut, Leute nicht entsprechend vorzuwarnen.
Damit gewinne ich keinen Sympathiepreis, erspare aber jemandem vielleicht eine Enttäuschung.


Und damit ist mein letztes Wort in der Sache gesproche. Ich will ja hier nicht kapern.




Offline Selganor [n/a]

  • Moderator
  • Titan
  • *****
  • Beiträge: 34.243
  • Geschlecht: Männlich
  • Username: Selganor
Re: Softwareumgebung für Charaktergenerator
« Antwort #25 am: 25.02.2020 | 23:55 »
Mein Vorschlag zur vorgerueckten Stunde (da mich die Situation anfaengt an diesen XKCD-Cartoon zu erinnern) ;D

Einfach mal dem guten Ikarus Zeit geben sich die gemachten Vorschlaege mal in Ruhe anzuschauen (und hoffen, dass er nicht gleich beim ersten Vorschlag der "nett" aussieht in hektische - aber ungeplante - Aktivitaet verfaellt).

Da das Ganze ja sowieso was groesseres ist das ja nicht gleich morgen fertig sein soll/muss/kann/... findet sich sicherlich eine Loesung.

Wer trotzdem der Meinung ist, der Thread duerfte nicht stillstehen kann ja mal die schon gemachten Vorschlaege uebersichtlich in eine Tabelle (gerne auch mit Spalten wie Vorteil, Nachteil, Vorraussetzungen, ...) zusammenfassen, dann faellt es leichter die Vorschlaege zu vergleichen.

Das ganze dann noch mit den Anforderungen (die mir immer noch nicht so ganz klar sind - vgl. meine Probleme mit dem Begriff "Charaktergenerator") zusammenfassen und man kann gleich auf einen Blick sehen welche Loesung unter welchen Bedingungen die beste/schlechteste/... waere.
Abraham Maslow said in 1966: "It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail."

Offline CAA

  • Adventurer
  • ****
  • Beiträge: 824
  • Geschlecht: Männlich
  • Username: CAA
Re: Softwareumgebung für Charaktergenerator
« Antwort #26 am: 26.02.2020 | 08:19 »
Auch auf die Gefahr hin nur Tomaten auf den Augen zu haben: Die spannendste Frage fehlt mir hier irgendwie. Unter welcher Lizenz ist das System der Wahl eigentlich veröffentlicht? Wenns unter OGL ist, kann man quasi machen was man lustig ist. Nen webportal charaktergenerator für bspw. Dsa5 dürfte spannend werden.... Kp obs Systeme mit Lizenzen gibt die sonstwas fordern könnten

Die Wahl des techstacks ist anschließend fast schon Glaubensfrage  ~;D
« Letzte Änderung: 26.02.2020 | 08:40 von CAA »

Offline taranion

  • Bloody Beginner
  • *
  • Beiträge: 34
  • Geschlecht: Männlich
  • Username: taranion
    • RPGFramework
Re: Softwareumgebung für Charaktergenerator
« Antwort #27 am: 26.02.2020 | 10:21 »
Die spannendste Frage fehlt mir hier irgendwie. Unter welcher Lizenz ist das System der Wahl eigentlich veröffentlicht? Wenns unter OGL ist, kann man quasi machen was man lustig ist. Nen webportal charaktergenerator für bspw. Dsa5 dürfte spannend werden.... Kp obs Systeme mit Lizenzen gibt die sonstwas fordern könnten

Ja, da muss man natürlich ein Auge drauf haben. Die meisten Verlage empfinden Fanware, die mit Regelwerten hantiert nicht als Problem (eher als nützliche Bereicherung des Systems), solange dies a) nicht tabellarisch zur Verfügung gestellt wird und b) keine Texte aus den Publikationen kopiert werden. Aber es gibt auch Verlage, die das einschränken: Ulisses erlaubt außerhalb des Scriptoriums für DSA 5 keine Verwendung von Regelwerten, Uhrwerk erlaubt bei Tools nur die Werte aus dem Grundregelwerk - was dann vergleichbar zu der OGL anderer Systeme ist. Im Zweifelsfall sollte man also fragen.

Offline Psycho-Dad

  • Ulkbeitrag
  • Mythos
  • ********
  • Beiträge: 8.863
  • Geschlecht: Männlich
  • Username: psycho-dad
Re: Softwareumgebung für Charaktergenerator
« Antwort #28 am: 26.02.2020 | 10:33 »
Soweit ich weiß aber auch nur bei Verbreitungs oder Veröffentlichungsabsicht. Wenn man sich was exclusiv für den Privatgebrauch zusammenklöppelt sollte das doch im Regelfall auch Legal sein, oder? (also auch unabhängig von 'wie soll der Verleger es denn erfahren wenn keiner Petzt?')

Offline Selganor [n/a]

  • Moderator
  • Titan
  • *****
  • Beiträge: 34.243
  • Geschlecht: Männlich
  • Username: Selganor
Re: Softwareumgebung für Charaktergenerator
« Antwort #29 am: 26.02.2020 | 11:15 »
Auch auf die Gefahr hin nur Tomaten auf den Augen zu haben: Die spannendste Frage fehlt mir hier irgendwie. Unter welcher Lizenz ist das System der Wahl eigentlich veröffentlicht? Wenns unter OGL ist, kann man quasi machen was man lustig ist.
Das System ist vermutlich (wurde aber noch nicht bestaetigt) Marke Eigenbau, damit kann er sich ja die Rechte dafuer selbst geben ;)

Die Aussage betreffs OGL wuerde ich aber mal zuruecknehmen... Gerade bei Software war die OGL ziemlich "zickig" wenn ich mich richtig erinnere ;D
Abraham Maslow said in 1966: "It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail."

Offline Jens

  • Mimimi-chaelit
  • TechSupport
  • Mythos
  • *****
  • Beiträge: 10.750
  • Username: Jens
Re: Softwareumgebung für Charaktergenerator
« Antwort #30 am: 26.02.2020 | 11:24 »
Mal ganz abgesehen davon, ob das jetzt mit React, Excel/LO Calc, Java, C++ oder so umgesetzt wird, fände ich die Funktion, einen zufälligen Charakter zu erstellen unglaublich charmant!

Offline OldSam

  • Maggi-er
  • Famous Hero
  • ******
  • Beiträge: 3.912
  • Geschlecht: Männlich
  • Username: OldSam
Re: Softwareumgebung für Charaktergenerator
« Antwort #31 am: 26.02.2020 | 11:45 »
Ich kann zwar verstehen, dass es manche gut finden, ich persönlich würde aber von .NET bzw. ASP/NET usw. abraten.

Ein wichtiger Grund ist, dass man nicht vergessen sollte, dass das historisch im Kern alles proprietäre Entwicklungen von Microsoft sind, primär unter deren Kontrolle. Zwar existieren plattformübergreifende Community-Umsetzungen wie etwa Mono bei .NET, aber in der Praxis ist das dann eben nur so halbgar, da MS selbst früher kein großes Interesse daran hatte diese Umgebungen zu stärken - das Kompatibilitätsargument von MS kam damals IMHO in erster Linie, um Entwickler auf der eigenen Plattform zu halten, da es ja "theoretisch" woanders auch funktionieren müsste, mit einigen Nacharbeiten, bis auf Thema X und Y, aber egal. Und in der Praxis fragt dann hinterher keiner mehr, Thema durch... ;)

Aber mal etwas "objektiver" ohne Politik: Vielleicht hilft dir zur Orientierung mal ein Blick auf den TIOBE-Index (z .B. hier  https://jaxenter.de/top-10-programmiersprachen-ranking-2019-85237).


Wenn man sich zukunftsorientiert offener aufstellen möchte ist auf "High Level" heute sicherlich Java der (wirklich plattformübergreifende) Industriestandard. Wie old school C, wenn man hardware-nah sein will (oder C++ für Games etc.). Alles aber nicht so die Einsteigerempfehlung.


Für Deine Zwecke würde ich Dir klar zu Python 3 raten - das hat eine Menge Vorteile bzgl. Einfachheit (speziell für Anfänger sehr gut!), sehr hoher Stabilität, starke Community und seit Jahren im  Aufwärtstrend, echter Offenheit und Multi-Plattform ohne Herstellerpolitik, aus gutem Grund an sehr vielen Unis etabliert etc.; Grafikprogrammierung ist auch einfach, als sehr gute Multi-Plattform-Erweiterung für Grafik wäre QT zu empfehlen.

Generell würde ich dir aber als kompletter Anfänger (unabhängig von der Sprache) im 1. Schritt empfehlen ohne Grafik, nur mit Textausgabe zu starten.
Sobald dein Programm die wesentlichen Testwerte etc. als Text richtig ausgibt, kannst Du anfangen die Grafikanbindung zusätzlich zu bauen, ansonsten wird es für Dich am Anfang eher schwieriger den Überblick zu behalten.

 

-> Download hier: https://www.python.org/downloads/
Hier z. B. Python 3 Hilfen auf Deutsch ( https://py-tutorial-de.readthedocs.io/de/python-3.3/# - die kleineren Versionsunterschiede von 3.x kannst Du auf dem Grundlagen-Niveau erstmal komplett ignorieren! ;) )

PS: Ideal ist vermutlich sogar gleich eine komplette Umgebung für Dich wie Anaconda, das macht einiges noch einfacher zum Start: https://www.youtube.com/watch?v=qZnT2HvrHG4
https://repo.anaconda.com/archive/ (<- Download-Auswahl siehe Video)
Es hat ein paar Vorteile nicht die neueste Version zu nehmen (wie es im Video gezeigt wird), da dann bestimmte Kompatibilitäten zu anderen Komponenten ausgereift sind).
Du brauchst dann "nur" Anaconda und nicht die Python-Grundinstallation vorher, die bringen direkt alles zusammen mit diversen Extras mit (all incl.).

« Letzte Änderung: 26.02.2020 | 12:07 von OldSam »

Offline KhornedBeef

  • Mythos
  • ********
  • Beiträge: 11.879
  • Username: KhornedBeef
Re: Softwareumgebung für Charaktergenerator
« Antwort #32 am: 26.02.2020 | 11:51 »
Gibt es denn Entwicklungsumgebungen für Python, die so eine Anwendung unterstützen? so mit "Kleb hier einen Button hin, der bekommt die Logik von Textbaustein B den ich geschrieben habe" ?
"For a man with a hammer, all problems start to look like nails. For a man with a sword, there are no problems, only challenges to be met with steel and faith."
Firepower, B&C Forum

Ich vergeige, also bin ich.

"Und Rollenspiel ist wie Pizza: auch schlecht noch recht beliebt." FirstOrkos Rap

Wer Fehler findet...soll sie verdammt nochmal nicht behalten, sondern mir Bescheid sagen, damit ich lernen und es besser machen kann.

Offline OldSam

  • Maggi-er
  • Famous Hero
  • ******
  • Beiträge: 3.912
  • Geschlecht: Männlich
  • Username: OldSam
Re: Softwareumgebung für Charaktergenerator
« Antwort #33 am: 26.02.2020 | 11:54 »
Gibt es denn Entwicklungsumgebungen für Python, die so eine Anwendung unterstützen? so mit "Kleb hier einen Button hin, der bekommt die Logik von Textbaustein B den ich geschrieben habe" ?

Yes, gibt es da, via QT. Mag ich selbst sehr gerne, nämlich den QT Designer (https://doc.qt.io/qt-5/qtdesigner-manual.html). Da kann man sich schön einfach/schnell und "wirklich" plattformübergreifend eine GUI zusammenklicken.
In ähnlicher Art wie man das auch bei Visual Studio & co kennt... (und alles was nicht per Oberfläche gehen sollte, kann man natürlich mit manuellem Code ergänzen)

Großer Vorteil dabei zudem: Das ist nichts speziell von/für Python, d. h. das QT-Knowhow was man sich erwirbt, kann man später exakt so auch bei C++ o.ä. wiederverwenden.
« Letzte Änderung: 26.02.2020 | 12:02 von OldSam »

Offline Jiyu

  • Adventurer
  • ****
  • Beiträge: 540
  • Geschlecht: Männlich
  • Username: Jiyu
Re: Softwareumgebung für Charaktergenerator
« Antwort #34 am: 26.02.2020 | 12:27 »
Ich kann zwar verstehen, dass es manche gut finden, ich persönlich würde aber von .NET bzw. ASP/NET usw. abraten.

Ein wichtiger Grund ist, dass man nicht vergessen sollte, dass das historisch im Kern alles proprietäre Entwicklungen von Microsoft sind, primär unter deren Kontrolle. Zwar existieren plattformübergreifende Community-Umsetzungen wie etwa Mono bei .NET, aber in der Praxis ist das dann eben nur so halbgar, da MS selbst früher kein großes Interesse daran hatte diese Umgebungen zu stärken - das Kompatibilitätsargument von MS kam damals IMHO in erster Linie, um Entwickler auf der eigenen Plattform zu halten, da es ja "theoretisch" woanders auch funktionieren müsste, mit einigen Nacharbeiten, bis auf Thema X und Y, aber egal. Und in der Praxis fragt dann hinterher keiner mehr, Thema durch... ;)

Sorry für off-topic, aber das obige ist nur historisch richtig und für das aktuelle .NET Core (später unter dem Namen .NET 5) nicht mehr gültig. .NET Core ist von Haus aus (= von Microsoft selbst unterstützt) plattformübergreifend für Windows, Linux und MacOS verfügbar, und auch das Framework selbst ist Open Source.

Offline Shihan

  • Hero
  • *****
  • Beiträge: 1.181
  • Username: Shihan
Re: Softwareumgebung für Charaktergenerator
« Antwort #35 am: 26.02.2020 | 12:31 »
Ich kann zwar verstehen, dass es manche gut finden, ich persönlich würde aber von .NET bzw. ASP/NET usw. abraten.

Ein wichtiger Grund ist, dass man nicht vergessen sollte, dass das historisch im Kern alles proprietäre Entwicklungen von Microsoft sind, primär unter deren Kontrolle. Zwar existieren plattformübergreifende Community-Umsetzungen wie etwa Mono bei .NET, aber in der Praxis ist das dann eben nur so halbgar, da MS selbst früher kein großes Interesse daran hatte diese Umgebungen zu stärken - das Kompatibilitätsargument von MS kam damals IMHO in erster Linie, um Entwickler auf der eigenen Plattform zu halten, da es ja "theoretisch" woanders auch funktionieren müsste, mit einigen Nacharbeiten, bis auf Thema X und Y, aber egal. Und in der Praxis fragt dann hinterher keiner mehr, Thema durch... ;)
Diese Argumente stimmen natürlich für .NET Framework und ASP.NET, allerdings verlieren sie einiges an Zugkraft, wenn es um .NET Core und ASP.NET Core geht. Die sind neu entwickelt worden, mit der Platformunabhängigkeit im Fokus. Und meiner Erfahrung nach läuft der Stack unter Linux sogar noch ein paar Takte schneller als unter Windows.

Die gleiche Erfahrung sagt mir auch, dass man im Bereich Industriesoftware mit C++ und C# deutlich weiter kommt als mit Java. Der TIOBE-Index bildet scheinbar Teile der Welt ab, die ich noch nie gesehen habe (nehmt das nicht so ernst, ist ja nur anekdotische Evidenz  ;) )



Python ist auf der anderen Seite eine ganz tolle Empfehlung und auch sehr einsteigerfreundlich. Und das ganze erstmal als Konsolenapplikation zu bauen und danach eine fancy GUI überzustülpen passt auch gut  :d


EDIT: Jiyu war schneller...  :D

Offline unicum

  • Famous Hero
  • ******
  • Beiträge: 2.847
  • Username: unicum
Re: Softwareumgebung für Charaktergenerator
« Antwort #36 am: 26.02.2020 | 15:11 »
Wie weit ist Java eigentlich von C++ entfernt? C++ war die Sprache in welcher ich auf der Uni am meisten gemacht habe, C# (also die Objektorientierte Seite) eher weniger.

Wenn ich das nächste mal wieder privat viel zeit habe (also eigentlich wohl nie, es sei den ich breche mir ein Bein oder etwas in der Art) will ich privat für mich auch mal wieder (ja wieder) einen charactergenerator schreiben (das lezte war für Rolemaster unter Turbo Pascall,... spagetticode a la 1980er)

Offline 1of3

  • Richtiges Mädchen!
  • Titan
  • *********
  • Proactive Scavenger
  • Beiträge: 18.990
  • Username: 1of3
    • Sea Cucumbers and RPGs
Re: Softwareumgebung für Charaktergenerator
« Antwort #37 am: 26.02.2020 | 15:25 »
Wie weit ist Java eigentlich von C++ entfernt?

Die ersten Java-Versionen haben explizit viel Syntax von C++ kopiert, um die Leute von da anzulocken, nur eben einfacher weil keine Pointer, keine Header-Dateien, keine Macros. Was die neueren Features angeht, haben die Sprachen zwar teils ähnliche Konzepte, aber doch andere Syntax.


Offline sma

  • Hero
  • *****
  • a.k.a. eibaan
  • Beiträge: 1.378
  • Geschlecht: Männlich
  • Username: sma
Re: Softwareumgebung für Charaktergenerator
« Antwort #38 am: 26.02.2020 | 17:05 »
Bei der Frage nach der Programmiersprache wird jeder (auch ich) empfehlen, was er oder sie kennt und/oder gut findet.

Ich möchte daher etwas anders antworten.

Hätte ich die Aufgabe, das Projekt umzusetzen, würde ich zunächst versuchen genauer zu formulieren, was erreicht werden soll. Das ist IMHO die eigentliche Herausforderungen. Die Sprache ist dagegen fast egal. Natürlich färbe ich's daei so ein, wie ich's am besten gebrauchen könnte:

Charakterdaten sollen zentral und online auf einem Server gespeichert werden. Sie können erfasst und angezeigt werden. Die Erfassung unterliegt keinen Regeln. Die Anzeige kann je nach Endgerät unterschiedlich sein, insbesondere sollte eine komfortable Darstellung auf Handys möglich sein; optional auch eine traditionelle Darstellung als PDF.

Es gibt mehrere Nutzer, die sich an dem Server registrieren, anmelden und abmelden können. Nutzer können sich auch löschen (DSGVO lässt grüßen).

Jeder Nutzer kann mehrere Charaktere anlegen, die jeweils eigene Charakterdaten haben. Charaktere können bearbeitet und gelöscht werden. Jeder Charakter hat einen Namen und sie können nach dem Namen sortiert gelistet werden.

Jedem Charakter muss ein System zugeordnet werden. Das System definiert, welche Eingabmaske(n) und Darstellung(en) gewählt werden. Beim Listen wird auch das System angezeigt und kann als Filter (oder Gruppierung) genutzt werden.

Dem Server ist eine feste Menge von Systemen bekannt.

Jedes Charakterdatum hat einen Namen und einen Typ. Optional auch eine Erklärung. Auch wenn ich sagte, dass die Eingabe keinen Regeln unterliegt, kann die Eingabemaske dadurch, dass die Daten typisiert sind, die Eingabe entsprechend beschränken. Typen sind noch geeignet zu definieren, mindestens gibt es aber Text und Ganzzahlen, wo man Länge bzw. Unter- und Obergrenze definieren kann. Nützlich wäre auch einem Datum eine Liste von möglichen Werten zuordnen zu können. Ein weiter Typ ist eine angeordnete Liste von Typen, z.B. Ausrüstungsgegenstände.

Auch die Anzeige kann von den Typen profitieren und etwa Zahlen in Form von Punkten oder Würfelformen darstellen. Schließlich könnte man zu einer Liste möglicher Werte auch noch Details zu jedem Wert annotieren und diese zusammen mit dem Wert anzeigen.

Optional kann man Werten von Würfelformeln zuordnen und dann einen Würfelwurf auslösen. Die Formel muss die üblichen XdY+Z unterstützen und auf als Ganzzahl typierte Charakterdaten zugreifen können.

Das sind erst einmal genug Anforderungen.

Da ich beruflich Software für mobile Endgeräte entwickle, betrachte ich die Anforderungen durch die entsprechende Brille und sehe das Handy als erste Wahl für die Anzeige der Informationen und – mit Einschränkungen – auch für die Eingabe. Wir haben beim Spielen fast alle Tablets, diese möchte ich auch unterstützen, doch ich befürchte, wir sind nicht repräsentativ. Da die Displays zwar immer größer werden, aber nicht für ein klassisches DIN/A4-Charakterblatt ausreichen, habe ich oben extra abstrakter formuliert und spreche absichtlich nicht von Charakterbögen sondern Sammlungen von Daten. Ich stelle mir vor, dass man die Informationen entsprechend für die Bildschirmgröße aufbereitet und nur ausschnittsweise darstellt.

Desktop-Browser sehe ich zweitrangig und auf klassische Desktop-Anwendungen hätte ich persönlich gar keine Lust.

Um möglichst wenig Arbeit mit dem Server zu haben, könnte ich mir Google Firebase als Basis vorstellen. Das kann auch die Nutzerverwaltung inklusive so lästigem Kram "social login" und "password reset" übernehmen. Das der Cloud Firestore "real time" ist, in dem Sinne, dass Änderungen an der Datenbank sofort an alle interessierte Parteien weitergeleitet werden, habe ich zwar nicht explizit als Anforderungen gelistet, stelle ich mir aber als sehr nützlich vor, wenn etwa SL und SP gleichzeitig auf einen "Charakterbogen" schauen wollen und Änderungen vornehmen wollen. Denn eigentlich möchte ich noch ein Gruppen-Konzept, alle Spieler auf den Charakterpool, NSCs und weitere Daten zugreifen können, doch das ist größeres Projekt und hier nicht Thema.

"Web-Technologie", also das Sammelsorium aus HTML, SVG, CSS/SCSS/Less, JavaScript/TypeScript/ReasonML/Elm/... und einer Schar von Rahmenwerken, Bibliotheken und Entwicklungswerkzeugen, ist definitiv ein gangbarer Weg, das Ding zu bauen.

SPA (single page applications) als PWA (progressive web app) wäre hier mein Ansatz und mittels Electron könnte ich dann auch eine Desktop-Anwendung zur Verfügung stellen.

Nachdem React und Angular als UI-Rahmenwerke schon genannt wurden, würde ich noch Vue.js ins Rennen werfen, da ich denke, es ist gerade für Einsteiger einfacher und sein Komponentensystem könnte helfen, gerade was Eingabemasken und Darstellungsmodule angeht, die andere bauen. Storyblok (ein Headless CMS) geht so für sein Admin-UI vor. Und für einen Prototyp von zufällig dem oben beschriebenen Tools haben wir's auch schon mal erfolgreich verwendet.

Wenn ich das ganze hauptsächlich machen würde, ob was neues Ausprobieren zu können, käme auch Svelte in Frage, weil ich dieses UI-Rahmenwerk noch nicht kenne. Und neulich sah ich auf Hackernews auch noch eine neue Programmiersprache, die sich der Idee, SPAs zu schreiben, verschrieben hat. Mir fällt nur der Name nicht mehr ein. Hat den jemand parat?

Für meine primäre Plattform, das Handy (oder Tablets), also iOS und Android als Betriebssysteme, ist aber auch die Entwicklung einer "nativen" Lösung eine Alternative. Hier wäre meine Wahl dann Flutter – einfach weil wir damit sehr gute Erfahrungn in der Firma gesammelt haben. Aber auch für Einsteiger halte ich das tatsächlich für einfacher als der Sprung in die Webwelt, weil man hier ein komplettes "batteries included" Paket bekommt, statt sich zwischen diversen teils widersprüchlichen "best practices" der Web-Entwicklung zu entscheiden. Mit einigen Wochen Einarbeitungszeit sollte man aber auch hier rechnen.

Die Wahl ob Vue oder Flutter würde ich letztlich wohl davon abhängig machen, wie ich die Daten erfassen und anzeigen will. Sollten andere neue Masken für eigene Systeme bauen können? Klingt prinzipiell nach eine guten Idee? Dann braucht man aber ein gutes Plug-in-Konzept.

Mit HTML (oder auch SVG) könnte ich so ziemliches jedes UI bauen bzw. bauen lassen und speziell bei SVG wäre es auch möglich, Editoren wie Figma o.ä. zu benutzen. Bei Flutter müsste ich das in jedem Fall programmieren. Natürlich könnte man sich vorstellen, auch ein Figma-Design automatisch zu konvertieren, aber dann arbeitet man wahrscheinlich länger an so einem Konverter als es dauert, das ganze "per Hand" zu bauen (ich muss es eigentlich wissen, habe ich doch mal einen Sketch nach UIKit-Exporter gebaut). Für Eingabemasken sehe ich ehrlich gesagt einen wirklichen Gewinn in einem grafischen Editor, weil ich diese eh für's Handy sehr einfach und sequentiell gestalten muss und je nach Form automatisch umformatieren muss. Spannend sind eigentlich nur die Erzeugung von PDFs. Ich kenne Bibliotheken sowohl für JavaScript als auch für Flutter und in beiden Fällen ist's anders, als wenn ich UIs baue, somit müsste ich diese so oder so unabhängig vom "normalen" UI betrachten. Aber ich beginne zu schwafeln und darum soll's hier nicht gehen.

Mein Bauch sagt Flutter, weil mir das mehr Spaß macht und IMHO schneller das hochwertigere Ergebnis liefert – nicht dass das bei in erste Linie Formularen und Text wichtig wäre, aber dennoch…  Flutter kann nebenbei auch Web-Anwendungen aus der selben Codebasis erzeugen und Mac-Anwendungen. Irgendwann geht dann auch Windows und Linux, aber das ist mir persönlich eh egal und ich bin mir sicher, zur Google/IO 2020 gibt es auch hier Neuigkeiten.

Das waren dann meine 2 cent.

Offline Harlekin78

  • Adventurer
  • ****
  • Beiträge: 658
  • Geschlecht: Männlich
  • Username: Harlekin78
Re: Softwareumgebung für Charaktergenerator
« Antwort #39 am: 26.02.2020 | 17:16 »
Das waren dann meine 2 cent.
Danke. Das ist ein sehr informativer Beitrag!
“The baby has known the dragon intimately ever since he had an imagination. What the fairy tale provides for him is a St. George to kill the dragon.” - G.K. Chesterton

Offline Grimnir

  • Ritter vom versteckten Turm
  • Hero
  • *****
  • Sänger in Geirröds Halle
  • Beiträge: 1.662
  • Geschlecht: Männlich
  • Username: Grimnir
    • Grimnirs Gesänge
Re: Softwareumgebung für Charaktergenerator
« Antwort #40 am: 26.02.2020 | 17:48 »
Hey Ikarus,

bis jetzt ist ja schon einiges geschrieben worden und ich will auch gar nicht eine neue Meinung zum besten geben, sondern nur die Beiträge von Blechpirat und taranion hervorheben, bevor sie untergehen:

Wie komplex wäre es denn, wenn ein Dritter ein weiteres Spiel-Modul (quasi ein Plugin für ein neues Rollenspielsystem) für deinen Charaktergenerator schreiben würde? Geht das so einfach, oder müsstest du dazu alles mögliche ändern?

Das geht ohne größere Probleme. Das ganze Projekt ist in seinen Grundzügen modular und dafür gebaut, dass es über Plugins erweitert werden kann.
Seit Kurzem kann es auch besser mit Plugins umgehen, die von Dritten stammen und bietet den Entwicklern mehr Kontrolle über Veröffentlichungen.

Ich habe das jetzt nicht besonders hervorgehoben, weil @Ikarus schrieb, dass es ihm um eine Webapplikation geht - das wäre es bei mir nicht. Sollte es eine Desktop Applikation werden, unterstütze ich gerne.


Hier geht es um den Genesis-Charaktergenerator, zwar eine Desktop-Anwendung, aber wirklich ein tolles Tool. Ich vermute, dass es Dir um einen Charaktergenerator für Schatten über Ur geht, also mehr eine nutzbare Applikation zu haben als Web-Entwicklung oder so zu lernen? In dem Fall würde ich Dir tatsächlich zu einem Genesis-Plugin raten, da da viele Elemente wie Erfahrungspunkteverteilung schon integriert sind. Das ist zwar eine Desktop-Applikation, aber zumindest für die drei großen PC-Betriebssysteme zu nutzen. Vermutlich wäre das der schnellste Weg, um zu einem nutzbaren Ergebnis zu kommen.
Selber Regelwerke schreiben zeugt IMHO von einer reaktionär-defaitistischen Haltung [...]

Vergibt Mitleidspunkte...
... und hetzt seine Mutter auf unschuldige Tanelornis (hier der Beweis)

Offline AesSedai

  • Bloody Beginner
  • *
  • Beiträge: 21
  • Geschlecht: Weiblich
  • Username: AesSedai
Re: Softwareumgebung für Charaktergenerator
« Antwort #41 am: 26.02.2020 | 18:05 »
Wo wir gerade munter Sprachen durch die Gegend werfen:


Ich würde es mit Go machen - wenn's keine Desktopanwendung sein muss. Go ist eine simple, einsteigerfreundliche Sprache. Hat sehr gutes Tooling. Ist statisch typisiert. Kann einfach cross compiliert werden,wenn man verschiedene Leute froh machen will.


Man hat ein einfaches Deployment-Artefakt und muss sich nicht mit Fragen wie: "Was ist eine JVM  wieso brauch ich eine und woher bekomme ich das?" rumschlagen. Einfach das Binary was hinten rausplumpst starten. Läuft.


Nebenbei ist es schnell. Hat Nebenläufigkeit eingebaut. Die Community ist nett. Go ist inzwischen auch erwachsen genug (10 Jahre), um produktiv für alles genutzt werden zu können. Ursprünglich kam die Idee von Google, weil man mit C++ ständig weinen musste, weil es so furchtbar ist.


Die Sprache ist so designed, dass man sich nicht sofort in den Fuß schießt. Es wird sehr gut sicherheitsgepflegt.


Man braucht keinen separaten Webserver, da Go ootB alles hat, was man braucht um eine standalone Web Anwendung zu bauen.
Assets ausliefern lassen ist ein Einzeiler.