Open Registry of Game Information 

  • Datenmodell für Plattformen

  • Hier werden Fachthemen diskutiert. Welche Daten soll das System enthalten? Welche Funktionen soll das Neusystem enthalten?
Hier werden Fachthemen diskutiert. Welche Daten soll das System enthalten? Welche Funktionen soll das Neusystem enthalten?

Moderators: MZ per X, gene

 #37383  by idrougge
 31 Oct 2013, 17:43
Trypticon wrote:
idrougge wrote:
Trypticon wrote: Die PC-98 Serie zählt doch z.B. auch dazu.
Nein, denn PC-98 ist eindeutig als eigene Plattform zu betrachten, genau wie IBM-kompatibeln. PC98-Spiele sind für PC98-Hardware entwickelt und werden vom Betriebssystem nicht geholfen.
Ich verstand den ursprünglichen Hinweis auf "Nicht-IBM Kompatible" von MZ per X und deine Antwort darauf bezugnehmend auf Systeme wie DEC Rainbow, Texas Instruments Professional etc. Diese haben eben tatsächlich nur eine relative begrenzte Spieleauswahl , wären aber trotzdem jeweils eine eigene Plattform nach meinem bisherigen Verständnis. Freilich gilt das auch für den PC-98, mit dem Unterschied, das es dafür tausende von Spielen gibt.
Die einfachste Lösung wäre vielleicht, einfach nachzugucken, ob es Spiele geben, die ausdrücklich als für DEC Rainbow entwickelt angegeben sind. Wenn ja, schaffen wir eine eigene Plattform dafür.
Wenn es Spiele gibt, die für MS-DOS entwickelt sind, und auf einem Vielfalt von nicht-IBM-Kompatiblen laufen, würde ich mich eher nicht darum kümmern, sondern sie direkt unter IBM-PC einordnen, denn IBM-PC ist für MS-DOS Mutterplattform und Referenz. Die Tatsache, daß die geringen Spiele auch mit dem Sirius oder Compis hochfahren, kann mittels Tags, Trivia oder Wiki-Kategorien angegeben werden.
Trypticon wrote:Im Gegensatz zu den relativ früh "ausgestorbenen" westlichen X86 Alternativen zu IBM gibt's für die PC-98 Serie (und FM Towns) auch Windows inkl. Direct-X, um noch diesen Aspekt aufzugreifen. Das OS ist dann zwar wieder angepasst, aber da wird soweit ich weiss eine Cross-Kompatibilität hergestellt die es mit DOS nicht gibt.
Hier gibt es auch eine einfache Methode, die richtige Plattform herauszufinden:
Wird PC98-Hardware benötigt? Wenn ja, ist es als PC98-Spiel einzutragen. Wenn nicht, PC-Spiel.

Warum? Weil es auch in Japan IBM-Kompatiblen gaben.
 #37401  by MZ per X
 01 Nov 2013, 23:11
idrougge wrote:Ich bin nicht überzeugt, daß die Trennung zwischen Hardware und Software so wichtig ist. Hilfreicher wäre, eine unterteilung einer Hauptplattform in Unterkategorien.
Lass mich mal versuchen, Dich zu überzeugen. :) Wenn man sich die Beispielliste anschaut...
idrougge wrote:Ich stelle mich es wie unten vor:

Amiga "Booter" ---> Amiga>>Amiga OCS/ECS und Angabe "Bootbar" unter Hardwarebedingungen.
Amiga ---> Amiga hat Unterkategorien Amiga OCS/ECS, Amiga AGA, vielleicht auch Amiga NG oder so was.
PC Booter ---> IBM-Kompatible>>OS independent – oder soll das direkt under IBM-Kompatible sein?
DOS ---> IBM-Kompatible>>MS-DOS
Windows ---> OS-kompatible HW>>Windows
Linux ---> soll das vielleicht die Unterkategorie Linux>>IBM-PC beinhalten? Linuxspiele sind normalerweise entweder Open Source-Spiele die auf jeder Linuxversion und auf jedem Hardware läuft, oder kommerziellen Umsätzungen die nur für x86-Linux disponibel sind.
PlayStation ---> Playstation ist Playstation und braucht keine Unterkategorien.
Browser ---> HW independent>>HTML/Flash/... – Stimme zu.
Z-Code ---> HW independent>>Z-Code – Z-Code und ähnliche SW-Plattformen ist auch ein Grund, Softwareplattform nicht als Unterkategorie von Hardwareplattform zu betrachten.
... dann gibt es dort vier Kategorien von Spielen:
1) Spiele, die ein bestimmtes OS benötigen
2) Spiele, die eine bestimmte Hardware benötigen
3) Spiele, die eine bestimmte Hardware und ein bestimmtes OS benötigen
4) Spiele, die weder eine bestimmte Hardware noch ein bestimmtes OS benötigen, solange ihre Laufzeitumgebung vorhanden ist

Mit einem herkömmlichen Plattform-Modell sind die Fälle 1, 2 und 4 kein Problem, der Fall 3 aber schon. Um diesen Fall abzubilden, muss man die üblichen Verrenkungen und Verallgemeinerungen machen, die wir alle in diesem Thread genannt haben:
- "PC" ist nur noch IBM-Kompatible, die anderen Plattformen werden meist ignoriert
- "DOS" wird mit MS-DOS gleichgesetzt, obwohl CP/M auch mal einen gewissen Marktanteil hatte
- "Linux" läuft nur noch auf IBM-Kompatiblen
- Oder es gibt sich überlappende Kompatibilitätslisten wie "Linux-->IBM-Kompatible" neben "PC--> Linux".
- und so weiter und so fort

Wenn ich mir diesen Infocom-Bestellzettel von weiter oben ansehe, dann bin ich ganz ehrlich: Ich will das nicht mehr. Wir können es besser machen als das, und wir sollten - mit einem Zwei-Plattform-Modell. Und die von Dir genannten Unterkategorien wird es trotzdem geben: Sei es als Subplattformen für Hard- oder Software oder als (noch nicht implementierte) technische Spezifikationen ähnlich MobyGames, wir werden eine genauere Unterteilung haben.
idrougge wrote:Windows, zumindest was wir täglich Windows nennen, ist nach meinem gewissen kein Multi-Plattform-OS. Oder?
Es war mal ein Multi-Plattform-OS, zumindest für kurze Zeit. Aber Du hast schon recht, ich bezweifele, dass es für die DEC-Alpha-Version von Windows NT 4.0 Spiele gab. :)
idrougge wrote:Ich will mich also möglichst nah an den natürlichen, historischen (oder sagen wir vielleicht organischen?) Plattformsdefinitionen legen.
Okay, das verstehe ich. Aber können wir nicht beides haben? Vorschlag:

Wir benutzen intern das Zwei-Plattform-Modell, definieren aber zusätzlich im Hintergrund die "natürlichen" Plattformen als eine Liste verschiedener Hard-/Software-Kombinationen. "PC" wäre dann zum Beispiel "IBM-Kompatible" + "Microsoft Desktop OS". Im nächsten Schritt geben wir dem User die Möglichkeit, sich die ganze Website im einfachen Plattform-Modell oder dem komplizierteren Zwei-Plattform-Modell anzeigen zu lassen. Die Experten werden das komplexe Modell schnell lieben lernen, während der "casual user" nicht auf seine althergebrachten Plattformen verzichten muss.

Wie wäre das? :)
 #37405  by idrougge
 02 Nov 2013, 23:33
MZ per X wrote:
idrougge wrote:Ich bin nicht überzeugt, daß die Trennung zwischen Hardware und Software so wichtig ist. Hilfreicher wäre, eine unterteilung einer Hauptplattform in Unterkategorien.
Lass mich mal versuchen, Dich zu überzeugen. :) Wenn man sich die Beispielliste anschaut...

... dann gibt es dort vier Kategorien von Spielen:
1) Spiele, die ein bestimmtes OS benötigen
2) Spiele, die eine bestimmte Hardware benötigen
3) Spiele, die eine bestimmte Hardware und ein bestimmtes OS benötigen
4) Spiele, die weder eine bestimmte Hardware noch ein bestimmtes OS benötigen, solange ihre Laufzeitumgebung vorhanden ist

Mit einem herkömmlichen Plattform-Modell sind die Fälle 1, 2 und 4 kein Problem, der Fall 3 aber schon. Um diesen Fall abzubilden, muss man die üblichen Verrenkungen und Verallgemeinerungen machen, die wir alle in diesem Thread genannt haben:
- "PC" ist nur noch IBM-Kompatible, die anderen Plattformen werden meist ignoriert
- "DOS" wird mit MS-DOS gleichgesetzt, obwohl CP/M auch mal einen gewissen Marktanteil hatte
- "Linux" läuft nur noch auf IBM-Kompatiblen
- Oder es gibt sich überlappende Kompatibilitätslisten wie "Linux-->IBM-Kompatible" neben "PC--> Linux".
- und so weiter und so fort
Ich habe nichts gegen solche Verallgemeinerungen – wenn man im Wald steht, ist es manchmal schwierig den Wald wegen der Bäume zu sehen. Eigentlich ist das was ich die ganze Zeit behauptet habe: das Betriebssystem heißt so oder so, aber das HW bleibt und die Entwickler machen sich keine Mühe, auf der neuen Version des Betriebssystems umzustellen, denn es ist ein langsamer Übergang.

Das einzige Problem, das ich sehen kann, heißt Linux. Aber unübersteigbar ist es auch nicht; genau wie man in der PC-Plattform angibt, ob das Spiel nur mit CGA-Grafik oder auch mit Hercules oder EGA läuft, kann man in den Systemvoraussetzungen von Linux angeben, ob das Spiel für Intel oder PowerPC erhältlich ist, oder ob es Architekturunabhängig ist.
MZ per X wrote:Wenn ich mir diesen Infocom-Bestellzettel von weiter oben ansehe, dann bin ich ganz ehrlich: Ich will das nicht mehr. Wir können es besser machen als das, und wir sollten - mit einem Zwei-Plattform-Modell. Und die von Dir genannten Unterkategorien wird es trotzdem geben: Sei es als Subplattformen für Hard- oder Software oder als (noch nicht implementierte) technische Spezifikationen ähnlich MobyGames, wir werden eine genauere Unterteilung haben.
Ich will auch nicht den Infocomzettel abbilden, denn er war an einer bestimmten Situation orientiert. Hilfreich ist er aber schon, weil er die Lücken jedes Systemes auffällig macht.

Meine Kritik gegen die Aufteilung in Hardwareplattform und Softwareplattform besteht darin, daß sie für die Situation an Hand nicht relevant ist, und was einfach ist komplizierter macht.
MZ per X wrote:
idrougge wrote:Windows, zumindest was wir täglich Windows nennen, ist nach meinem gewissen kein Multi-Plattform-OS. Oder?
Es war mal ein Multi-Plattform-OS, zumindest für kurze Zeit. Aber Du hast schon recht, ich bezweifele, dass es für die DEC-Alpha-Version von Windows NT 4.0 Spiele gab. :)
Ach, wie konnte ich das vergessen! Ich habe sogar als ich mit 14 bei DEC Praktikum machte, auf der Installation von einem Alphaserver mit NT 3.51 teilgehabt. Und zwar gibt es Spiele dafür: Minesweeper und Solitaire. Ich will aber nicht zulassen, daß die zwei Beispielen zu eine Verwildung von Oregami führen.
MZ per X wrote:
idrougge wrote:Ich will mich also möglichst nah an den natürlichen, historischen (oder sagen wir vielleicht organischen?) Plattformsdefinitionen legen.
Okay, das verstehe ich. Aber können wir nicht beides haben? Vorschlag:

Wir benutzen intern das Zwei-Plattform-Modell, definieren aber zusätzlich im Hintergrund die "natürlichen" Plattformen als eine Liste verschiedener Hard-/Software-Kombinationen. "PC" wäre dann zum Beispiel "IBM-Kompatible" + "Microsoft Desktop OS". Im nächsten Schritt geben wir dem User die Möglichkeit, sich die ganze Website im einfachen Plattform-Modell oder dem komplizierteren Zwei-Plattform-Modell anzeigen zu lassen. Die Experten werden das komplexe Modell schnell lieben lernen, während der "casual user" nicht auf seine althergebrachten Plattformen verzichten muss.

Wie wäre das? :)
Was wäre der Sinn? Die Übersetzung zwischen zwei Systemen verschiedener Art ist immer problematisch, und wenn keine Probleme auftreten, hat man eigentlich nur ein einziges System mit zwei Namen.

Als Datenmodell seht es zwar elegant aus, mit Mehrlagersysteme wo alles in jedem Lager vertreten ist, aber mit der heutigen Computertechnik ist es überhaupt nicht notwendig solche Symmetrie nachzustreben.
 #37450  by MZ per X
 06 Nov 2013, 23:28
idrougge wrote:Ich will auch nicht den Infocomzettel abbilden, denn er war an einer bestimmten Situation orientiert. Hilfreich ist er aber schon, weil er die Lücken jedes Systemes auffällig macht.

Meine Kritik gegen die Aufteilung in Hardwareplattform und Softwareplattform besteht darin, daß sie für die Situation an Hand nicht relevant ist, und was einfach ist komplizierter macht.
Okay, dann sind wir offensichtlich einfach unterschiedlicher Meinung, wie das Endprodukt Oregami aussehen soll. Ich bin der Meinung, wir sollten die verfügbaren Plattformen so genau wie möglich abbilden. Und so kompliziert empfinde ich das Zwei-Plattformen-Modell gar nicht. Mit ein wenig Gewöhnung sollte es einfach verständlich sein, denke ich. Ich habe dazu mal im englischen Teil einen neuen Thread eröffnet, bin gespannt, wie andere Leute dazu denken. :)
 #38084  by wingi
 28 Jun 2014, 15:36
Hallo,

ich mische mich mal nach 14 Monaten Inaktivität ein.

MZ per X ist auf dem richtigen Weg und das Datenmodell sieht gut aus.

Ich gehe mal von der anderen Seite ran, vom Endkunden: Der will ein Spiel eintippen und bekommt eine z.B. einfache Zeile für das System / OS. Er wird dann einfach das eintippen, was er weiß bzw. auf der Packung steht. Als Beispiel hier ein paar aus meiner PC-Sammlung:
  • IBM PC 5.25
  • MS-DOS VGA 3.5" HD
  • PC, XT, AT, PS VGA/EGA/CGA
  • IBM PC requires Hard drive or two floppy drives, runs on PCs, XTs, PS2 or Tandy 1000 Serien
  • IBM PC, PCjr, XT, AT (PC DOS 2.0 and MS-DOS 2.0), compatibles: TI Professional, Wang, Sanyom Leading Edge, AT&T
  • IBM/PC 286 and 100% compatible; requires 2MB RAM, VGA and Harddrive
  • Windows 95 CD-ROM, requires pentium processor 90 MHz
Damit wären sogar noch mehr Infos vorhanden, als notwendig (z.B. iIch unterschiede auch die 5.25" von der 3.5" Variante). Diese Liste kann man für nicht PC-Spiele auch weiter führen.

Aber schon mit der Eingabe der ersten Wörter kann mit Auto-Vervollständigung auf die wenigen möglichen Kombinationen eingrenzen und die Eingabe beschleunigen. Bei manchen Eingaben ist es dann die Hardware, bei anderen nur das Betriebssystem und irgendwann auch die passende Kombination. Wenn man die Vorschläge nach Häufigkeit sortiert, ist das schon mal ein guter Anfang. Diese ewig langen SELECT-Menü's waren mir immer mühselig.

Beispiele (per suchen im wiki validiert):
  • Ami -> es werden die 5 Amiga Varianten angegeben, obwohl Amiga 500/1200 häufiger sind
    Win -> es kommen alle erwarteten Windowsvarianten, aber auch WindowsPhone
    VGA -> kommt kein Treffer, wird aber auf PC / MS-DOS hinweisen
    PC -> hier sind dann recht viele Treffer
    Nin -> die übersichtliche Liste der Nintendo Systeme
Wenn man in der Eingabemaske das Erscheinungsjahr vorher eintragen würde, kann man die Vorschlagsliste noch eindeutiger machen!

Mein Einwurf: Man sollte das ausgetüftelte Datenmodell nicht 1:1 als Eingabemasken bauen. Wichtig ist, das man eine Eingabe richtig und einfach zuordnen kann.

Jetzt aber noch ein Rückschlag. Ich habe ein Spiel, welches Datenträger für Windows + Mac hat - sollte es dann keine 1:n Beziehung sein? Und ein Linux Spiel kann auch in Sourcecode kommen und damit auf PC / MAC / RasperryPI und anderen laufen - also sollte die Hardwareplattform auch leer sein?
 #38092  by gene
 29 Jun 2014, 23:02
Erstmal: willkommen zurück! :D

Zum Thema: Auto-Complete Eingabemasken machen auf jeden Fall Sinn, ja.
Ziemlich vorbildlich finde ich hier Jira, z.B. bei der Vergabe von "Components" oder "Labels": Ein Textfeld kann zur Eingabe mehrerer Einträge verwendet werden, mit Unterstützung eines solchen "auto completes":
Image
Sehr intuitiv!
wingi wrote:Jetzt aber noch ein Rückschlag. Ich habe ein Spiel, welches Datenträger für Windows + Mac hat - sollte es dann keine 1:n Beziehung sein? Und ein Linux Spiel kann auch in Sourcecode kommen und damit auf PC / MAC / RasperryPI und anderen laufen - also sollte die Hardwareplattform auch leer sein?
Hmm, gute Fragen. Die sollten mal die Plattform-Experten hier begutachten :P
 #38101  by MZ per X
 03 Jul 2014, 22:49
wingi wrote:MZ per X ist auf dem richtigen Weg und das Datenmodell sieht gut aus.
Endlich mal jemand, der meine Genialität im Ansatz erkennt! :mrgreen:
wingi wrote:Aber schon mit der Eingabe der ersten Wörter kann mit Auto-Vervollständigung auf die wenigen möglichen Kombinationen eingrenzen und die Eingabe beschleunigen.
Eine gute und hilfreiche Suchfunktion ist extrem wichtig, hier müssen wir uns unbedingt positiv von anderen Datenbanken abheben.
wingi wrote:Mein Einwurf: Man sollte das ausgetüftelte Datenmodell nicht 1:1 als Eingabemasken bauen. Wichtig ist, das man eine Eingabe richtig und einfach zuordnen kann.
Zustimmung! Die Datenmodellierung ist die eine Seite, ein gutes Benutzer-Interface was völlig anderes.
wingi wrote:Jetzt aber noch ein Rückschlag. Ich habe ein Spiel, welches Datenträger für Windows + Mac hat - sollte es dann keine 1:n Beziehung sein?
Wir lösen das Problem der Multi-Plattform-Veröffentlichungen so: Das Spiel bekommt eine Veröffentlichungsgruppe (VÖG) für Windows und eine für Mac. Das Veröffentlichungs-Objekt (VÖ) wird dann beiden Grupppen zugeordnet. VÖG und VÖ stehen also in einer m:n-Beziehung zueinander.
wingi wrote:Und ein Linux Spiel kann auch in Sourcecode kommen und damit auf PC / MAC / RasperryPI und anderen laufen - also sollte die Hardwareplattform auch leer sein?
Hmm, grübel. Der Quellcode muss ja erst für jede Hardware-Plattform kompiliert werden, bevor er dort als Anwendung läuft. Kann er für eine Hardware kompiliert werden, ist es meiner Meinung nach eine Veröffentlichung für diese Hardware-Plattform, die dann ein entsprechendes Business Model zugewiesen bekommt. Ein weiteres Beispiel aus diesem Bereich sind Game Listings, zB in BASIC-Büchern oder Zeitschriften. Die muss man erst in einem BASIC-Interpreter, der auf irgendeiner Hardware läuft, eintippen und starten, bevor man sie spielen kann.